Monday, May 30, 2011

世界计算机名校的网络课程


虽然排名方法有很多种,但公认的计算机领域的世界顶级名校至少包括MIT、Stanford、UCB和CMU(排名不分先后)。这四所高校在计算机领域无不处在领头地位,在专业上又各有偏重,一起构成了计算机学术界的半壁江山。
下面是我选出的这四所高校在网络方面的代表课或特色课,授课者都是计算机界的大牛,面向对象均为研究生。
 
MIT
课程网址:http://mit.edu/6.829
主要开课人:Hari Balakrishnan
面向对象:研究生
内容:大规模网络系统的设计、实现、分析、测试等
形式:阅读(论文、技术报告、RFC)+报告

Stanford
主要开课人:Nick McKeown
面向对象:研究生
内容:网络系统设计、分析、下一代网络等
形式:阅读(论文为主)+实践(基于Openflow)

UCB
主要开课人:Ion Stoica, Scott Shenker
面向对象:研究生
内容:网络各层研究、网络热点问题等
形式:阅读(论文为主)+讲座+专题研讨
 
CMU
主要开课人:Srinivasan Seshan
面向对象:研究生
内容:网络原理、设计原则、应用问题等
形式:阅读(论文为主)+讲座+讨论

Saturday, May 21, 2011

“拨云探月”——云计算话题浅析(二)


在上篇文章中,我们分析了云计算出现的原因和必然性,相信可以帮助大家更好的理解和把握云计算的定位。在本次IT的泡沫即将破灭之际,必然要有大批没有质量的企业和产业被淘汰掉,遴选的唯一原则还是我们根本所说的“生产力原则”。因此,真正掌握云计算核心技术的企业是肯定可以存活下来的,也只有这批新型的企业模式,才会让IT产业更加蓬勃和高效。本篇文章中我们将探讨涉及到云计算/数据中心的几个核心技术问题,并展望下云计算的未来发展。

虚拟化

虚拟化的概念从有了计算机,甚至在计算机发明之前就已经被广泛的应用。但从来没有过一个时代像云计算时代一样,使得虚拟化变得如此重要。要理解虚拟化对云计算为何如此重要,首先就要深刻把握虚拟化的内涵。
什么是虚拟化?表面看来似乎很容易理解,但要下个准确的定义却不是那么简单。网上随便一搜,说法众说纷纭。Wikipedia上说虚拟化是“一個表現邏輯群組或電腦資源的子集的進程”,百度百科上说“虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行。”大大小小的技术论坛上也是瞄准添加一层新的抽象层的角度来进行描述,简而言之就是重新抽象。
应该说这些说法都多多少少的描述了虚拟化要做的事情或者相关的技术手段,但并没有涉及到虚拟化的本质所在。以最常见的主机虚拟化为例,一台硬件机器放在那里,怎么让它能跑多个程序甚至是多个操作系统?很自然的我们采取的手段是创建一个新的虚拟层,在此新层上运行多个程序/系统,并让它们感觉不到其他个体的存在。这个过程就典型采用了虚拟化的手段,但我们不能把这个手段就当做虚拟化。
我曾思考这个问题数年,却一直无法用语言具体描述那种玄妙的体会,直到有一天看到下面的文字,突然如醍醐灌顶。
“道可道,非常道。
名可名,非常名。
无,名天地之始,有,名万物之母。”
这是《道德经》第一章一开头的文字,相信不少人如我都曾读过,却从来没把它跟云计算联系起来。这一段说了两件事情,第一件事情是“道”,这是根本,是宇宙产生的本源依赖;第二件事情是“名”,是万物变化的初始动力。
何为“名”?
为何一棵树要被定义为一棵树?
为何一块石头要被定义为一块石头?
在为万物起名之前,万物早已存在;为万物起名之后,万物并没有变化。变化的是我们,是命名者。就如同硬件的机器一样,造好后摆放在那里,你让它被解释为一台机器,那么就可以做一台机器做的事情;你让它被解释为多台机器(对程序或系统而言),那么它就能同时运行多个实例。
“名”,或者说解释,才是虚拟化的本质所在。
从这个角度,我们重新来看待虚拟化和云计算的关系。在上一篇中提到,现代可扩展的数据中心主要通过糅合大量不可靠的廉价节点来构造一朵具备强大计算能力并可靠的云。从本质上说正是一个“名”的问题,或者说虚拟化的问题。我们要把普普通通的不同类型的硬件机器解释为统一的数据中心!
因此,这里面就涉及到大量的虚拟化相关的技术问题。包括性能、扩展、管理、可靠性。值得庆幸的是,虚拟化技术这些年来一直在飞速发展(大量的软件虚拟化要容易的多),并未对云计算的需求形成显著瓶颈。

