账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
多核风潮下的作业系统
 

【作者: 陸向陽】2007年03月26日 星期一

浏览人次:【6200】

有关CPU的多核化发展,以2001年IBM发表的POWER4为开端,之后2004年底HP、Sun也先后跟进,分别推出PA-8800与UltraSPARC IV,到了2005年AMD推出双核版Opteron,成为x86领域的第一颗双核CPU,此使x86霸主Intel大受震惊,并拟定一连串的追赶计画,进而掀起2006年的多核化竞赛。


CPU全面走向多核化发展,与CPU紧密关连的OS(作业系统)也必须有所因应,虽说多核CPU对OS而言,与过去运用多颗单核CPU所构成的SMP(对称运算)架构系统并无二致,OS层面不需要任何变动调整,多核CPU也可发挥其多核功效。


话虽如此,但若论及技术细节,多核CPU与OS间仍有诸多要点值得讨论,同时多核化也进一步引发了虚拟化风潮,如此对OS而言也是另一项挑战。以下本文将对这些课题进行更多的说明与讨论。


效能扩展性

OS面对多核型CPU,首要的使命就是彻底发挥多核后所带来的效能提升,更简单说即是伺服器领域所常言的效能扩展性(Scalability,一般也常翻译成:延展性)。关于此必须举例说明,倘若今日有1部伺服器,该伺服器内可装置2颗单核CPU,即便如此该部伺服器也不可能具有2倍于1颗单核CPU的效能,原因是: 2颗CPU虽可共同分担工作使工作加速完成,然而2颗CPU间也必须对工作进行协同沟通,沟通协调也一样要耗占执行处理的运算资源、记忆体的存取频宽资源,扣去耗占后,2颗CPU真正发挥、呈现的效能约170%,而非200%,其中少去的30%即是沟通协调的耗占。


以此类推,当CPU数目愈多时,各CPU间的沟通协调需求也会增多,耗占也会增加,在1颗CPU时是100%的效能,在2颗CPU时是170%,等于第2个加入的CPU仅发挥70%的效能,而在4颗单核CPU的伺服器中,第3颗CPU仅发挥60%的效能、第4颗也一样仅60%效能,如此进行加总: 100%+70%+60%+60%=290%,1部4颗单核CPU的伺服器仅有2.9颗的效能,等于有1.1颗的效能因沟通协调而耗去,而不是用于实际的运算产能中。


所以,多CPU的伺服器系统必须让效能尽可能获得线性扩展,即是让效能展现要尽可能逼近1+1=2的理想简单数学,前面所举的例子:4颗仅2.9颗的效能,是过去Windows NT 4.0作业系统初支援4-way(4颗单核CPU)伺服器时的情形。同理,在1部64-way(64颗单核CPU)的伺服器中,Solaris作业系统能让伺服器发挥63颗CPU的总体效能,其中沟通协调仅耗用1颗CPU的效能。


当然! OS能否完全发挥每颗CPU的效能,也牵涉到更底层的伺服器硬体连接架构,CPU与记忆体间、CPU与CPU间的传输频宽是否够大、传递是否够快无延迟、传输路由是否够智慧性等,也一样深深影响效能扩展性,事实上硬体连接性对效能扩展性的影响更甚OS,OS则是在硬体连接架构决定后,尽可能别再增加沟通协调的折耗,使原有硬体设计发挥到最大效能。


将以上的说明套用到今日的双核上,1颗双核CPU事实上无法发挥2倍于过往1颗单核CPU的效能,此一样是受制于沟通协调的折耗,虽然同一封装内有2个CPU核心,但2个核心却要共用1组前端汇流排(Front Side Bus;FSB),使记忆体存取成为效能传输的瓶颈,一般而言1颗​​双核仅有过去1颗单核的1.4倍、1.5倍效能,以此延伸,4核CPU的总体效能也一样会受限于FSB频宽,除非能在单一封装内增加更多​​组FSB,或提升FSB的频宽传输力,否则情形不会改善。


系统分割能力

在双核、多核尚未成风气前,运算效能过剩的问题就已经出现,在双核、多核成风后,过剩情形自然更加严重。


为了消化过剩的效能,业界开始鼓吹伺服器统合(Server Consolidation),运用1部新款、效能更高的伺服器来取代过去多部旧款伺服器的工作,假若过去用4部2-way伺服器来执行3个部门的电子信件收发,而今只要用1部4-way、双核的伺服器就可以全部取代,甚至在效能表现上较过去理想。


统合之后,对资讯管理人员而言可以减少伺服器的管理数,过去要逐一为4部伺服器进行检视维护,相同工作要重复4次,而今只要检视维护单一部伺服器即可,省下另3次的时间心力。此外,统合后的机房空间精省性、用电的控管等也有帮助。


