[超难问题]在多核系统开发中,如何利用和控制资源(包括:CPU利用率、Cache等)

tonnyue 2006-12-06 10:38:38
在多核系统开发中,如何充分利用或控制多核的资源以达到优化或控制系统的目的?在一个具体的应用中,一个线程可能在一段较长的时间内100%的利用一个Core,但我需要控制CPU的利用率,让其他的线程也可以利用该Core。因此,问题是:
可不可以对一个特定的线程仅设置80%的利用率,另外的20%的资源可以供其他的线程分享?
...全文
748 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyingdog 2006-12-19
  • 打赏
  • 举报
回复
你可以设置进程和线程的优先级,可以暂时放弃cpu资源等。这些可以参考windows的api。
在默认情况下,进程和线程的资源占用都是平等的。只要2个线程同时都有计算任务,不可能出现一个线程100%,另外一个线程没分配到的情况的。
至于cache,是对程序透明的,没法控制。但是可以使用cache预读指令。这个可以查icc的文档。
oldliu 2006-12-14
  • 打赏
  • 举报
回复
多核?木有概念。。。刚毕业。。关注中………………
tonnyue 2006-12-09
  • 打赏
  • 举报
回复
欢迎作多核程序设计的可以一起交流!!
  • 打赏
  • 举报
回复
我的板子是技嘉的 GA-6BXD,PCB 版本号 1.6,BIOS 更新到最新。跳线在 100MHz/5.0X,装上 2 只原装 OEM PIII500 CPU,Solt1 接口,开机能够认到 2 个 CPU,显示

INTEL 440BX CHIPSET
VCORE1=2.00V VCORE2=2.00V
INTEL PENTIUM III-MMX CPU 500MHz , 2 Processor(2)
<CPU2 ID=0636><PATCH ID=0035><CPU1 ID=0636><PATCH ID=0035>
Memory Testing... 1048576KB OK.

但是无论安装 WinNT 4.0 Win2000 Pro/Server WinXP 都不能识别 2 个 CPU,任务管理器只有 1 个,任务管理器的图表菜单中也没有每个CPU一个图表的选项。

请教这是怎么回事?
tonnyue 2006-12-06
  • 打赏
  • 举报
回复
Windows API 提供了绑定一个进程(线程)至特定的Core,但没看到解决上述问题的方法?不知Intel是否有类似解决方案,当然,排除虚拟机的解决方案,其解决复杂度太高了(也许本人水平有限吧)。请高手不吝赐教!
也欢迎有兴趣的朋友一起讨论!
QQ:57960397

566

社区成员

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

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