为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第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本