支持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

关于所有文件的更多信息都在他们自己的文档中。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JSON解析(700 KB文件)与Jackson一起耗时30秒   传入参数错误的Java泛型   java测试我的UserService类,但需要模拟一个同时被调用的方法   java Selenium Webdriver sendKeys在IE11 32位中输入值,然后将其删除   具有旧语义的java Invokespecial:调用其他类的实例方法   java如何从给定字符串获取描述中的预期输出   java JavaFX哪种事件侦听器方法更有效?   java使用AJAX调用输出存储为BLOB的PDF文件内容,而不创建文件   java无法配置EntityManagerFactory JPA   java无法单击listview项来更改活动   java为什么UriComponentsBuilder忽略空查询参数?   java加速CoreNLP情感分析   java如何在新的PlayServicesArby中实现抽象类EndpointDiscoveryListener和ConnectionRequestListener?   java如果我的类已经在扩展另一个类,如何使用unicastremoteobject。。。?   JavaJSPinnerGetValue返回相同的值   mongodb和springboot中具有条件的java计数数组对象   java如何将JavaFX11项目导出到Jar中?   JavaSpring验证字符串值是一个JSON