为了呼应、支援统合理念,伺服器硬体也加入了系统分割的功能,透过分割技术能使1部大型伺服器虚拟成多部各自独立运作的中小型伺服器,如此可使运算资源化整为零,更加妥善运用。


不过,以硬体手法实现的系统分割功能有其限制,其运算资源的调拨必须以4颗、2颗或1颗CPU为单位来进行挪动,然今日即便是1颗CPU的效能都相当强悍,使得硬体式的系统分割技术无法做到够细腻的资源调整,对此,就必须运用OS的软体手法来实现系统分割。


运用OS的软体分割技术,可以在1颗CPU上执行多个子OS(Guest OS),并在各个子OS上各自执行其应用程式(Application,App),同时提供分割能力的主OS(Host OS)自己也能执行App。透过此种作法,CPU的运算力可以更细腻的分配运用。


也因为有了「主OS、子OS」之别,主OS具有开设、关闭、管控子OS的功效及权限,但主OS自身也可像子OS般地执行App,如此主OS身兼二职,一方面要投入运算执行、一方面要进行资源的调拨管控,反而使两种工作都不易达至理想,因此有了完全只专责在硬体资源管控、调拨的OS,此种OS称为Hypervisor (也称:虚拟机器监督器),Hypervisor不再担任应用程式执行的工作,而只负责管理硬体资源及各个只执行App的OS。


举例而言,IBM在其大型主机上所用的z/VM即是Hypervisor,或者在x86系统也有VMWare ESX、Xen等Hypervisor。至于仍然身兼传统OS并具有开设子OS功效的OS,多半是在既有OS上加装软体程式来达成,如VMWare Workstation、Virtual Server等程式。


安全隔离性

OS具有系统分割能力后,也就等于具备了虚拟化能力,可将一部伺服器虚拟成多部伺服器,可以让1颗CPU可以执行多个OS,也可以让多颗CPU执行1个OS 。


虚拟化后硬体资源获得更彻底、细腻的运用,但也衍生出一个问题,若用多颗CPU执行一个OS,多颗CPU中若有一颗在运作中故障坏去,则OS的执行运作就会发生错误,尤其一个OS使用愈多颗CPU,CPU故障的机率也会增加。反过来,当一个CPU同时执行多个OS时,如果该颗CPU故障坏去,则同时多个OS就会一并执行错误。


有了资源灵活性后,进一步的也必须重视执行安全性,为此OS开始发展各种容错技术,若是多颗CPU执行1个OS,则必须在某颗CPU发生故障时,自动将未完成的工作转移到其他正常运作的CPU上,并使错误的部分回复到未错误前的正常、正确阶段。


举例而言,IBM的eLiza(电子蜥蜴)计画就具有自我防御、自我隔离等功效,或如Sun在Solaris 10中的DTrace技术,能对OS运作进行更详整的运作追踪与错误管控。


跨平台虚拟能力

双核、多核使效能进一步过剩的结果,OS也开始跨出自有的平台环境,支援起其他OS上的App执行,一方面可以让统合功效更加扩大,另一方面也等于挖其他OS的墙角,以壮大自有OS阵营的气势。


以实际为例,IBM在推出使用POWER4 CPU的伺服器后,该伺服器所搭配的AIX 5L作业系统也开始支援Linux的App执行环境,在此之前的AIX 4.x只能执行原有属于AIX的App,而不能执行Linux的App,而AIX 5L能同时执行AIX的App与Linux的App后,使IBM AIX伺服器的运用价值更获提升,且AIX伺服器的系统坚稳性胜过一般用x86架构的Linux伺服器,如此也将使较重视与讲究系统坚稳性的Linux用户转而改用AIX伺服器。


类似的,Sun的Solaris 10作业系统也试图内嵌、融入Linux的App执行环境,使Solaris既可执行自己Solaris原有的App,也可以追加执行Linux的App,此技术在研发阶段时称为Zones ,之后称为Solaris Container(容器)。


当然!也因为是以系统分割技术为基础来模拟其他作业系统的Ap​​p执行环境,所以在应用程式出错时,也可以运用分割技术将错误限缩在一定的范畴内,使错误影响不会进一步扩散。


值得注意的是,模拟其他OS上的App执行环境,不见得能做到100%的相容模拟,有时仍需要对App进行重新编译、调修等程序,此外前面所提到的Hypervisor也不见得能执行相容执行原有的OS,有时也需要改版、改写才能让OS在Hypervisor上执行。


结论

