问个程序运行时间的问题。一个单线程程序单个跑大概一个小时。那么多个这程序在多核电脑一起跑也只需要跑一个小时吗?

2018-07-10 11:06:08 +08:00
 dychenyi
这个程序是电路 vcs 验证方面仿真程序。执行文件大概 2 个 G,源码有,但是写的非常复杂,涉及到太多 option,太多第三方工具,这边先不管源码。
我用 top -H,手册中说:-H : Threads toggle,查看得知他是一个单线程程序。只有一个线程,并且运行时 cpu load99.9%这样,没有超过 100%。这台电脑 2 个 28 核 CPU,768G 内存,没有别人用。 这是前提。
我自己用脚本测试了下,复制这个程序 50 份到不同目录并且开跑, 每个进程占用 5G 内存,按道理这是个 56 核 768G 内存的服务器还未占满,每个进程如果没有互相死锁抢占共享资源,没有等待三方 tool license,没有磁盘 IO 瓶颈(仿真过程中基本不写磁盘),这样情况下,1 个跑 1 小时,那么 50 个也就跑 1 个多小时是不是就结束了? 现在情况是需要 10 个小时才能结束。有点搞不清楚了。何解?
1366 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/469511

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX