logo资料库

弯曲评论论文集2012.pdf

第1页 / 共247页
第2页 / 共247页
第3页 / 共247页
第4页 / 共247页
第5页 / 共247页
第6页 / 共247页
第7页 / 共247页
第8页 / 共247页
资料共247页,剩余部分请下载后查看
1 前言
2 云计算
2.1 集中云
2.2 分散云
2.3 云计算小结
3 数据中心
3.1 Client 与Server
3.2 层次化与扁平化
3.3 三层结构与两层结构
3.4 Server 与Storage
3.5 数据中心多站点
3.6 多站点选择
3.7 数据中心小结
4 网络
4.1 路由与交换
4.2 EOR 与TOR
4.3 控制平面与转发平面
4.4 Box 与集中式转发
4.5 Chassis 与分布式转发
4.6 Clos 与VOQ
4.7 网络小结
5 技术
5.1 技术结构
5.2 网络虚拟化
5.2.1 网络多虚一技术
5.2.2 网络一虚多技术
5.3 技术理解
5.4 VM 本地互访网络技术
5.4.1 Cisco 接入层网络虚拟化
5.4.2 802.1Qbg EVB
5.4.3 小结
5.5 Ethernet 与FC 网络融合技术-FCoE
5.5.1 FC
5.5.2 FCoE
5.5.3 NPV
5.5.4 小结
5.6 跨核心层服务器二层互访
5.6.1 控制平面多虚一技术
5.6.2 数据平面多虚一技术
5.6.3 控制平面一虚多技术
5.6.4 小结
5.7 数据中心跨站点二层网络
5.7.1 光纤直连
5.7.2 MPLS 核心网
5.7.3 IP 核心网
5.7.4 小结
5.8 数据中心多站点选择
5.8.1 GSLB
5.8.2 LISP
5.9 技术总结
6 终章
7 感言
弯曲评论论文集(上) (TekTalk Lecture Notes) [谨于此文集献给以邓稼先(1924/6/25/--1986/7/29)/等为代表的,为国家和民族利益鞠躬尽瘁的科技知识分子] 弯曲评论编辑部 2012年6月25日
目录(上) 对中国系统软件发展的思考与建议 系统设计黄金法则:简单之美 浅谈性能优化方法和技巧 下一代互联网初探 Cisco和Junper操作系统简析 OpenFlow技术深入分析 多核系统大讨论与通信设备的思考 浅谈高端CPU的Cache Page-Coloring ARM与x86 云计算数据中心网络技术 陈怀临 包云岗 KernelChina 高飞 杰夫 russellw 弯曲评论 陈怀临 王奇 Roy
对中国系统软件的思考与建议 陈怀临,首席科学家 《弯曲评论》 www.tektalk.cn huailin@tektalk.cn 1. 引言 此原文成稿于2004年并发布于系统计算研究所网站上,并被许多网站转载,转眼近四年过 去。现重读此文,颇有感慨。现校订整理发表于此,对一些学术和技术观点做了一些相应 的补充或修改。关于中国系统软件的评论已经不少。大多数是从爱国主义与民族产业的角 度来阐述的。本文试图从技术的角度来探讨系统软件,并提出中国系统软件方面的问题, 更为重要的是,中国的机会所在。另外对要达到长远战略目标所应该做的一些准备提出一 些不成熟的建议。 2. 系统软件与操作系统 系统软件是一个比较大和泛的概念,很难有一个具体的定义。一般而言,我们可以认为: 操作系统(OPERATING SYSTEM),编译器与工具链(COMPILER AND TOOL-CHAIN), 编程环境(特别是高性能编程环境,如PVM, MPI, GLOBUS等等),中间 件(MIDDLEWARE,如CORBA, DCOM)等都属於系统软件的范畴。 其中,操作系统是系统软件中的一个重要部份。编程环境和中间件技术都是与操作系统非 常紧密结合在一起的。 一个国家在软件技术方面的强弱基本上可以通过其系统软件技术,或操作系统的水平来体 现。 换句话说,一个国家在计算机软件方面的发展战略,必须对操作系统的研发,使用规划等 等有一个清晰的认识和定位。不能绕过或有意规避。否则,对其它方面,如应用系统,是 把握不住发展脉络的。
操作系统按应用的领域划分,一般可以分为:桌面操作系统、服务器操作系统、嵌入式操 作系统等。比较典型的例子是: × 桌面操作系统: Microsoft Windows Series、 Linux、 BSD、和其他的一些UNIX的变 种。 ×服务器操作系统:高档Microsoft Windows和配套的Cluster。Linux/BSD/Solaris服务器和 相应的Cluster技术等,比较熟悉的系统应用如:Google的LINUX机群系统,Yahoo的BSD 服务器机群系统等等。 *嵌入式操作系统:从概念上来讲,这是一个比较模糊和混乱的灰色区域。从传统操作系 统方面(如LINUX,BSD等),工业界和开源社区花了很多力量力图将非实时 (real-time)的LINUX系统向嵌入式领域靠拢,典型的如:Monta Vista Inc 和FSMLabs, 另外VXWORKS也有很多的装机量。这些操作系统一般都应用在中低档嵌入式系统方 面;或高档系统控制平面(CONTROL PLANE)上。 从嵌入式设备公司的角度,对嵌入式操作系统的理解与经典的操作系统理解不一样,如华 为,中兴,Cisco, Juniper, Foudry等在路由器,交换机公司。从这些大型通信设备公司的 角度,其操作系统包括更广泛的内容,如CISCO的IOS和最近的HFR/CSR, JUNIPER的JUNOS等等,传统的操作系统在这些大型的嵌入式系统中扮演着一个内核或 基础的地位,并且被人为的修改以满足高档嵌入式系统,特别是高端系统特殊的需要。当 然有一点可以肯定:即使对於CISCO和JUNIPER这样的技术力量非常雄厚的公司而言,他 们在传统操作系统方面的能力也不强,这也是为什么他们系统的基础仍然是传统的操作系 统,比如CISCO 的HFR建立在QNX/NEUTRINO微内核(Micro-Kernel)的基础上。JUNOS的 控制平面建立在BSD的基础上,数据平面(DATA PLANE)软件部分建立在一个微内核 上。有一点要注意:CISCO和JUNIPER的重点是在其数据平面。但是控制平面软件工作量 和复杂性更大,要求更高。 在嵌入式操作系统方面,另外一个巨大的使用领域是Mission Critical Systems. 比如,美国 宇航局(NASA)的火星探索器上的软件系统,大型军事监控系统,航空控制系统等等。 这方面要注意的公司是Green Hills Inc. (www.ghs.com). 笔者认为,NASA目前仍然没有放 弃VXWORKS的主要原因是代码的历史遗留(Legacy)问题。目前在军事方面的OS应 用,Green Hills已经取得了主导地位。Green Hills RTOS系统的核心是ARINC-653。在这 方面,开源的LINUX,BSD 等等向ARINC-653方面发展的可能性不大,即 使IBM在LINUX后面出钱出力。单靠自由软件的力量在Mission Critical系统方面有所作为 可能性不大。 从上述各个方面的阐述分析,我们要考察的是我们的贡献在哪里?更重要的是,我们的重 点应该放在哪里? 3. 中国系统软件的现状 随着芯片设计产业在中国的逐步发展,中国的系统软件研发面临着一个进退维谷的境界。
最近几年来,大陆陆续推出了一系列的中低端的通用CPU,SoC和一些专用的DSP芯片。 通过发布的信息,可以了解一些性能参数,比如: “据参与项目开发的技术人员介绍,目前的龙芯2号最高频率为300MHz,功耗1W-2W,成 品率约为80%左右。通过使用相关测试对龙芯2号的性能分析表明,相同主频下龙芯2号的 性能已经明显超过PII,达到PIII的水平,设计人员称龙芯2号的设计SPEC CPU2000分值可 达到300分以上,设计频率在500MHz以上时性能可与1GHz以上的PIII或PIV的性能相当。” 从上述参数可以看见,通用CPU设计方面我们已经开始起步并且积累了一定的工程经验。 关于龙芯的更多资料可参阅www.xtrj.org/godson. 虽然对于硅谷的CPU或网络处理器公司而 言,做一个MIPS的CORE的CPU是一个相对并不复杂的工程项目,但毕竟是我们自己从无 到有走了一回。工程经验价值很大。 但我们在系统软件领域基本上是没有任何量化的成绩。基本是LINUX, BSD等的一些相 对简单的移植,基本上还没有涉及到BSP的地步。KERNEL的重要工作和贡献就更无从谈 起。我们在商业操作系统方面的工作表现比较清晰,也就是基本上没有真正市场化的系 统。在对开源操作系统方面的参与和贡献方面,通常几个标志性的判别指数是:有多少人 能将代码加LINUX, BSD的代码系统里?应该是不多。有几个有影响力的系统级的项目 在http://sourceforge.net上?引用数是多少被用户下载的数量是多少?开源社区的人参加共 建的数目是多少? 我们的贡献基本上接近为零。这就是现实。没有任何非常突出的贡献。 我国的商业系统软件公司其实并不少。但好像主要还是在汉化方面和用户界面的调整上做 一些工作,再深一点的,就是对不同的用户需求,做一些相应的定制裁剪工作,比如,对 企业单位的系统集成,调试和安装。红旗LINUX是其中比较典型的一个代表。下面的的 链接是红旗LINUX的产品介绍:http://www.redflag-linux.com/chanpin/index.php。在其网站 上,对其产品的介绍是这样描述的:“红旗软件提供高端服务器操作系统、集群解决方 案、桌面版操作系统、嵌入式系统以及技术支持服务和培训等一系列的Linux 产品和服 务,开创全新的计算体验,帮助企业增强其整体竞争力,提高个人工作效率,将用户业务 价值和 Linux 的自由开放精神有力地结合在一起。” 我们可以看出红旗LINUX的产品和市场方向:LINUX为操作系统的数据中心服务器,企 业服务器,LINUX桌面系统,和嵌入式产品等等。下图所示是红旗Linux描述其“红旗核心 技术”的体系结构。
在红旗Linux的网站上,引人注目的是这样的词汇:“红旗嵌入式核心技术框架”。从图 中,笔者无法判断红旗LINUX的技术在那里,对开源社区的贡献在那里。在Linux核心的 工作在那里。笔者的观点是:还没有或者没有公布。与之相反, MVISTA IN(www.mvista.com )在对LINUX KERNEL PREEMTPTION对方面的贡献很大,其许多工 作已经进入LINUX 2.6中。另外,MVISTA开发的大量工具也为基於LINUX的应用程序开 发提供了非常重要的支持。 FSMLabs 是另外一个在LINUX领域,特别是实时方面,比较引人注意的一个。他们通过 一个LKM的方式将原来LINUX的中断处理程序和调度截获,并将自己的调度算法放入其
中,其模块称为RTCORE。通过提供一套RT_THREAD的编程方式,用户可以编 写EITHER 用户态的实时程序OR核心态的实时程序。这种显示的将UNIX DOMAI与REAL_TIME DOMAIN在调度上分开的方法在一定的程度上解决了经 典UNIX(如LINUX,BSD)等等操作系统核心操作的非确定性而带来的非实时性的重要问 题,比如:要支持高速的硬实时的应用;控制平面和数据平面没有分开的中高档网络通信 设备(如路由器,交换机,防火墙等等)。 上述是举了两个例子来说明别人的工作在什么方面。当然,MVISTA和RTLINUX在技术 上多有问题需要解决。笔者会在下面的章节中讨论。 总之,通过阅读红旗LINUX其他产品的介绍,我们大概可以得出这样的结论:红 旗LINUX基本上还是一个LINUX产品的集成和发布商,基本上无单独二次深层开发的计 划或能力。 在整理此文时,笔者发现,红旗Linux现在已经将飞漫软件公司的Linux为基础 的MiniGUI图形系统融入其红旗Linux的嵌入式解决方案中。这确实是一个不错的进步。 在2004年这篇文章成文时,还没有这个集成的方案。笔者认为,MiniGUI的对低档嵌入式 设备或便携式设备(内存都比较小)是一个不错的应用软件。笔者将在以后专门写一篇评 论文章介绍飞漫软件。 “一叶而知秋”。通过对红旗LINUX的技术结构的考察,我们可以这样认为,国内其他的类 似的做Linux销售、集成、定制的操作系统公司应该都处于这个层面上。 2006年,国防科技大学发布了其麒麟操作系统。这一新闻在网络上引起了激烈的讨论。许 多BSD的技术人员通过分析得出麒麟操作系统其实是FreeBSD的一个克隆。其中一篇从内 核相似性分析的技术文章引起了广泛的注意:麒麟操作系统内核同其他操作系统内核的相 似性分析。从文章作者的数据分析,其结论是:“Kylin 2.0.0和FreeBSD 5.3的相似度达到 了60.26%,与FreeBSD也达到了59.04%的相似度”, “从已知的数据我们只能说,创新可能 只有10%到20%之间”。 其实就麒麟操作系统的创新性和独立研发的程度,国防科技大学,在受到各方面质疑后, 也公开表示麒麟操作系统不是一个独立研发的系统,而是一个充分利用BSD社区的微内
核Mach和FreeBSD5.x的基础上经过一些算法修改和增添一些新功能而来的。下图所示为 国防科技大学的相关声明:
分享到:
收藏