交换

虚拟化虽是云计算发展的基础技术,但因为应用场景十分类似,并未形成瓶颈。而另外一项根本技术——交换则不然。
我们知道,现代的Internet实际上是运行在以太网及少量其他类型网络基础上的。别看Internet规模庞大,构造的原理却十分简单——利用交换节点把主机连接起来。
一般来说,我们可以很轻松的通过二层交换机连接本地网络,然后多个交换机再互联形成一个不小的局域网,利用二层交换机构建的局域网可以运行的十分稳定,似乎是个不错的解决方案。但当要扩展出去的时候,就有了新的问题。
我们知道,交换机之所以能实现交换,是因为它记住了每个端口上的机器mac,或者说它知道谁在哪里。而主机位置可能会发变化,例如从一个端口变到另一个端口,这个时候交换机就需要有机制来不断的更新它的内部记录,以随时跟踪最新的机器位置信息。当需要完成交换的主机数目增多的时候,不仅硬件上的端口不够用,内部的位置信息维护也成了大问题。不光维护大量的位置数据无法实现快速的查找。当机器位置更新频繁的时候,大量的arp相关报文将使交换机疲于应付。
为了解决这个问题,人们在二层以上新定义了IP层,试图利用IP地址的聚合来降低这些代价(当然,IP层的意义远不仅于此)。这也就是路由的由来。传统的交换机无法完成三层的交换(现代交换机很多都支持三层交换,但都是小规模),而路由器则可以通过维护庞大的IP段表来实现不同本地网络之间的流量传输。但相比交换机而言,路由器无法很快的更新位置信息。一次路由错误可能会导致网络几分钟甚至到几个小时无法work。
总结一下,二层交换能较快的跟踪位置信息,但无法处理大规模网络;三层的路由则相反。
对于目前的互联网来说,二层和三层交换的紧密配合,能够很好的处理目前的情况。毕竟,我们从一个地区转移到另一个地区,总是默认要重新连接,并不需要保持工作的连续。而到了现代的数据中心,问题便浮现出来了。
由于我们有大量的互联网的设计经验,很自然的,在设计现代数据中心的时候借鉴了类似的结构。这使得现代的数据中心从某种意义上来说其实是一个小型的Internet,只是真正的Internet并不属于某一家企业来统一管理而已。从Internet到数据中心,计算的个体从个人主机变成了虚拟机,同时由于业务连续的需要,移动性的需求变得敏感起来。即在虚拟机的迁移过程中,我们希望能保持它提供服务的连续。在二层网络中这不是问题,二层交换机能很好的跟踪位置信息,但是到了大规模的数据中心,我们不得不采用类似三层交换的机制,这就使得位置的跟踪与规模的扩展之间的矛盾凸现出来。
所有炒数据中心的交换设备,都躲不开这个问题。这一问题在传统的交换架构下其实并没有太好的解决思路,所以必须要改革。学术界以VL2为代表的一系列解决方案,都是试图将位置信息与名称信息(IP信息等)剥离开来,绕过矛盾。
其实,位置与名称信息的剥离,在数年前研究Internet的时候就提过相关思想,但因为应用并不多见不为人所关注,但到了数据中心就成了首要解决的问题。
另外一个问题,也是传统交换机制在新挑战下被发现的,即多路径的问题。简而言之,传统的交换机架构是不允许成环的,通用的生成树协议会自动维护唯一的两点之间的路径。带来的好处是可以避免复杂的交换管理,问题是浪费了可能存在的路径。
在互联网时代,我们可以容忍点到点吞吐量不满载,可以通过冗余链路来实现高可靠的冗余。但到了数据中心时代,首要的需求是交换性能,为了实现性能和可靠性,我们恨不得充分利用每一条链路。这种情况下,就不得不舍弃生成树,重新设计更为复杂的交换机制。这一问题也给现代交换设备生产商带来了新的挑战。
无论是Cisco的Nexus/FabricPath Jawbreaker,还是Juniper的QFabric,都为了数据中心带来了新的技术思想和解决方案,但都有其存在的问题。目前产业界,还远没有一种完善的方案能力压群雄,成为事实的标准。这也使数据中心这块大蛋糕之争,充满了不确定的迷雾。