往未来看,多核后为OS所带来的挑战,除了效能扩展性、资源的灵活调度性、安全防护隔离性、虚拟相容性外,灵活的资源分配、对应也容易造成资讯管理者额外的新负担,特别是OS在本机、单机管控外,也逐渐往多机的丛集、跨网的网格路线发展,如此对应复杂度将更高,如何简化资源管理,也将会成为多核后OS的一项新课题。


《图一 IBM的POWER4首开CPU双核化的先驱,图中银色金属框中间有4个POWER4裸晶,每个裸晶上有2个执行核心,如此总共有8个执行核心在同一封装内。(数据源:IBM.com)》
《图一 IBM的POWER4首开CPU双核化的先驱,图中银色金属框中间有4个POWER4裸晶,每个裸晶上有2个执行核心,如此总共有8个执行核心在同一封装内。(数据源:IBM.com)》
《图二 IBM在eLiza项目技术计划的4大强调:自我组态配置、自我维护、自我保护、自我优化,此亦是多核化后,如何提升安全坚稳性,同时简化维护管理所必须的要素。(数据源:IBM.com)》
《图二 IBM在eLiza项目技术计划的4大强调:自我组态配置、自我维护、自我保护、自我优化,此亦是多核化后,如何提升安全坚稳性,同时简化维护管理所必须的要素。(数据源:IBM.com)》

《图三 Sun Microsystems的系统分割功能称为Domain技术,图中是一部Sun的E10K(Enterprise 10000型)服务器,该服务器有64个CPU,该机具备的硬件分割功效能够以每4颗CPU为一个单位进行运算资源的调拨,图中第一个Domain用12颗CPU,第二个用16颗,第三个用8颗。(数据源:Sun.com)》
《图三 Sun Microsystems的系统分割功能称为Domain技术,图中是一部Sun的E10K(Enterprise 10000型)服务器,该服务器有64个CPU,该机具备的硬件分割功效能够以每4颗CPU为一个单位进行运算资源的调拨,图中第一个Domain用12颗CPU,第二个用16颗,第三个用8颗。(数据源:Sun.com)》
《图四 IBM的eServer i5系列服务器(今已改称System i系列)运用POWER Hypervisor技术,使其上可执行i5/OS、Linux、AIX 5L等操作系统,同时可运用虚拟I/O、虚拟以太网络等技术与Windows、Linux服务器进行互通。(数据源:IBM.com)》
《图四 IBM的eServer i5系列服务器(今已改称System i系列)运用POWER Hypervisor技术,使其上可执行i5/OS、Linux、AIX 5L等操作系统,同时可运用虚拟I/O、虚拟以太网络等技术与Windows、Linux服务器进行互通。(数据源:IBM.com)》

《图五 Solaris Container技术的示意图,1号池(Pool,即运用系统分割所建立出的系统分区)具有2颗CPU,2号池拥有3颗CPU,在2个池之上还可以建立若干个Zone,每个Zone在该池中所配发到的运算力也可再行调整、调拨。(数据源:Fujitsu.com)》
《图五 Solaris Container技术的示意图,1号池(Pool,即运用系统分割所建立出的系统分区)具有2颗CPU,2号池拥有3颗CPU,在2个池之上还可以建立若干个Zone,每个Zone在该池中所配发到的运算力也可再行调整、调拨。(数据源:Fujitsu.com)》

《图六 VMWare公司的VMWare ESX软件即是一套Hypervisor,Hypervisor运用系统分割技术来建立多个独立分区(也称为:虚拟机),每个独立分区如同一部独立服务器,可在其上执行操作系统、应用程序。(数据源:VMWare.com)》
《图六 VMWare公司的VMWare ESX软件即是一套Hypervisor,Hypervisor运用系统分割技术来建立多个独立分区(也称为:虚拟机),每个独立分区如同一部独立服务器,可在其上执行操作系统、应用程序。(数据源:VMWare.com)》
相关文章
AI助攻晶片制造
Intel OpenVINO 2023.0初体验如何快速在Google Colab运行人脸侦测
未来无所不在的AI架构导向边缘和云端 逐步走向统一与可扩展
零信任资安新趋势:无密码存取及安全晶片
运用科学运算结合HPC技术算出产业创新力
comments powered by Disqus
相关讨论
  相关新闻
» 宜鼎独创MIPI over Type-C解决方案突破技术局限,改写嵌入式相机模组市场样貌
» 英特尔晶圆代工完成商用高数值孔径极紫外光微影设备组装
» AMD扩展商用AI PC产品阵容 为专业行动与桌上型系统??注效能
» AMD第2代Versal系列扩展自调适SoC组合 为AI驱动型系统提供端对端加速
» 英特尔AI加速器为企业生成式AI市场提供新选择


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84U094XV8STACUKK
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw