免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux
打印 上一主题 下一主题

[其他] 华山论剑新解--软件硬件谁在引领IT技术革命?(获奖名单已公布-2014-6-5) [复制链接]

论坛徽章:
18
卯兔
日期:2013-09-27 17:41:0615-16赛季CBA联赛之佛山
日期:2016-07-09 17:34:45操作系统版块每周发帖之星
日期:2015-12-02 15:01:04IT运维版块每日发帖之星
日期:2015-12-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-07 06:20:00IT运维版块每日发帖之星
日期:2015-10-03 06:20:00IT运维版块每日发帖之星
日期:2015-10-01 06:20:00羊年新春福章
日期:2015-04-01 17:56:06拜羊年徽章
日期:2015-04-01 17:56:062015年迎新春徽章
日期:2015-03-04 09:49:452015年辞旧岁徽章
日期:2015-03-03 16:54:15天秤座
日期:2015-01-14 06:39:28
11 [报告]
发表于 2014-05-05 17:13 |只看该作者
本期的嘉宾都是牛人啊

论坛徽章:
20
CU大牛徽章
日期:2013-04-17 11:48:26羊年新春福章
日期:2015-03-10 22:39:202015年中国系统架构师大会
日期:2015-06-29 16:11:282015亚冠之平阳省
日期:2015-07-31 09:19:042015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-09-30 06:20:002015亚冠之柏太阳神
日期:2015-10-19 20:29:5915-16赛季CBA联赛之天津
日期:2016-11-29 14:03:4315-16赛季CBA联赛之北控
日期:2016-12-24 20:51:492015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-12 20:58:532014年中国系统架构师大会
日期:2014-10-14 15:59:00
12 [报告]
发表于 2014-05-05 17:38 |只看该作者
本帖最后由 beyondfly 于 2014-05-06 08:47 编辑

    没有软件,计算机只能称为裸机,什么也干不了。没有硬件,软件只能静静地躺在光盘或是磁盘上,无处发挥作用。 在计算机的历史中,硬件的发展按照摩尔定律以惊人的速度在提升其运算能力,能软件的发展则按照安迪--比尔定律,导致软件的体积越来越大,占用的内存越来越多,当然功能也越来越强大。 所以,在计算机领域的发展中,软件与硬件同时推动信息技术的发展,给生活带来更多的变化。
    多数情况下,信息技术的革命,离不开软硬件的同时推动,比如现在的云计算,大数据,物联网。如果CPU不支持虚拟化,如果没有各种开源闭源虚拟化软件的不断出现,比如KVM,Xen,vmware等,那么虚拟化就无从谈起,没有了虚拟化,自然也就离不上云计算。再比如,如果没有hadoop这个平台的出现,也许大数据的概念在现在不会这么火热,因为hadoop是非常重要的非结构化数据的处理平台。
     大数据概念的兴起与不断火热,存储行业的发展又将迎来新的机遇。很多以前企业认为不重要的、无用的数据,在大数据时代,企业主们会不管这些数据有没有用,先收集存储起来再说。这些数据量都是十分巨大的。有钱的公司,自然考虑各种商业存储,如EMC,NetAPP等,互联网公司则更采用各种开源的分布式存储平台。
     随着数据量越来越大,则占用的存储空间越来越大,要处理这些巨大无比的数据,则要求处理器的运算速度越来越快,处理软件的算法越来越好,从而促进了软硬件技术的同时发展

论坛徽章:
0
13 [报告]
发表于 2014-05-06 12:08 |只看该作者
软件与硬件的发展是相辅相成的。

就存储来说,随着大数据时代的来临,对数据的存储、数据挖掘与分析成为目前热点问题,如在地质信息工程方面,数据量极大,在存储方面需要高效的存储,并对数据进行有效的管理,针对数据存储与高效的读写当然离不开硬件的支持,对针对管理方面同样离不开软件与硬件之间的配合。

由于高性计算的发展,对存储的要求越来越高,从而促进存储硬件的不断发展;存储不仅仅是设备技术的进行,更重要的是如何管理这些设备,如何有效的传输数据,这需要软件的协调和管理,从而失去软件的不断更新,以适应新的发展。