其他问题

其实,由于现代数据中心结构与Internet的相似性,原先很多的问题,在数据中心的应用环境中仍然存在。例如安全问题、能耗问题、灾备恢复等。
因为数据中心的管理单一化、结构化,安全问题主要面临是外部的攻击和内部的数据管理。虽然看似简单的,但安全性的需求更高了,因为一旦出现问题,带来的损失将是惊人的。亚马逊因为一个小的配置错误导致部分机器宕机就是一个鲜活的例子。
能耗问题这些年颇为火,除了环保主义者的吹捧外,也是实实在在的利益相关。几十万台机器和交换设备每天烧掉的电费也是个惊人的数字。因此,如何实现绿色型数据中心是实在之谈,而非哗众取宠。以谷歌、Facebook等IT巨头的设计为例,主要采取的方法包括动态调整负载以关闭部分节点,减少冷却成本、采用低耗硬件等思路。
灾备恢复始终是系统设计的重要指标。网络结构的复杂化,使得配置和管理成为不可能的任务。而在数据中心中,由于拓扑固定、管理同质,使得管理任务大为简化。但人始终不能胜任对故障的及时处理。一旦出现故障,如何及时的甚至零损失的恢复,现代数据中心并没有很好的解决思路,这将依赖于网络管理技术和设计上的进一步发展。

发展趋势

从目前的情况来看,数据中心的发展是必然,同时,由于技术的发展,未来的数据中心预计将出现如下几个趋势。
规模进一步增大。现在的数据中心往往有几十万节点的规模,但在未来这一规模将更加庞大。但规模的增加不意味着体积等的增加,不意味着数据中心数量的增加。
能效进一步提高。无论是从硬件的发展还是架构的设计上,能效都将成为重中之重。
管理进一步简单。交换技术的发展将提出新型的数据中心交换设备,使得交换节点在整个数据中心中的比例下降,同时,交换设备的智能化得到提高,少数管理员将能轻松管理大规模的数据中心。
性能必然提高。无论是数据中心群的被提出,还是根本技术的改变,例如采用光数据中心,新的存储方式等,都会使得数据中心的性能得到进一步提高。甚至在不远的未来,可能云计算真的就变成了“智”计算——由远在云端演变成时时刻刻、随时随地,由用户可感知演变成融入生活、无处不在。

Saturday, May 14, 2011

Interop 2011 Las Vegas 大会


注:2011年5月11日下午,Las Vegas McCarran国际机场候机厅,于老虎机闹腾的音乐声中。
作为IT领域一个比较年轻的会议,Interop的定位却不低,官网自己宣传的定位是“Interop is the leading business technology event with the most comprehensive IT conference and expo available”。跟其他大会类似,分为专题会议和大型会展(Expo)。一般来说,从参与会展的生产商list基本上就能确定大会的影响力。从这个角度,Interop确实称得上是全球IT领域颇具影响力的大会了,基本上叫得出名和叫不出名的IT厂商都有出席。
自06年举行以来,每年至少分别在春季和秋季在Las Vegas和New York举行一次,今年更是夸张,增加了日本的Tokyo和印度的Mumbai,全球范围内要举行4次(喜欢旅游的同学们可不要错过)。Las Vegas这次是今年首次,规模十分惊人,数百家企业参加Expo,专题会议也有近百个,会期从5月8日到12日持续5天,题目更是几乎覆盖了IT技术的所有领域。
从个人参会体验看,云计算/数据中心确实是如日中天,几乎每家都跟这个靠近乎,Expo上更划出了专门的一块作为云计算区(另一块专区是老问题——安全)。不管是业界巨擘如Cisco、Juniper、HP等等,还是一些Startup类公司。讨论的热点也多在数据中心的交换、虚拟化、管理等关键话题上。值得一提的是,NEC、HP、Juniper、IBM等几家都参与进了Openflow Lab,在会上由Big Switch牵头做了展示,关注的人不少,不过感觉好奇的多,懂技术的少(Big Switch这个startup很有意思,有机会单独撰文予以介绍)。
另外,跟前些年参会大家都是人手一台thinkpad不同,今年不少人是一台ipad(当然做技术的还是thinkpad居多,像我过来前犹豫很久还是带着小黑过来了),会展的商家吸引人的花样也多是ipad。我老早就说过,单纯从革命性上来说,iphone远不及ipad,这是真正是找对了需求。商旅人士要求的无非一个是待机长、一个是轻便和随开随用,这点上传统的laptop或cellphone都很难搞定。
最后8g下做key note的几个高管,秃顶的不少呀,至少是前秃,级别高的甚至顶秃,看来确实是要“聪明绝顶”才能做高管了。
其他闲话不再多说,上pic(主要是5月10日拍的)。
IMG_0093
keynote现场。
IMG_0094IMG_0096
Juniper在会上炒作QFabric,但就在当天得知,设计人David Yen跑到Cisco整Nexus去了,Cisco估计乐坏了。
IMG_0097
MS这些年露面不少,甚至网络会议也纷纷掺和。
IMG_0099
云计算专区,IBM、EMC、Intel、MS等都在这个区。
IMG_0098
不知道为何,就是喜欢EMC的这种蓝色style,多来一张。
IMG_0100
EMC俨然虚拟化的领头人,碰上云计算这个千载难逢的好机会更是出尽了风头呀。
IMG_0101IMG_0102
混久了圈子的人,看口号基本就能猜出是哪家公司。IBM这些年无论在啥场合都炒创新和智能。虽然这个理念大家都会用,但被IBM用出来就气象俨然,俨然宗师气派。
IMG_0103IMG_0104
IMG_0105
Juniper的QFabric,简单的说就是一块超大的交换机。我原来讨论数据中心问题的时候曾跟导师开玩笑,说随着技术发展,将来能实现N对N的超级大交换机,能力无限,那么数据中心很多问题都迎刃而解了。本是一句玩笑话,谁知1个月后,就获知了QFabric推出的消息。
IMG_0106
HP带来了自家的一体化的交换、安全、存储解决方案。
IMG_0107
of lab名头颇大,吸引了不少眼球,但炒作的还是基本的of理念。
IMG_0108IMG_0109
of lab演示现场。
IMG_0110IMG_0111IMG_0112
跟Cvm的工程师聊,说隔了两年时间才由16core升级到32core,对于IT产业来说,感觉产品的市场周期有些略长了。不过人家的东西还是蛮好用的。
IMG_0113
IMG_0119
安全专区,老面孔颇多,新面孔也不少。没有看到Plato,不能再听nir同学侃侃神谈,颇为可惜。
IMG_0114IMG_0115IMG_0116IMG_0117
冰雕是吸引观者的老把戏了,不过还是得承认,视觉效果颇佳。
IMG_0149
IMG_0150
参会的国内厂商,除了华赛勉强算上,就是nsfocus(绿盟)了,听说今年在北美有office了。无论如何,走出国门都颇为不易,希望民族企业们先不要急着内斗,能团结起来,先发展起来成熟的市场其实对大家都有好处,最终走向全球领域的大舞台。