扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
微软Windows核心操作系统部们内核架构师Dave Probert表示,芯片制造商不断在他们的每一款新一代处理器中增加内核数量,也许是时候重新考虑现有操作系统的基础架构了。
他表示,目前利用多核处理器优点的方法不仅复杂,而且并不那么成功。也许关键之处不在于花更多精力在重新研究例如并行编程等技术上,而是应该重新考虑构成操作系统模式的基本理念上。
Probert表示,如今的计算机并不能从他们的多核新片中获得足够的性能。近日他在伊利诺依大学香槟分校的通用平行运算研究中心(Universal Parallel Computing Research Centers)作了演讲。他参与了下一代Windows的开发团队,不过他表示他在演讲中表达的观点并不代表微软团队正在进行任何实际性工作。他指出,他所在的Windows内核开发团队的其他架构师甚至不认同他的观点。
他在演讲中首先对今天新系统是什么样子进行了定义,他总结说这种系统与Windows或者Unix有很大不同的。
目前典型的桌面计算机都是同时运行多个程序,例如用户在播放音乐的同时还在写电子邮件和网上冲浪。
他说:“响应是关键,这是人们所需要的。”
他指出,响应方面存在的方面是“操作系统如何了解(哪个任务)是重要的?”你不希望启动微软Word因为反病毒程序选择在这个时候启动对所有文件的扫描。
大多数操作系统有某些既定的优先度来避免这些瓶颈,但是尚不完善。
随着增加更多处理器内核,芯片制造商采取了一种“梦幻之地”的多核芯片策略:开发多核芯片并希望应用编程者会针对这些多核芯片编写程序。问题是,现在的桌面程序并不能有效地使用多核心。
为了完全发挥多核心的优势,开发者需要使用并行编程技术。也许应对多核心的一个更好方法就是重新考虑操作系统对待这些处理器的方式。Probert表示:“真的,问题不是我们如何做并行,而是如何对待这些晶体管?”
他解释说,现有的操作系统架构是基于很多不同理念的。
在计算技术的早期,一个程序是运行在一个CPU上的。当我们需要多个程序运行在一个处理器的时候,CPU时间被分割成多个处理器流程,让每个应用认为它是运行在一个专门的CPU上。
这种流程的概念是一种抽象的概念,一旦操作系统开始运行多个程序,它就需要一个保护空间,不受用户和程序的干扰。这时候就诞生了内核模式,与运行程序的用户模式分离开来。实际上,内核模式和用户模式将1个CPU抽象化为2个CPU。
然而,这些虚拟CPU却带来了关于谁使用物理CPU的争论。所有这些CPU之间的转换开销增长到响应受影响的点——尤其是当引入多核的时候。
通过Intel和AMD我们可以预测出他们产品中的内核数还将继续翻番,操作系统领域可以安全地摒弃用户模式和内核模式等抽象层。
他说:“有了多核,CPU又变回了CPU。如果我们充分利用这些CPU,那么我们就可以将这些CPU”用于单个的程序了。
在这种方法下,操作系统将不再重新集成现有操作系统的内核模式,而更像是一个hypervisor。作为一种虚拟化概念,hypervisor是一个介于虚拟机和物理硬件之间的层。
程序本身会承担很多资源管理的任务。操作系统可以为一个应用分配一个CPU和一些内存,程序本身——利用由编辑器生成的元数据——可以更好地了解如何使用这些资源。
Probert坦言,这种方法很难实施,因为它要求创建一个由现有应用组成的大型池,但是这种方法是值得一试的。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者