支持SPITZ程序的AWS spot orchestrator
cloud-pits的Python项目详细描述
CloudPITS/实例选择
这是云坑背后的最初想法,它包括选择一组实例,为每个实例提供一个价格 执行给定的SPITS代码的成本比小于用户定义的输入量。 由于这是一个原型,它仍然有很多局限性,还不能用于一般用途。但是将军 算法背后的想法就在这里。
免责声明
这仍然是一个概念的证明。用于验证的SPITS程序计算零偏移量非双曲型 共反射面(DOI:10.1111/j.1365-2478.2012.01055.x)参数,因此有一些参数 是为那个特定的软件量身定做的。这还不是通用的任何SPITS程序!
如何工作
实例选择算法与包含先前执行性能的存储数据库一起工作 测量。通过使用相同实验的先前执行信息,可以推断 当前的实验将执行,因此允许我们创建一个良好的初始实例轮询。另外,通过 定期验证实例的执行情况以及在给定时刻的开销,这是可能的 选择性能更好的机型。
以下是三个主要文件(它们的输入/输出在各自的标题中描述):
launch/create_ondemand_jm.py
populate/simulation.py
populate/to_execute.py
第一个(启动/创建_ondemand_zocromp_吉咪·皮)用于启动应作为 主实例(作业管理器和实例选择器)。因此,有必要在 user_data变量插入用于调用“to”的代码_执行.py“调用此实例选择算法的代码 然后启动作业管理器流程。
第二个模拟一个执行,给定先前存储在数据库和价格日志中的信息 存储在文件中(填充/日志_价格.csv). 这允许用户模拟每个输入要花多少钱 价格。
最后一个是要执行的实际Python脚本,在这个脚本中,脚本将开始对实例和 然后,不时验证是否有实例的性能低于所需的成本与性能阈值。 用更好的类型替换性能较差的类型。
数据库
该算法从“rds”中配置的数据库中提取信息_配置.py“文件。数据库应该是 称为“实验”,并有如下图所示的表格。有一个SQL脚本来生成它 在文件夹“databases/”中。
绩效衡量报告
worker实例必须通过CloudWatch向作业管理器报告其性能。用户需要这样做 创建具有以下特征的新度量:
^{pr2}$此报告还将访问上述数据库,以便将来执行时使用它们。而且,它们是强制性的 实例选择Python脚本可以为SPITS程序选择实例的初始轮询 优化。
依赖性
程序有一些依赖关系。可以使用python pip命令安装它们:
python3 -m pip install --user -r requirements.txt
大多数Python包都已经安装了一些依赖项,但是其中两个不包括在内,即:
boto3: To access the AWS instances
pymysql: To enable Python to access a MySQL database and perform queries
关于所有文件的更多信息都在他们自己的文档中。
- 项目
标签: