问题描述
第一次在这里发帖,所以首先非常感谢这个非常有帮助的社区!
我正在使用 Ray 和 Python 3.6 运行并行生物信息学计算。 我已将其设置为在 Ubuntu 18 上的具有 64 个内核的 AWS EC2 实例上运行。我必须补充一点,我对 Python 尤其是 Ray 还很陌生。
代码是:
@ray.remote
def calculate_stuff(sequence): # computationally intensive function calling on external SWIG wrapped C-Code
fc = external_function(sequence)
return fc
ray.init()
result_ids = []
for i in permutlist: # permutlist is large list containing large strings (300 - 1000 chars)
result_ids.append(calculate_stuff.remote(i))
allmfe = ray.get(result_ids)
这段代码运行了好几个小时,一个calculate_stuff循环需要大约1s。
我使用 tmux 运行脚本,当我离开会话并使用 mpstat -P ALL
检查 cpu 使用率
输出是:
09:37:22 cpu %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
09:37:22 all 62.16 0.00 0.26 0.00 0.00 0.01 0.00 0.00 0.00 37.56
09:37:22 0 62.28 0.00 0.26 0.00 0.00 0.05 0.00 0.00 0.00 37.41
09:37:22 1 62.22 0.00 0.25 0.00 0.00 0.02 0.00 0.00 0.00 37.51
09:37:22 2 62.24 0.00 0.26 0.00 0.00 0.01 0.00 0.00 0.00 37.48
09:37:22 3 62.27 0.00 0.26 0.00 0.00 0.01 0.00 0.00 0.00 37.46
09:37:22 4 62.37 0.00 0.29 0.00 0.00 0.01 0.00 0.00 0.00 37.33
09:37:22 5 62.23 0.00 0.28 0.00 0.00 0.01 0.00 0.00 0.00 37.48
09:37:22 6 62.24 0.00 0.27 0.00 0.00 0.01 0.00 0.00 0.00 37.48
对于所有 64 个内核,这看起来都一样。
我现在的问题:为什么我的 cpu 使用率只有 2/3,而在空闲时浪费了 1/3?
任何可以帮助我节省时间和金钱的人都非常受欢迎。谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)