为CWL工作流返回给定输入大小和参数的总空间、内存、CPU的基准函数

Benchmark-4dn的Python项目详细描述


repo包含4dn-dcic(https://github.com/4dn-dcic/pipelines-cwl)使用的一些cwl工作流的基准测试脚本,该脚本返回每个给定输入大小所需的总空间、mem和cpu以及推荐的aws ec2实例类型。

Build Status

基准测试脚本的示例用法

  • 导入模块
fromBenchmarkimportrunasB
  • MD5
app_name='md5'input_json={'input_size_in_bytes':{'input_file':20000}}B.benchmark(app_name,input_json)
{'aws': {'recommended_instance_type': 't2.xlarge', 'EBS_optimized': False, 'cost_in_usd': 0.188, 'EBS_optimization_surcharge': None, 'mem_in_gb': 16.0, 'cpu': 4}, 'total_size_in_GB': 14.855186462402344, 'total_mem_in_MB': 13142.84375, 'min_CPU': 4}
  • fastqc-0-11-4-1
app_name='fastqc-0-11-4-1'input_json={'input_size_in_bytes':{'input_fastq':20000},'parameters':{'threads':2}}B.benchmark(app_name,input_json)
{'recommended_instance_type': 't2.nano', 'EBS_optimized': False, 'cost_in_usd': 0.006, 'EBS_optimization_surcharge': None, 'mem_in_gb': 0.5, 'cpu': 1}
  • BWA内存
app_name='bwa-mem'input_json={'input_size_in_bytes':{'fastq1':93520000,'fastq2':97604000,'bwa_index':3364568000},'parameters':{'nThreads':4}}B.benchmark(app_name,input_json)
{'aws': {'cost_in_usd': 0.188, 'EBS_optimization_surcharge': None, 'EBS_optimized': False, 'cpu': 4, 'mem_in_gb': 16.0, 'recommended_instance_type': 't2.xlarge'}, 'total_mem_in_MB': 12834.808349609375, 'total_size_in_GB': 15.502477258443832, 'min_CPU': 4}

要在其他位置使用基准测试,请按如下所示安装它。

pip install Benchmark-4dn

pip install git+git://github.com/SooLee/Benchmark.git

注意:在0.5.3中,我们有一个新函数,它接收CPU和内存,并返回一个已排序的实例字典列表。

get_instance_types(cpu=1, mem_in_gb=0.5, instances=instance_list(), top=10, rank='cost_in_usd')

每个实例字典中的键:

'cost_in_usd', 'mem_in_gb', 'cpu', 'instance_type', 'EBS_optimized', 'EBS_optimization_surcharge'

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

推荐PyPI第三方库


热门话题
IE中的java跨域cookie问题   重复java中已经满足的循环   编译java RMI服务器时出错   JavaServlet POST中作为参数传递的javascript大型JSON数组数据为空   java片段未每次刷新/调用   java无法编译。错误消息   java如何构造大型类?   java Hibernate:TableThingsDB。事情并不存在   java如何操作从匹配项创建的数组。发现   循环以搜索和显示数组Java的某些部分   加载或注册SQLite JDBC驱动程序时出现java问题   活动和服务之间的java连接   JavaGWTG2D:ie8中的drawImage   java在安卓中设置hessian阈值   在Tomcat中使用Logback时发生java错误