关于多核的疑问:是否有自适应机制?(多核社区解惑月400高分悬赏帖!)

Simore 2007-09-12 04:21:36
注:本贴为“英特尔多核技术社区解惑月”选中的问题,以400高分悬赏征集答案。凡积极参与,提供有效回答者,将平分这400分。

>>>原贴内容:

多核在协作完成同一件任务时,要进行核间通信,虽然通信消耗时间是在芯片级别,但是对于那些单CPU可以完成的简单任务,是不是有些不必要呢?有画蛇添足之感,多核技术是否考虑了自适应机制:哪些任务只启动一个核,不用核间通信就完成,哪些必须双核协作,哪些需要双核并行?

-------------------------


原发贴者:qhlonline (您将获赠300可用分,其中100分在于奖励您提出了1个有效的问题,另外200分在于您的问题被选中作为征集答案的问题。)

关于本次活动详情请看活动页面:http://events.csdn.net/isn/jhy_mc/index.htm

整个活动结束后,所有分数和奖品将会统一发放或寄送,请各位届时查收:)
...全文
155 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyx0507 2007-09-21
  • 打赏
  • 举报
回复
同意8楼的观点,window操作系统都是单用户多任务的操作。当我们同时运行多个程序时。我们的程序需要运行在哪个核上。由操作系统
搞定就可以了。OS会有自己的算法去执行数据的运算。如果是单线程的程序那肯定是运行在一个核上的。如果多线程呢。那就有可能是运行在
多个核上。不知道有没有权威的答案呢?
ajq 2007-09-21
  • 打赏
  • 举报
回复
学习
aero_boy 2007-09-19
  • 打赏
  • 举报
回复
操作系统启动几个核来执行一个程序,取决于你的程序是单线程的还是多线程的,如果是多线程的,很难避免核间通信.要自适应,只能通过自己的程序来判断任务的情况,决定是启动一个线程,还是多个线程.在单线程时,你的程序和数据都是独占的,不和其它程序和线程共享的话,基本能做做,只使用一个核,并且将核间通信降低到最少(既然是多核,核间通信就是不可避免的).
sunnyfun888 2007-09-17
  • 打赏
  • 举报
回复
各个核上的任务调度可以由多核操作系统完成这无需质疑,不过反过来想的话,操作系统也是程序,所以也可以说程序完成了任务的调度。那么就可以认为是否考虑了自适应机制,取决于程序的编写。
土豆 2007-09-14
  • 打赏
  • 举报
回复
多核属于线程级并行处理技术,调度的基本单元是线程,并且调度应该是由多核操作系统完成的,底层的处理器核并不管理调度的事情,它们只是使用到的资源。不知道你所说的“单CPU可以完成的简单任务”是指什么?是一组单CPU完成的线程集呢?还是一个单独的线程?如果是一个单独的线程,那当然不可能同时调度到多个处理器内核上,只能分配给其中一个核去运行,这时候多核的优势并没有体现出来,因为只有一个核在工作而其他的核都在休息。如果是一组线程集,那当然是可以调度到多个核上并行执行。
zhangyixian525 2007-09-14
  • 打赏
  • 举报
回复
多核的出现就是要解决单核CPU在处理速度无法进一步提升这个问题的。对于楼主提出的多核CPU在处理“简单任务”这个假设,Intel的开发工程师很有必要好好的解释一下。我觉得具体我们的应用程序运行在那个核上,应该是有操作系统决定的吧。
zy_914 2007-09-14
  • 打赏
  • 举报
回复
学习
jamesking 2007-09-12
  • 打赏
  • 举报
回复
任务的调度是由操作系统完成的,当然也可以在编程时指定。多核CPU只管执行指令,具体如何分配进程、线程那是操作系统根据CPU内核的负载分配的。
捺捺 2007-09-12
  • 打赏
  • 举报
回复
凑个份子,呵呵
C_247 2007-09-12
  • 打赏
  • 举报
回复
支持,顶

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