总之,软件与硬件共同引领着IT革命,它们相辅相成,任何一方发展不平衡都将导致瓶颈。

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:49:45IT运维版块每日发帖之星
日期:2016-07-29 06:20:00
14 [报告]
发表于 2014-05-06 14:08 |只看该作者
beyondfly 发表于 2014-05-05 17:38
没有软件,计算机只能称为裸机,什么也干不了。没有硬件,软件只能静静地躺在光盘或是磁盘上,无处发挥 ...


说的挺到位。稍后我会贴一些个人在云计算这方面的一些看法出来。

论坛徽章:
0
15 [报告]
发表于 2014-05-06 15:30 |只看该作者
本帖最后由 Heng_Liao 于 2014-05-12 12:13 编辑

软件有时是硬件的遮羞布。硬件处在具体现实的物理世界中,难免要碰上这样那样的现实困难,因此每个技术常常会伴随着现实的苦果。上层软件处在完全虚拟世界中,可以像庄生梦蝶一样,梦境中套梦境,应用套应用,操作系统套操作系统,虚拟机套虚拟机,完全不需顾及何谓真实,何谓物理。这个虚构的抽象世界自有其妙处。物理现实的不理想,可以通过一层firmware或底层软件来弥补修正成上层软件想要的理想世界。

就拿存储来说吧,硬盘会因故障损坏,通过RAID层的软件就可把一组不可靠的盘呈现为一个十分可靠的逻辑盘,这样应用的程序员就可以忽视由于硬盘损坏造成的数据丢失和相关的恢复,保障等问题。

再说说NAND flash, 由于存储芯片写之前要对大数据块先擦除,因此不能以小扇区为单位做随机写,这给使用带来很大的不便利。每关系,软件可以补救,在固件中引入Flash Translation Layer,可以把这些不便利全部藏起来。程序员还可以回到以扇区为单位访问的块设备模式向传统硬盘一样使用。因此,过去的文件系统和应用程序可以继续使用。

还要提一下我们用了几十年的硬盘,简单块设备的访问模式也到头了,为了继续增加容量(磁记录密度),SMR (Shingled Magnetic Recording) 模式的硬盘就要来了,道和道直接要重叠覆盖,因此,不能再像过去的硬盘一样任意随即以扇区为单位写,而像Flash一样要以GB量级的Band 为单位做改写(Read Modify Write), 因此要引入类似于Flash Translation Layer的翻译影射层来呈现大家想看到的块设备。

这一切层层叠叠都是为了回到软件所想要看到的简单的梦境般的理想的抽象世界中去。不过软件虚构之梦境此终还在降低性能功耗成本等等硬件方面下功夫。



论坛徽章:
0
16 [报告]
发表于 2014-05-06 15:32 |只看该作者
相关话题在PMC官方博客上有更多内容:
http://blog.csdn.net/pmc/article/details/25116979

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:49:45IT运维版块每日发帖之星
日期:2016-07-29 06:20:00
17 [报告]
发表于 2014-05-06 15:52 |只看该作者
关于这个话题,套用一句谚语就是三十年河东三十年河西,风水轮流转。软件和硬件一定是相互促进、相互拆台又相互搭台的。一些之前被诟病的上层架构,或许若干年之后会被发现成了最合适的选择,而再过若干年,又会变得不合适。软件定义亦或是硬件定义,同样也是这样,硬件定义的结果是性能够强但是不灵活,此时软件定义便会开始酝酿翻盘,但是任何事情都有惯性,软件“过度”定义之后,会发现很多事情搞不定,还得靠硬件来加速一下,此时开始进入硬件定义周期,然后循环往复。我们可以用几个例子来窥探一下这种规律。

