精彩科技视频:逼真的物理模拟动画

(11个打分, 平均:5.00 / 5)

2009的最佳发明 。时代杂志

(6个打分, 平均:3.00 / 5)

剖析系统虚拟化(1)- 简介

因为在写探索UCS系列的时候,我发现弯曲的受众群主要以从事网络和通信为主,对系统虚拟化这方面不是特别熟悉,从而导致大家有可能无法很好地吸收UCS的一些技术,所以我特地准备写一个关于系统虚拟化的系列,来帮助大家加深对虚拟化技术的了解,希望大家能喜欢。


    简单而言,虚拟化(Virtulization)是表示计算机资源的抽象方法。通过虚拟化可以对包括基础设施,系统和软件等计算机资源的表示,访问和管理进行简化,并为这些资源提供标准的接口来接受输入和提供输出。

    虚拟化技术有很多种,比如,网络虚拟化,内存的虚拟化,桌面虚拟化,应用虚拟化和虚拟内存等等。因为篇幅的原因,本系列将重点关注系统虚拟化,特别是X86平台。今后此系列当中提到的虚拟化皆指系统虚拟化。

    系统虚拟化的目的通过使用虚拟化管理器(Virtual Machine Monitor,简称VMM)是在一台物理机上虚拟和运行一台或多台虚拟机(Virtual Machine,简称VM)。VMM主要有两种形式:

    1. Hypervisor VM,它直接运行在硬件(Bare Metal)上面,提供接近于物理机的性能,并在I/O上面做了特别多的优化,主要用于服务器类的应用,也被称为“Type 1”。
    2. Hosted(托管)VM,它运行在物理机的操作系统上,虽然其本身性能不如Hypervisor(因为它和硬件之间隔了一层OS),但是其安装和使用非常方便,而且功能丰富,比如支持三维加速等特性,常用于桌面应用,也被称为“Type 2”。

    系统虚拟机的分类

    由于采用技术的不同,可以将系统虚拟化分为五大类:

    硬件仿真(Emulation)

    简介:属于Hosted模式,在物理机的操作系统上创建一个模拟硬件的程序(Hardware VM)来仿真所想要的硬件,并在此程序上跑虚拟机,而且虚拟机内部的客户操作系统(Guest OS)无需修改。知名的产品有Bochs,QEMU和微软的Virtual PC(它还使用少量的全虚拟化技术)。

    图1. 硬件仿真架构图

    优点:Guest OS无需修改,而且非常适合用于操作系统开发,也利于进行固件和硬件的协作开发。固件开发人员可以使用目标硬件 VM 在仿真环境中对自己的实际代码进行验证,而不需要等到硬件实际可用的时候。

    缺点:速度非常慢,有时速度比物理情况慢100倍以上。

    未来:因为速度的问题,渐趋颓势,但是还应该有一席之地。

    全虚拟化(Full Virtulization)

    简介:主要是在客户操作系统和硬件之间捕捉和处理那些对虚拟化敏感的特权指令,使客户操作系统无需修改就能运行,速度会根据不同的实现而不同,但大致能满足用户的需求。这种方式是业界现今最成熟和最常见的,而且属于 Hosted 模式和 Hypervisor 模式的都有,知名的产品有IBM CP/CMS,VirtualBox,KVM,VMware Workstation和VMware ESX(它在其4.0版,被改名为VMware vSphere)。

    图2. 全虚拟化架构图

    优点:Guest OS无需修改,速度和功能都非常不错,更重要的是使用非常简单,不论是 VMware 的产品,还是Sun(Oracle?)的 VirtualBox。

    缺点:基于Hosted模式的全虚拟产品性能方面不是特别优异,特别是I/O方面。

    未来:因为使用这种模式,不仅Guest OS免于修改,而且将通过引入硬件辅助虚拟化技术来提高其性能,我个人判断,在未来全虚拟化还是主流。

    半虚拟化(Parairtulization)

    简介:它与完全虚拟化有一些类似,它也利用Hypervisor来实现对底层硬件的共享访问,但是由于在Hypervisor 上面运行的Guest OS已经集成与半虚拟化有关的代码,使得Guest OS能够非常好地配合Hyperivosr来实现虚拟化。通过这种方法将无需重新编译或捕获特权指令,使其性能非常接近物理机,其最经典的产品就是Xen,而且因为微软的Hyper-V所采用技术和Xen类似,所以也可以把Hyper-V归属于半虚拟化。

    图3. 半虚拟化架构图

    优点:这种模式和全虚拟化相比,架构更精简,而且在整体速度上有一定的优势。

    缺点:需要对Guest OS进行修改,所以在用户体验方面比较麻烦。

    未来:我觉得其将来应该和现在的情况比较类似,在公有云(比如Amazon EC2)平台上应该继续占有一席之地,但是很难在其他方面和类似VMware vSphere这样的全虚拟化产品竞争,同时它也将会利用硬件辅助虚拟化技术来提高速度,并简化架构。

    硬件辅助虚拟化(Hardware Assisted Virtualization)

    简介:Intel/AMD等硬件厂商通过对部分全虚拟化和半虚拟化使用到的软件技术进行硬件化(具体将在下文详述)来提高性能。硬件辅助虚拟化技术常用于优化全虚拟化和半虚拟化产品,而不是独创一派,最出名的例子莫过于VMware Workstation,它虽然属于全虚拟化,但是在它的6.0版本中引入了硬件辅助虚拟化技术,比如Intel的VT-x和AMD的AMD-V。现在市面上的主流全虚拟化和半虚拟化产品都支持硬件辅助虚拟化,包括VirtualBox,KVM,VMware ESX和Xen。

    优点:通过引入硬件技术,将使虚拟化技术更接近物理机的速度。

    缺点:现有的硬件实现不够优化,还有进一步提高的空间。

    未来:因为通过使用硬件技术不仅能提高速度,而且能简化虚拟化技术的架构,所以预见硬件技术将会被大多数虚拟化产品所采用。

    操作系统级虚拟化(Operating System Level Virtualization)

    简介:这种技术通过对服务器操作系统进行简单地隔离来实现虚拟化,主要用于VPS。主要的技术有Parallels Virtuozzo Containers,Unix-like系统上的chroot和Solaris上的Zone等。

    图4. 操作系统级架构图

    优点:因为它是对操作系统进行直接的修改,所以实现成本低而且性能不错。

    缺点:在资源隔离方面表现不佳,而且对Guest OS的型号和版本有限定。

    未来:不明朗,我觉得除非有革命性技术诞生,否则还应该属于小众,比如VPS。

    五大类之间比较

    根据个人的经验,我在性能,用户体验和使用场景这三方面对这五大类进行了比较,具体请看下图:

    性能(和物理机速度之比) 用户体验 形式
    硬件仿真 30%- 简单 Hosted
    全虚拟化 30%-80%+ 简单 Hosted/Hypervisor
    半虚拟化 80%+ 困难 Hypervisor
    硬件辅助虚拟化 80%+ 一般 Hosted/Hypervisor
    操作系统级虚拟化 80% 困难 类似于Hypervisor

    表1. 系统虚拟化五大类之间的比较

    因为这表只是我笼统的经验之谈,仅供参考,特别在操作系统级虚拟化这块。

    系统虚拟化的用处

    主要有那些用处呢?

    1. 软件测试,通过使用VirtualBox和VMware Workstation来配置测试环境,不仅比物理方式快捷很多,而且无需购买很多昂贵的硬件,更重要的是,通过它们自带的SnapShot/Pause功能可以非常方便地将错误发生的状态保存起来,这样将极有利于测试员和程序员之间的沟通。现在已经有很多软件都通过虚拟机的形式进行测试,最著名的例子,莫过于以VirtualBox虚拟机形式发布的Chrome OS测试版。我第一次接触到虚拟化技术强大威力就是在软件测试方面。
    2. 桌面应用,通过诸如VirtualBox和VMware Workstation等桌面虚拟化软件能让用户使用其他平台的专属软件,比如使用Linux的用户能够通过VirtualBox上虚拟的Windows环境来访问使用ActiveX技术的网上银行。
    3. 服务器整合,通过 VMware ESX 和 Xen 能够将多台物理机上的工作量整合到一台物理机上。现有普遍的整合率在1:8左右,也就是使用这些软件能将原本需要八台物理机的工作量整合到一台物理机上。服务器整合不仅能减低硬件,能源和场地等开支,还能极大地简化IT架构的复杂度。
    4. 自动化管理,通过使用类似DRS(Distributed Resource Scheduling,分布式资源调度),Live Migration(动态迁移),DPM(Distributed Power Management,分布式电源管理)和HA(High Availability,高可用性) 等高级虚拟化管理技术,能极大地提高整个数据中心的自动化管理程度。
    5. 加快应用部署,通过引入虚拟化应用发布格式OVF(Open Virtualization Format),不仅能使第三方应用供应商更方便地发布应用,而且使系统管理员非常简单地部署这个应用(大多数情况下只要轻轻一个点击就可以完成整套部署工作)。

    本篇结束,下篇将关注X86虚拟化技术的发展。

    参考资料:

    1. 《虚拟化与云计算》
    2. 《系统虚拟化 – 原理与实现》
    3. 虚拟化的定义
    4. 虚拟 Linux
    (6个打分, 平均:5.00 / 5)

    IPV6演进

    IPV6的商用还需要一个长期的过程来演进,在很长一段时间需要IPV4/IPV6共存。城域网全网使用IPV6是未来一段时间的目标,预计要到2020年左右才能实现全网IPV6。升级到IPV6需要从核心层、业务控制层面、接入层面和业务应用均要全面支持IPV6,从现网IPV6城域网升级至IPV6城域网至少需要下述几个阶段:

    1、 IPV4城域网(现网)

    2、 IPV4/IPV6共存

    3、 IPV6城域网

    其中IPV4与IPV6共存阶段是一个较为长期并需要大量设备升级和割接扩容的阶段,是以后城域网一个重要的阶段。对于该阶段我们建议关注以下内容:

    1、 地址规划

    2、 核心和业务层面升级至IPV6

    3、 接入层面升级至IPV6

    4、 IPV4组播业务升级至IPV6

    IPV6地址管理一直是所有运营商最关心的问题,合理的地址分配方式和地址标识易于推进IPV6运营和管理。核心和业务层面的现网大部分设备可支持IPV6,因此在过渡阶段对于核心层面与业务层面建议部署dual stack,核心层面和业务层面设备同时提供IPV4与IPV6网络环境。而接入层面由于现网设备种类繁多,功能支持不一,需要进行大量的设备扩容、升级或替换后才能支持IPV6,因此接入层面的升级将是城域网升级至IPV6的关键的一部分,接入网演进至IPV6阶段需要两个方向:1、BRAS连接支持IPV6的接入网为用户提供直接的IPV6服务;2、BRAS(dual-Stack)通过隧道或6RD为接入网用户提供服务,接入网不能完全支持IPV6,用户使用dual stack,在过渡阶段将接入网慢慢升级至IPV6。另外一个IPV6问题是组播业务的升级,需要将原有IPV4组播升级至IPV6,该方式只能在接入网过渡阶段采用两个方向的情况下才能进行IPV4组播业务至IPV6升级。

    图示:

    ipv6演进

    城域网IPV6演进思路:

    1、核心层面:

    1.1、在整个城域网中启动IPV6,实现部署IPV4/IPV6 Dual Stack,城域网中IPV4与IPV6网络共存;

    1.2、当IPV6业务发展到一定阶段,用户大面积采用IPV6后可以考虑取消IPV4承载。

    1.3、核心层面需要支持6PE/6VPE;支持Carrier Grade NAT(CGN)或者是叫Large Scale NAT(LSN)

    2、业务控制层面:

    2.1、业务层面BRAS大多数已经支持IPV6,建议支持IPV6 BRAS部署dual stack,提供IPV4和IPV6网络服务;

    2.2、BRAS不支持IPV6可采用L2TP连接至IPV6业务路由器提供IPV6服务。

    3、接入层面:

    3.1、现网不支持IPV6接入网可采用6RD方式为用户提供IPV6服务,通过6RD中继边界设备访问IPV6应用;逐步进行升级支持IPV6;也可通过BRAS作为LAC通过L2TP方式连接至dual stack的LNS提供ipv6服务;

    3.2、根据用户区域逐步新建支持IPV6接入网提供用户IPV6服务,包括IPV6组播视频业务。

    4IPV6/IPV4互访

    4.1、核心层面部署CGN实现城域网内ipv4和ipv6用户访问互联网服务(包括ipv4和ipv6服务);

    4.2、城域网内ipv4用户使用6RD方式通过6RD中继设备访问ipv6服务;

    4.3、当城域网骨干完全升级至IPV6,IPV4用户可通过DS-Lite访问IPV4互联网服务;IPV6用户可通过NAT64访问IPV4互联网服务。

    5、组播演进

    5.1、在只支持ipv4的接入网中,复制点将终止在BRAS上。

    5.2、由于接入网只支持ipv4时候无法有效实现ipv6组播至终端,建议IPV6组播业务提供在新建IPV6接入网中。

    5、移动分组核心网

    6.1、需要对PDSN进行改造以支持dual stack,并且需支持dual-stack-ip-flow over ppp,可选支持6over4隧道;

    6.2、移动分组核心网使用dual stack,部署dual-stack proxy mobile ipv6进行演进,LMA/MAG均需要具有ipv6地址,信令格式基于PMIPv6。

    (4个打分, 平均:4.25 / 5)

    IRIS

    不知道大伙有没有看过韩国一部《IRIS》电视剧,IRIS(国际反动个人集团International Reaction Individuall System)是一部非常精彩的国家间谍电视剧,值得为大家推荐!这里要说的是Cisco 的IRIS,IRIS—>Internet Routing in Space.

    Cisco在今年一月份通过intelsat’s IS-14卫星部署IRIS使用IOS实现与地面互通。IRIS计划是美国国防部联合能力技术验证(Joint Capability Technology Demonstration)项目的一部分,主要由思科和Intelsat公司负责实施,第一台IRIS太空路由器与Intelsat IS-14商用卫星一起,在2009年11月23日发射升空。

    IRIS是一台针对卫星和航天飞船的耐辐射IP路由器,可以支持语音、视频和数据通信,主要依赖IP协议与地面进行通信,下面是Cisco IRIS的CSR(Cisco Space Router)的样子:

    Cisco_IRIS_Router

    CSR通过Cisco IOS软件提供IP数据通信,增强通信利用率、吞吐量和延时,可以配置RF MIC(Modem Interface Card)、小型的卫星天线,支持配置动态ip路由协议,通过Zero-Touch部署(ZTD) 实现地面部署,当然还有一些Cisco IOS所提供的管理、安全、策略的功能,包括IPV4和IPV6。:)

    Cisco Space Router主要的特征:

    CSR01

    Cisco Space Router是Cisco NGGS的重要组成部分,NGGS称为Next Generation Global Services,主要为卫星网络提供IP访问服务。下面是NGGS的体系结构:

    IRIS

    (1个打分, 平均:3.00 / 5)

    Cisco发布新产品CRS-3简评

    Cisco昨天发布新产品CRS-3,前段时间cisco宣称将发布新的产品并称“永远可以改变互联网及其对消费者、企业和政府的影响”。cisco此次发布的crs-3高达322T传输速率,Pankaj Patel表示这个是竞争对手所提供产品的“12倍”。CRS-3能够为企业用户提供相关服务,包括云服务和虚拟化服务。

    其他消息::)

    其实此次发布的CRS-3与CRS-1没明显区别,主要是随着CRS-3发布了MSC-120板卡,支持每槽位120G速率,满足100G端口的要求。

    CRS-3与CRS-1之间可以配置集群,可以混插原有的40G线卡和MSC。

    另外此次发布会也提到crs-3为ipv6提供全面的解决方案,主要是增加对CGN的支持,随着CRS-3一起提供一块CGN板卡提供ipv6中地址转换功能。CGN(Carrier Grade NAT),详细信息可常看ietf ipv6 z中v6ops工作组关于CGN的draft.

    Cisco主要是与AT&T合作进行测试新产品与100G业务,Juniper也与Verizon、NEC合作测试了100G业务。

    发布会相关slide:

    1、关于视频和三项新市场机遇的整合

    2、钱伯斯称思科从“管子工”发展为一家企业合作伙伴

    3、互联网进化史

    4、322Tbps传输速度

    5、虚拟化和云服务

    6、CRS-3如何改变下一代互联网

    (1个打分, 平均:4.00 / 5)

    “云计算“学习笔记

    最近云计算的概念喧嚣尘上,甚是热闹。各路英雄纷纷出来鼓吹云计算,如googleIntel、微软、Cisco等等,大家都说云计算的前景多么的好。只有少数不识时务者站出来反对云计算,如Gnu的教父。

    下面我对这个概念通俗的理解:(1)云计算是一种商业模式,计算运营商为用户提供公共的计算服务,不需要用户自己去购买设备建立和维护自己的计算基础设施,而是购买运营商提供的服务;(2)云计算是一套技术体系,这套体系包括云计算硬件、云计算软件、以及各种软硬件接口的标准。(3)云计算是一个营销概念,诸多IT厂商一起来炒作这概念,引起用户注意,说服用户尝试。

    这个概念也不是近两年才提出的,很早以前学术界就提出了网格计算的概念,希望计算资源能够像电力、天然气、自来水一样变成公共服务,不用每个人,每个公司都去买一个(或一堆)电脑,只需要有一个集中的计算公司来提供计算资源就行了,这样也就不需要我们每个人都去学习电脑的操作,每个公司都购买一堆硬件和软件,雇佣一批电脑和网络维护人员。再前面两年,oracle将自己的新版本数据库软件命名为:网格版。前面几年时间里面,SaaS(软件即服务)的概念也曾经被热炒。再往前看,50-60年代电脑刚刚出现的时候,就出现了租用机时的服务。

    为什么这两年“云计算”这个概念被炒得这么热呢?因为各大IT巨头都意识到了,新的IT服务提供模式将成为未来的主流。其中某个人使用“云计算”这个词,大家都觉得这个“提法”比网格、SaaS等更贴切。对于大厂商来说,跟着大家炒一个时髦概念,总是没错的。就像当年Oracle搞“NC”,微软也不得不去跟着炒NC,最后NC不成气候,大家一起偃旗息鼓,谁都不损失什么。Netscape大搞浏览器,微软稍稍慢了一点,结果损失重大。

    为什么大家都认为云计算会成为下一波呢?基础条件已经具备了,由于最近几年Internet的发展,网络带宽得到了巨大提升,网络软件开发技术逐渐成熟。由于环境和气候问题,大家都在追求绿色节能的生活和生产方式,IT产业已经消耗和全世界一半的电力。部分SaaS软件厂商(salesforegextoolswebex等)以及亚马逊的成功实践让大家相信,这条路是基本是可行的。

    对运算来说,现在形式是万事俱备,只欠东风了。这个“东风”是什么?在我看来,是云计算运营商和客户之间的技术接口标准,以及计费方案。就像电力提供商一样,必须先有技术接口标准,如:把220v/50Hz双相交流电提供提供给客户,还是把380v三相交流电提供给客户,还有就是计费的标准是什么,如电力的计费标准是“千瓦时”。只有所有厂商和客户之间达成共识之后,云计才能够得到大规模发展。

    技术接口标准,现在看来有两类:其中一类以亚马逊为代表,提供虚拟机,也就是标准的X86 PC环境,任何可以在X86 PC上运行的软件,都能够在亚马逊的EC2上运行。另外一类是以谷歌为代表的,提供一个编程环境(pythonJava),相对于虚拟机来说,这种接口的技术更先进,可扩展性更好,开销更少。但不够成熟,缺乏应用软件支持,要想大规模占领市场,还需要一段比较长时间的培育期。这种环境的计费标准也不太容易测量,不像EC2那样,一个虚拟机相当于一台1.7GHz单核CPUPC,说的多清楚啊。

    (3个打分, 平均:4.67 / 5)

    国际核聚变实验反应堆-ITER

    image      最近几天石油价格又开始上扬,引起各方广泛关注。当前石油价格的微小波动都会对世界经济带来巨大影响,可见能源在当今世界的重要性。利用可再生能源替代石油和煤炭等化石能源的研究,已经进行了几十年,但目前化石能源的主导地位并未改变。水能和风能具有一定的不稳定性,太阳能目前成本较高,核裂变电站会产生放射性废料,很难处理。除了这些以外,还有一种目前处于研究阶段的新能源,核聚变(Fusion)能源。

          核聚变可以产生巨大的能量,这一点几十年前氢弹的成功爆炸已经证明。但要用核聚变反应来发电,就需要建设可控的核聚变反应堆。现在国际上最通用的可控核聚变反应装置叫做Tokamak(托卡马克)装置(见题图),它是一种利用磁约束来实现受控核聚变的环性容器,由前苏联科学家在1950年代发明。

          核聚变的反应温度可以高达上亿度,如此高的温度所有固体都气化了。所以,Tokamak装置是用一个强磁场来约束反应物质的。它的中央是一个像轮胎一样的环形真空室,外面缠绕着多组(超导)线圈,通电后,在中心真空室内形成磁场,将其中进行核聚变反应的等离子体约束住,并使其与外界尽可能地绝热。核聚变反应并不能直接发电,但它可以和核裂变反应一样,利用反应产生的热量把水变成水蒸气,再推动气轮机发电。

          核聚变使用的原料是氢的同位素氘(Deiterium)和氚(Tritium),反应后形成氦气(Helium),并释放能量。核聚变原料充足,氘、氚可从海水中大量提取,它也不产生CO2等温室气体及高放射性核废料(氦气是一种惰性气体),因此,它是未来人类新能源的希望所在。一旦核聚变发电取得成功,就可以解决人类绝大多数的能源需求。

          不过,世上没有免费的午餐, 实现商用核聚变电站还有很长的路要走,还需要巨量的投资。目前世界各国建有多个Tokamak实验装置,像美国的TFTR,欧洲的JET,苏联的T-15,和日本的JT-60。中国也有两个,中科院在合肥有一个,叫做EAST(Experimental Advanced Superconducting Tokamak,先进超导托卡马克实验装置),清华大学在北京也有一个,和中科院合建,叫做SUNIST(Sino-UNIted Spherical Tokamak,中国联合球形托卡马克)。

          各国的Tokamak装置都可以进行核聚变反应并释放能量,但也都有一个同样的问题,那就是输出的能量小于输入的能量,是个赔本儿的买卖。目前核聚变反应堆产生能量的最高纪录由位于英国的JET(Joint European Torus)保持(题图是JET内部结构),它的纪录是1600万瓦,持续时间不到1秒钟。要想实现输出能量大于输入,就必须把反应堆再做大,这就需要本文说的ITER登场了。

    image       ITER在现有技术的基础上,把反应堆的规模放大几倍,目的是要实现能量输出为正,为商用电站的建设做准备。此项目预期将持续30年,10年建设,20年用于操作。 2005年,参加ITER项目的欧盟、美国、中国、日本、韩国、俄罗斯和印度7方签署协议,正式开始ITER的建设。日本和法国在选址问题上争执多年,都想建在自己的一亩三分地,最后法国胜出,ITER将落户于法国南部的卡达拉舍市(Cadarache,在马赛附近,见左图)。 在费用上,欧盟出资50%,其他各国每人出10%(多出的10%备用)。初期的预算是50亿欧元,但这种事儿预算超标是一定的,现在的预算是100亿欧元,预计建成时间是2018年。

          ITER的名字指的是“International Thermonuclear Experimental Reactor”,不过其中的Thermonuclear (热核)一词比较吓人,加上再有一个“Experimental”,胆大的人听了都有点受不了。所以,现在就叫ITER了,号称“iter”这个词来源于拉丁文,含义是“journey”,“direction”,“way“,总之都是美好的东东。前面说过,JET可产生1600万瓦能量,持续1秒钟。与之相比较,ITER可产生5亿瓦,持续500秒,同时能量的输出/输入比是10。

          如果ITER试验成功,下一步商用核聚变电站将马上开建,预计2040年建成。一切顺利的话,到时候,人类面临的能源危机,气候变暖等重大问题就会迎刃而解。不过科学研究从来不会一帆风顺,再加上50年,估计本世纪末以前,商用核聚变电站可望成为现实。当然,你我可能看不到那一天了。

     

    进一步阅读:

    Wikipedia ITER

    Wikepedia JET

    (2个打分, 平均:5.00 / 5)