2010年03月22日
据国外媒体报道,微软Windows核心操作系统部门内核设计师戴夫·普罗伯特(Dave Probert)表示,随着处理器集成的内核数量不断增多,当前操作系统的基本设计需要改变。
多核处理器需要操作系统支持才能发挥威力
普罗伯特说,当前操作系统利用多核处理器处理能力的方法非常复杂,不够完美。关键问题不是在并行编程方面投入更多资源,而是重新考虑操作系统的基本设计。目前的计算机并没有充分发挥多核处理器的处理能力。
普罗伯特在微软的工作是开发新一代Windows,但他表示,这一观点与其在微软从事的工作没有任何联系,Windows内核开发团队的许多其他设计师不同意其观点。普罗伯特称,新一代操作系统应当不同于Windows或Unix。
目前,普通桌面计算机都能同时运行多个软件,例如在上网冲浪或编辑电子邮件时播放音乐。普罗伯特说,“响应速度最为重要,用户非常重视响应速度”,要解决响应速度问题,操作系统就必须了解哪个任务具有更高的优先性。例如,用户不希望因为安全软件在扫描系统就花数分钟时间等待Word启动。大多数操作系统都部分采用优先权调度算法,但算法仍然相当粗糙。
芯片厂商在生产多核处理器时一厢情愿地认为,软件开发者将为多核处理器开发软件。普罗伯特说,问题是目前的桌面系统软件不能有效地利用多核处理器的处理能力。开发者需要利用并行编程技术才能充分利用多核处理器的处理能力。除专业的科学计算软件外,并行软件并不普及,而且并行编程技术也相对难于掌握。
普罗伯特称,一种更好的方法是重新考虑操作系统管理多核处理器的方式,“问题不在于并行编程,而在于操作系统如何管理处理器”。在计算技术发展的早期,一个处理器只运行一个软件。如果需要一个处理器运行多个软件,处理器就被分配给不同的进程,使软件“产生错觉”:它们各自独占一个处理器。当操作系统开始管理同时运行的多个软件时,它就需要一个不受用户和软件干扰的受保护的空间,这就催生了内核模式。内核模式与用户模式相互分离。普罗伯特说,内核模式和用户模式将一个处理器模拟成两个处理器。
虚拟处理器会争夺物理处理器资源,在不同虚拟处理器间切换的“费用”也会不断增长,并影响系统的响应速度,特别是在配置多核处理器的系统中。普罗伯特指出,由于英特尔和AMD预计处理器内核数量将继续增长,操作系统社区需要放弃一些观念,例如内核模式和用户模式,“如果系统中的内核足够多,每个软件都可以获得一个内核”。
在这种模式中,操作系统更像是一位“管理者”。在虚拟系统中,“管理者”是虚拟机和硬件间的一个中间层。普罗伯特表示,软件将负责更多的资源管理工作。操作系统负责将一个处理器内核和一定量的内存分配给一个软件,软件将利用编译器产生的元数据充分利用获得的资源。
普罗伯特表示,要对这种方法进行测试很困难,因为它要求大量现有软件,但这是值得的,“这种模式更灵活”。
- 大小: 29.3 KB
分享到:
相关推荐
OpenCL:多核ARM处理器编译器.pdf
SD大会精品讲座:多核计算中的分布式数据结构
科普知识:多核 vs 超线程.docx
微处理器:多核已成为主流.pdf
i.MX6:多核应用处理器Wandboard开发方案.pdf
WPP-L2:多核处理器中共享Cache低功耗路预测算法.pdf
PUMA:多核共享内存系统从同步到并行
显而易见的,电脑微处理器多核时代来临了。作为开发者,您为多核计算和并行计算准备好了吗?您是否真正了解多核计算和并行计算?如何充分发挥多核的优势?Intel资深专家James Reinders将在本课程中倾囊相授,为您...
《精通Lambda表达式:Java多核编程》
TL7689等:双模多核处理器芯片.pdf
注意:Windows不提供多核支持。 安装 从GitHub安装软件包: xfun :: pkg_attach2( " remotes " ) install_github( " christophergandrud/mcreplicate " ) 使用 它的工作方式与replicate() ,但是会分发复制。 ...
我的课程实验框架,和大家分享一下,完全可用哦
CSP多核处理器芯片的低功耗设计.pdf
精通lambda表达式:Java多核编程,使用lambda表达式和流的最佳实践
作者都是长期供职于Intel公司的资深软件工程师和结构师,书中融入了他们自己丰富的软硬件开发经验,可以为面向多核体系结构进行并行程序设计的开发人员提供巨大的帮助。不论对从未接触过并行程序设计的开发人员,...
系统选用TI多核DSP作为图像数据运算的主处理器, 用以实现数字图像实时处理的核心算法。系统选用 XILINX 公司 Virtex 系列高端 FPGA作为协处理器和系统的主控制单元,用来协调系统中各个外设功能模块,并完 成图像...
课件:(1)多核技术导论 (2)并行计算基础 ...实验二:Windows与Linux多线程编程与调优 实验三:OpenMP编程与调优 实验四:MPI编程 实验五:多线程编程工具高级应用 案例分析:基于多核的流媒体服务器
精通lambda表达式:Java多核编程(去水印版)