CPU和OS。
一对不离不弃的夫妻,阴抱阳,阳抱阴。一开始没有所谓中断,更没有所谓OS,只有顺序执行指令计算机和被写死的程序,很不灵活。后来才有了OS,CPU先执行OS这个大循环程序,然后载入所需要执行的用户程序执行,执行完退出,可以继续载入其他程序执行。哪怕最简单的OS要想玩转,CPU起码也得至少提供IO和时钟中断机制。OS呱呱坠地,就得不断长大,不断的进化,单任务不灵活,就得多任务分时执行,所有任务共享内存空间,导致了安全性问题,这就不得不引入虚拟内存技术,所以软件越来越复杂,性能逐渐就不行了。此时CPU出来说话了,我来搞定虚拟内存,提供页表极致,提供专用的控制寄存器,并提供专用的查表加速硬件部件。多任务分时OS的生产力被初步释放,但是性能还是较差,还得依靠CPU搞定。CPU继续发力,引入超线程技术,让多个线程的代码可以并发执行,这得益于流水线的设计;为了能够更好的实现线程并发执行,后来继续出现多核心多CPU的SMP技术, OS不得不做出改动。但是多CPU/核心并不是任何时候都很高效的并发多线程的,随着软件复杂度提升,线程同步、缓存一致性等问题导致需要大量状态和数据同步,传统的共享式的前端总线效率太低,所以不得不改为交换式Fabric比如Intel QPI,访问内存经过太多跳器件效率上不去,所以也改为直连CPU分布式共享架构,这也是当今的形态。再往后会怎么发展,应该可以顺着惯性往前推导一下,交换式Fabric的出现,意味着CPU和CPU之间可以离得越来越远,只要有足够高速的链路连接,这一形态其实就是大型NUMA计算机的形态了。这一形态的轮回意味着软件架构的变化,传统领域需要高性能的场景不得不使用大型机、小型机,但是他们是及其昂贵的,就是因为不开放,而他们又不可能像互联网领域一样投入开发资源在分布式系统上定制化自己的应用。而开放式大型NUMA系统出现之后,可能之前的被“过度”定义了的分布式系统生态又会沉寂下来,这个循环进入新的周期纪元,在这个纪元里,曾经光鲜的分布式系统可能会被新生代工程师/架构师认为是一种很不可思议的“野路子”:“你看,以前这种架构,好坑爹啊!”。这就像我们现在回头看之前的有些设计一样,也会感觉到不可思议,那时候的人都这么“脑残”么?恩,如果换了你回到那个时代,或许更脑残:)。不管谁脑残,一个事实是始终不变的,那就是硬件性能的绝对值是一直直线上升的,不管分布式还是集中式。

CPU和VMM
VMM能发展到今天这个地步是无人始料的,一开始就是玩玩,没想到玩了个大的出来。有不少人持有上述观点,其实这个观点只是表象。虚拟机技术起源于大型机,中小型机上早已也使用了多年,所以VMM可并不是玩玩。大机小机都是封闭市场,技术也确实牛。开放市场领域很多技术其实都是源自大型机小型机。虚拟机显然是单机性能过剩,而多机整体资源又无法得到全局细粒度池化分配时代的产物。VMM虚拟CPU,虚拟IO设备,虚拟内存,一开始全用软件实现,每一条指令解释执行,后来优化了设计,但最终还是要监控和截获+虚拟那些敏感和特权指令,每个进程还要虚拟出额外页表从而虚拟内存,IO需要经历重重内存拷贝才能发出去一个包,要想商用的话,软件各方面开销实在是搞不定了,此时还得硬件出马,在CPU层面提供硬件辅助, IO设备也开始有了SRIOV/MRIOV的方案,我总感觉这次硬件反而有点“过度”定义了,被软件骗了一回。为什么呢?就因为硬件资源不能做到池化和细粒度切分,才会产生VMM这个尴尬的东西,而此时硬件仿佛走火入魔了,弄出一系列复杂的技术来支撑VMM。其实硬件还有另一条路可以走,同样可以实现VMM类似的效果,那就是让硬件变得可以切分,而不是用软件去切分。这条路在小机系统上曾经有人尝试过,采用总线级别的隔离开关来切分不同的CPU和内存以及IO槽位。要实现细粒度切分的前提是必须把硬件最小切分粒度降下来,单CPU使劲增加性能其实已经不是一条比较明智的路线了。近几年众核CPU不断冒出头来,单CPU128个核心已经不是什么惊讶之事了,但是由于生态尚未成熟,它们目前仍被局限在并行度高耦合度低的处理场景比如网络包处理等。另一个迹象就是ARM生态的崛起,种种迹象表明这很有可能是一条光明大道。但是如何将传统生态导向这个道路上就不那么简单了。我们看到Intel正在搞SiPh硅光方案,其致力于硬件资源的灵活拼搭,如果粒度足够细,VMM其实就可以退出舞台了,这将又是一场硬件拆台软件的血腥战斗。


