双CPU的机器任务怎么调度?

发布于 2022-09-18 23:30:19 字数 284 浏览 7 评论 0

第一次来这个版
不知道下面我问的这个问题是否适合发在这个版上

换了个机器,主板上两个cpu,早几年的intel至强cpu,都是单核吧

现在我后台运行几个计算程序,都要算几个小时
但是我用top命令查看cpu,发现使用率就在50%左右
是不是另外一个cpu没有被利用?
我应该怎样提交程序运行才能充分利用两个cpu

好像有个nice的命令来进行进程调度
不明白进程,线程调度这些东西

请大家给我讲讲,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

苦行僧 2022-09-25 23:30:19

你一个调度单位(进程或者线程)怎么跑两个核?

凡间太子 2022-09-25 23:30:19

建议LZ注意以下几点:

1.   你的几个计算程序是封闭纯计算还是有跟其它程序和IO的交互的?
2.   你的双CPU的关系是可以同时工做的还是CPU 级HA的?
3.   你的程序的运行环境大概是什么样的?
4.   你的计算程序大致的情况?

垂暮老矣 2022-09-25 23:30:19

多个不同的计算程序可在不同的CPU上并行,当然有IO和无IO的效果又有区别,对与同一个程序,要想利用多CPU,那就要处理好粒度问题了,关键是你的一个任务里是否有可以并行的单元,否则多CPU是帮不上忙的!

悟红尘 2022-09-25 23:30:19

我这个机器用来计算的都是串行的程序
并行的计算在机群上通过MPI并行

在这台双cpu的机器上,具体的情况是做一些数据分析什么的,计算时间半个小时到两三个小时

一般是同一个程序,在不同目录下都有拷贝,运行的时候参数不一样,每个程序运行相互独立。
或者不同的程序做不同的数据计算和分析。

牵你手 2022-09-25 23:30:19

原帖由 xiongzm 于 2008-5-21 11:55 发表
我这个机器用来计算的都是串行的程序
并行的计算在机群上通过MPI并行

在这台双cpu的机器上,具体的情况是做一些数据分析什么的,计算时间半个小时到两三个小时

一般是同一个程序,在不同目录下都有拷贝, ...

那应该程序间至少可以并行.  建议观察一下每个CPU在运算过程的波动情况!

浅语花开 2022-09-25 23:30:19

原帖由 system888net 于 2008-5-21 12:13 发表

那应该程序间至少可以并行.  建议观察一下每个CPU在运算过程的波动情况!

程序间至少可以并行:
这个怎么理解?是说写成并行代码?这个不好弄,不同的参数,计算时间相差很大,线性,有的是平方时间复杂度。

观察一下每个CPU在运算过程的波动情况
弱问:怎么查看每个CPU的波动情况?
我用top命令,没带任何参数,没看到多个CPU。下面这个链接里面,列出了4个CPU的情况?
http://hi.baidu.com/kyako/blog/item/79e3425425731f54574e0025.html

另外一点不理解:

我在这台机器上后台运行一个程序的时候,cpu显示利用在25%左右
同时运行两个程序的时候,cpu显示利用在50%左右
同时运行三个程序的时候,cpu显示利用在75%左右
同时运行四个程序的时候,cpu显示利用在100%左右
同时运行五个程序的时候,cpu显示利用在100%左右

这似乎是4个cpu一样?

而机群上其它的节点和这台机器硬件一样,任务通过pbs提交上去的,也是串行程序,每个节点2个cpu,
我登录过去, top发现两个计算进程,cpu利用率为100%左右。

pbs提交任务,pbs系统是怎么把两个计算任务分别分配给两个CPU的?

↘人皮目录ツ 2022-09-25 23:30:19

不会是有hyperthreading吧。。。

作业与我同在 2022-09-25 23:30:19

原帖由 xiongzm 于 2008-5-21 13:21 发表

程序间至少可以并行:
这个怎么理解?是说写成并行代码?这个不好弄,不同的参数,计算时间相差很大,线性,有的是平方时间复杂度。

观察一下每个CPU在运算过程的波动情况
弱问:怎么查看每个CPU的波动 ...

程序间至少可以并行是指不同的程序在不同的CPU上RUN以提高并行性.
程序运行时,若CPU占用是25%时,分下列几种情况:
1个CPU:  没有用满
2个CPU:  没有用满
4个CPU:  可能用满了一个CPU

程序运行时,若CPU占用是50%时,分下列几种情况:
1个CPU:  没有用满
2个CPU:  可能用满了一个CPU
4个CPU:  可能用满了两个CPU

程序运行时,若CPU占用是75%时,分下列几种情况:
1个CPU:  没有用满
2个CPU:  可能用满了一个CPU
4个CPU:  可能用满了三个CPU

为简单其间可打开linux 上自带的系统监视器查看CPU的波动.

[ 本帖最后由 system888net 于 2008-5-21 16:08 编辑 ]

灼痛 2022-09-25 23:30:19

调度单位间同步使得你的CPU可能不能任何时候都在疯狂的计算

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文