分享
 
 
 

软件支持成“软肋”发展多核困惑重重

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

多核心的思想并不新鲜,制造工艺的上的局限导致了直到目前多核处理器在成本上才有跟以前单核处理器相当的水准。当然,即便是最先进的

65nm工艺,制造一块两个核心以上的处理器,成本依然还相当高昂。

众“核”难调

即便是在制造上没有大问题,就处理器的系统结构而言,多核处理器依然面临大问题。如果仅仅简单地考虑多核的物理连接,而没有充分考虑到处理器的运行和使用模式,将极大限制处理器的利用率,尤其是在处理有资源冲突应用的时候,多个核心之间的资源调配就成了效率关键。在目前的算法条件下,还没有更好的控制两个以上处理器合理调配资源的方法。这并非因为无法实现更好的算法从而充分调配处理器资源,而是因为目前多核处理器普遍的算法相对比较简单。

总体来看,算法无法知道具体的可用资源,并且硬件的搭配因为成本问题没有充分考虑一些意外情况,因而,以“同类”思想考虑的处理器在面对“异类”运算时就会变得效率低下。

现在,多核处理器有多种安排形式,AMD的双核、Intel的Pentium D以及IBM的Cell架构乃是其中几种代表。

Intel很早就通过超线程技术实现了逻辑上的双处理器系统,但这不过是对处理器闲置资源的一种充分利用而已,并且这种充分利用只有在特定的条件下才会比较合适,尤其是针对流水线比较长,而两种运算并不相互交叉的时候,才会有较高的效率。但像编码解码、长期重复某种矩阵运算、一些没有经过仔细编写的软件,似乎并不能充分利用这个特性。

即使IBM的Power5架构,也需要跟最新的操作系统进行融合,加上运行在其上的软件,才有可能利用并发多线程。这是物理上多核系统的资源利用的一个映射,至少可以说明,仅仅通过操作系统忙乎还远远不够。

目前条件下,Intel的多核系统和AMD有根本不同。根据多核处理器系统强调可扩展性的特点来看,目前的Pentium D并不是一个良好的多核解决方案。并且,在流媒体时代,高清晰的内容需要处理器作为一个数据中心,不仅告诉处理器数据,还需要高速传输数据,仅仅是把两个核心安排在一个处理器内,无法实现根本转变。

I/O成瓶颈

由于两个核心只能共用一个I/O通道,当两个核心之间的数据进行交流的时候,就无法再从外部读入数据从而利用两者的时间差实现资源的有效搭配和利用

。尽管两个核心之间可以并行运算,但就整个系统而言,无法实现真正的流水线操作。

加上分离的缓存结构需要取得一致性,两个内核之间的交流变得经常而且频繁,这实际上也会降低处理器的效率,因此Pentium D在技术上并不被看好。

AMD因为通过引入HyperTransport,部分解决了这个问题,并且因为处理器内部自己有独立的内存控制器,可以独立访问内存,两个核心之间的行为具有相对独立性,数据相关变得很小。因而一些测试表明,其随机处理数据的能力要高于Pentium D。

AMD64的最大特性是引入了HyperTransport,它的良好扩展性使得处理器实现多核、多处理器系统相对容易一些,并且,多处理器扩展的效果也非常好,这是它能够在桌面双核领域暂时领先的重要原因。考虑到这些,Intel可能也会在合适的时候引入类似架构。

Cell的多核实现起来并不完全一样,因为制造太复杂,估计到65nm的时候,这个处理器才能够在成本上具有竞争力。与其他基于对称多处理器不同的是,这个处理器把重心放在了运算基元之上,从而能够把处理器应用到面对不同的应用类型,它其中包含的核心更多是以运算的基础元件形式存在的。因而,即便在内部,也是按照一个系统的思想来实现的,各个运算单元之间有高速的连接通道,除了主控处理器用来分配任务从而形成运算的流水线思想外,其余几个并不是具有很完善的运算能力。这几种系统都面临同样的问题:I/O将是最严重的瓶颈。

虚拟化在一定程度上能够处理一些因为多核带来的问题,可以让应用软件和操作系统在透明的环境下对处理器资源进行分配和管理。

软件是软肋

即使桌面操作系统支持双处理器,也需要很长一段时间。目前在对称多处理器方面,操作系统对资源的分配和管理并没有本质的改变,多以对称的方式进行平均分配。

也就是说,在操作系统层面,当一个任务到来时,剥离成为两个并行的线程,因为线程之间需要交流以及操作系统监管,它导致的效率损失要比硬件层面的大得多。并且,多数软件并没有充分考虑到双核乃至多核的运行情况,导致线程的平均分配时间以及线程之间的沟通时间都会大大增加,尤其是当线程需要反复访问内存的时候。比如做一个FFT测试时,由软件和硬件构成的系统将呈现出巨大差异,这时Pentium D将被完全击倒。这不是Pentium D的错,多数操作系统还没有完全实现自由的资源分配。IBM也是通过AIX 5.3L在支持更自由的虚拟化Power5上,实现了资源的动态调配和划分。

从长远来看,需要使用虚拟化技术才可能实现操作系统对任务的具体划分,这很可能改变一些通用的编程模式。不仅操作系统层面无法完全解决这个问题,就是软件在编写的时候其编译器都无法充分解决这个问题。

面对多核系统,需要有并行编程的思想才有可能充分利用资源,而人类的思维模型习惯于线性思维,对“面”或者更为复杂的立体编程模式,效率会下降很多。

软件的缺失给多核蒙上了一些阴影。尽管用户在充满希望地期待着,但思维完全的改变,不是一朝一夕的事情。更重要的是,一些表现多核处理能力的输出系统无法承受这样的运算量。

现在能充分享受到多核系统的用户依然还是企业级用户,那些专门进行密集计算的用户可以充分利用多核节省下来的空间,大大增加计算密度,从而降低整体管理费用。

对于一些线性模型,如Google的查找算法,对处理器系统的要求是多多益善。一些用于网络游戏的服务器,也能够从多核之中看到可支持用户数量的成倍增长。对于一些需要科学运算的石化、石油勘探等大量数据转换来说,不仅需要多核,还需要大量的显示芯片实现数据的可视化。

本来,多核在可视化领域具有远大前途,渲染速度可以加倍,矩阵运算容量可以大增,可惜现在的OpenGL还太可恶,很难拆分数据封装。

在仿真领域,大量的多核可以充分模拟仿真的网格特性,因而可以充分利用在气象等高密度计算中。

有人说,多核系统可以提高多任务的性能,可以同时做很多事情,但须知,人是需要专心的动物。我看,多核的真正春天要寄托在家庭服务器上,只有这时候,电脑转变成为数字家庭的数据存储和运算中心,它的多核意义才会凸显。

无论如何,需要把眼光放在软件端才是正途,至于使用几个核的处理器,让开发人员去思考好了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有