虚拟机和云计算
虚拟机的发展催生硬件加速方案,也正是因为硬加速,又使得虚拟机可以大范围应用,也正是如此,才将云计算的概念带了出来,也就是硬件又反过来加速了软件的变革。而随着量的上升,会影响质变,人们会发现其实VM这种东西是非常低效的虚拟化,VMM个人理解其实是一股具有邪性的阳气,他看似光鲜实则非常损耗阴实的,体现为过多不必要的操作系统实例。操作系统本来就是利用线程/进程来虚拟化多任务多用户的运行,每一次系统调用的开销是非常高的,让一个CPU同时运行多个操作系统实例,无疑是极大的浪费,上文提到过这种模式是单机性能过剩,而整体资源又无法得到池化时代的产物。而云计算架构的出现,会打破这个矛盾。云计算可能初生的时候就是一个全局虚拟机资源调度管理软件框架,但是一个事物毕竟是不断在成长进化的,云计算会最终找到它的使命,那就是大范围全局资源的池化、分配调度管理监控,也就是数据中心级的OS,做的事情与单机OS如出一辙。既然如此,那么AAAS(Application As a Service)应该是云计算最终要实现的状态,这就相当于打开屏幕,就出现一堆应用图标,点进去完成你要的功能,退出,结束。既然用户不需要IAAS,不需要直接面对操作系统,那么搞那么多VM实例其实就是没有必要的,空耗资源。云计算需要实现一个全局的应用进程级别的调度中枢,而不是调度VM。再来思考一下大机为什么需要VM?因为大机那个时代并没有现在这种云计算的概念,xAAS这个思维,你可以说那时候人脑残,那时候软件技术是很封闭而且不发达的,所以进行资源细粒度切分,用VM也算是快刀斩乱麻的方案。我们也看到进程级虚拟机(比如Linux Container)业逐渐在受到关注。这些都是云计算这个软件框架、这个宏观的OS的定义,那么这种定义会对硬件有什么影响?我想那一定会催生两个硬件形态的变革,一个就是上面所说的单点的性能要足够低,力度要足够细,单点性能“足够低”,这可能让人大跌眼镜,不过将来可真说不啊,众核CPU就是个很好的胚子;另一个是局部多层高速Fabric核间通信,由于CPU/核心可以任意切分和组合,他们之间一定需要一个高速总线相互连接,目前存在多种Fabric方案和产品,这块虽然比较低调冷门但是也还算成熟,加上硅光等技术会将Fabric隐身至机架外,这就为大范围池化提供了支撑。而这次硬件的变革很可能又会影响软件的架构,使得大规模并行计算不再需要MPI等远程消息传递机制,消息传递直接使用Fabric硬件加速的队列FIFO,会大大简化编程,有利于HPC的模式最终可以全面得到普及。

云计算,宏观操作系统,数据中心级的NUMA机,一切皆有可能。

论坛徽章:
20
CU大牛徽章
日期:2013-04-17 11:48:26羊年新春福章
日期:2015-03-10 22:39:202015年中国系统架构师大会
日期:2015-06-29 16:11:282015亚冠之平阳省
日期:2015-07-31 09:19:042015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-09-30 06:20:002015亚冠之柏太阳神
日期:2015-10-19 20:29:5915-16赛季CBA联赛之天津
日期:2016-11-29 14:03:4315-16赛季CBA联赛之北控
日期:2016-12-24 20:51:492015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-12 20:58:532014年中国系统架构师大会
日期:2014-10-14 15:59:00
18 [报告]
发表于 2014-05-06 16:19 |只看该作者
回复 15# 冬瓜头


    呵呵,瓜兄,你的两本《大话存储》我都看过了,而且最近又一直在关注云计算和大数据之类的“前沿”技术,所以发表了一些看法。硬件与软件的关系,就如同肉体与灵魂的关系,没有灵魂的肉体,就是僵局。没有肉体的灵魂,就是孤魂野鬼,四处漂淡。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
19 [报告]
发表于 2014-05-06 16:20 |只看该作者
冬瓜头 发表于 2014-05-06 15:52
关于这个话题,套用一句谚语就是三十年河东三十年河西,风水轮流转。软件和硬件一定是相互促进、相互拆台又 ...


请问瓜总,是拷贝过来的么?:wink:

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:49:45IT运维版块每日发帖之星
日期:2016-07-29 06:20:00
20 [报告]
发表于 2014-05-06 16:22 |只看该作者
beyondfly 发表于 2014-05-06 16:19
回复 15# 冬瓜头


谢谢。阴和阳真的可以描述很多事物,cpu和硬件属于阴,是实质;软件逻辑属于阳,是气,是能量,两者的作用关系很是为妙,这块可以让懂中医的来论证一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP