谷歌发布Android 2.0 SDK
作者 青成 | 2009-10-27 08:55 | 类型 移动和设备 | 没有用户评论 »
|
谷歌刚刚发布了Android 2.0 的SDK。新的SDK增加了帐号同步、蓝牙等支持。新的SDK要求2.0应用支持多种不同的屏幕大小,如WVGA(800×480)和FWVGA (854×480)等。 各种不同的硬件平台,对于Android是一个挑战。不同于苹果能同时控制硬件和软件,谷歌把Android定位成一个通用、低成本的移动系统,就需要额外支持很多不能出彩的功能。为了支持这些不同的硬件,同时还希望应用具有一定的可移植性,Android的综合设计才会是今天这个模样。当然,通用性的提高会带来性能的降低和资源的高要求。JVM实现的再好,比C++还是有相当的差别。不过今天看来,这并不是谷歌Android小组的偏好*,而是实际目标设定之后求解的结果。
注: *传说谷歌偏好使用4种语言,分别是Java、Javascript、Python,最后是C/C++。从谷歌的诸多产品可以看出这个特点,包括GWT,GAE,各种SDK等。 | |
说以太网延迟不好是个错误的命题
作者 bigrong | 2009-10-26 21:05 | 类型 弯曲推荐, 通讯产品 | 7条用户评论 »
|
前言: 在陈首席的弯曲评论网站上看到一篇文章引发了一些讨论,其中谈到如何降低以太网的延迟,原文在这里aresta networks 数据中心 云计算 一般爱说这个话的人无非有两类,第一是搞以太网或者IP网的。另一种是搞竞争技术和产品的。 第一类人说这个话题的时候,一般的口气是原来不好,现在……而后会介绍他们的新技术和新产品,新技术比如说我们的新协议,百兆以太网、千兆以太网、万兆以太网,40GE、100GE。说产品的一般会说盒子和芯片,我们的新盒子如何如何,我们的新芯片如何如何,我们的新体系架构如何如何…… 第二类人说这个话题的时候,就是否定的看,而且是习惯向后看,如果说确实是非常懂非常了解行业的也会把新的技术打击一下,但是点到为止,不说透。是啊,谁会跟一个IT记者说这些呢,他们眼里我们都是拿钱的爱找花边新闻的主。谁爱说以太网延迟不好呢?我刚刚入行的时候一般是搞ATM交换机的人会这么说,而后呢是搞SDH/SONET的人会说。后来大家知道会说这些的公司少了,接下来有人又扛起了大旗,比如搞FC的,比如搞Infiniband的。 我做了这么多年的记者,就没有人真的给你讲清楚。我不知道是不是因为我碰到的大多是洋买办的工程师,而且认为一个IT记者根本没有必要也没有那个智商理解这个问题,所以至今没有人给我深度的剖析这个问题,特别是在白纸或者白板上用上数据详细讲讲,加上我自己后来越来越不好学,所以这个问题我一直是懵懵懂懂的没有搞清。但愿我碰到的很多人是认为我没必要或者压根听不懂才跟我这样说的,而不是他们没搞懂。我也希望这篇拙文能够让大牛们给我讲讲清楚,让我也明白明白。 怎么提高以太网的延迟 因为我就没搞懂为啥说以太网延迟不好的技术机理,所以我就胡说八道一下如何提高一下以太网的延迟。 我探讨的延迟问题我觉得有两个层面,一个是基于RFC 1944/2544/2889的,趁着没忘光。另外呢我也觉得是从应用层的吧,这点比较含糊。 第一种是协议层面的。我觉得两条路,第一提高传输速度,比如从10Mbps-100Mbps-GE-10GE-100GE。第二呢是提高同等调制速率下的协议效率,比如开销更小,缩短一下Gap,一次传输的数据包货多些,内容多些,比如超大帧啊。前者对于2889来说看得明显,后者就看不出来了只能看上层应用的反应了。 第二种我觉得是提高盒子的硬件技术,比如芯片层面的,比如板子层面的,这个我就不班门弄斧了,反正是数据包从这边到那边速度更快。按照2889的说法大家都理解,sf和cutthrough的区别其实也不大。 第三种我觉得得搬个板凳站上去,从整体网络层面来看,而这里的技术提升所降低延迟呢也是对2889和应用都有帮助。总体来讲呢就是缩小网络的规模,尽可能的。要想跑得快除了跑得速度快以外,就是看距离和跑的路线是否曲折了。比如你从北京跑到上海,如果能够把上海修到北京边上那是最好,另外如果不能把上海搬家,就尽可能让北京直接到上海跑直线,别先绕趟**;另外中间少过城市,也就是减少必须减速或者要流控的点。对于上层应用来说还有一点是,尽可能减少丢包、乱序或者其他导致需要重传的概率,说白了就是又快又好的把数据送到目的地,别让上层应用等起来没完。坦率说这里我觉得问题比较复杂要降低延迟,主要和政治因素、设计网络的能力,以及网络协议、软件和硬件都相关。 坦率说政治最重要,如果你把上海直接搬到北京边上,不就省得修京沪高铁,也不用在列车和铁道上较劲了?如果让中国人都住在一起,那不是解决了城际交通的大问题了? 可惜,这不可能,谁打算这么干,别说IT记者了,就是街边的大妈都能跳出来骂你白痴。 这一段写完了也省了我本打算单拿出来写的如何从全网的角度看以太网延迟。 比较以太网还有IP和其他网络技术的延迟有意义吗? 好接下来进入到核心挨砖头区域,简称和蔼专区。我觉得如果拿着FC、Infinitiband等技术来对比看以太网的延迟这个观点是个不好的方法,很不好,不科学,听要偏听,看你要偏看,但是搞以太网的还是要想办法把速度搞上去,广大人民群众还是盼着呢。 协议层面和硬件层面的问题我不讨论,我只是说整个网络的延迟问题。 首先是以太网覆盖的区域太大,IP网更是。而FC和Infinitiband一般联接的区域都有限,联接的计算机数量也有限。换句话说,以太网讨论延迟的时候是中国或者俄罗斯一地到一地的延迟问题,说延迟比较大,而FC、Infinitiband则是讨论的是日本、新加坡平均城市之间的延迟问题。覆盖的区域大,链接的终端多,复杂还带来的问题就是网络设计复杂,层级会更多,如果FCoE发展之后,会发现在数据中心通常就要进行多级的设计,而在存储侧同样要多级设计,也就是从服务器到存储的最终设备要有多个多级设计的网络经过。 也就是说以太网/IP从端到端跑得会距离更长,由于联接的设备太多,导致网络层级会比较多,这样就必然引入更多的拥塞点和减速点,而且还可能会因为一些问题导致绕路情况的发生。 还有,由于以太网/IP的向前兼容性很好外由于这个技术比较简单,可扩展性特别好,网络中非常复杂,有可能有10M、100M、1000M等多种接口,从网络整体层面面临的问题也更多,而且还接入了很多特殊的设备,比如IPS、防火墙、加速设备等等,一群步调不一致的人在一个网络中跳舞……所以从应用的角度去比端到端的延迟,以太网和另外的技术没有任何的可比性。 要想延迟低我觉得无外乎,第一做得要专、第二尽可能小控制范围、第三就是协议硬件上下功夫了。这个对于以太网/IP这样的东西不可能。所以说以太网能够有这样的技术水平已经很牛了,要是别的像ATM、infiniband、FC其实是取了专和小的巧。 以太网和IP不能改变的现状,就如中国zhengfu来说不可能让10多亿人都住在北京周边,真能住下肯定是世界上最大的温室气体排放地了。 创新之路何在? 再多喷两句,除了提高传输速率和盒子的处理能力,还有什么办法能够降低延迟? 只能从全网的角度来调整架构,说白了就是做小,做短、做专。 做小和做短,最好的方法,我想是把数据中心里所有的服务器都连接到一个超强的大交换机上,最好是有一个超级强大的交换矩阵和转发引擎,所有的终端到另一个终端都是一跳完成,而且带宽不受损耗。这个看来暂时没戏,不说芯片的能力,就说以太网的布线传输距离也很难,除非说,每个服务器做得都非常小,服务器到这个超级交换机都用光纤传输,不用担心距离。这个基本上不现实。 那么就是虚拟到一起,其实我觉得思科、 Juniper还有华为、中兴以及最早的Avici做得核心路由器就是这样想的。如果有一个超大的基本上无阻塞的交换矩阵把若干个交换机连接在一起,这些交换机之间跑私有协议,压缩带宽开销和提高使用效率,降低端到端的跳数。不过在企业网可能没人接受得了如此高的成本。不过现在在企业网领域,这个是现在努力的大方向。比如虚拟机箱的技术,在一个多层级联的网络中,使用一些私有协议,提高原来作为冗余的电路使用效率,加快故障后收敛的速度,提高整体的稳定性,同时还有比较好的链路负载均衡技术,提高节点间带宽使用效率,降低乱序和丢包的出现…… 喷完了,砖头来吧。 | |
苹果宣布,iPhone支持应用内支付
作者 青成 | 2009-10-26 15:54 | 类型 移动和设备 | 没有用户评论 »
|
苹果刚刚宣布,最新的iPhone SDK支持应用内直接购买升级或者支付其他物品的功能。对于在iPhone上开发者来说,这是个改变游戏规则的新闻。对于用户来说,体验也会随之提高很多。 在这之前,iPhone应用通常会有一个试玩版和一个收费版。用户肯定了试玩版之后,需要再次下载收费的完全版才能得到全部体验。对于开发者来说,这是个不得已的办法。如果一个游戏有10级,那么试玩版里放几级才能最优化的吸引更多的玩家,并且又能保持完全版的神秘呢?另外,对于很多内容类的应用,比如书籍、音乐、视频,这种购买方式非常繁琐。而且,整个网上商店的搜索和用户点评等也不能作出这类应用的专门优化。 现在,这些问题都得到了解决。游戏开发者可以提供一个免费的游戏,而里面可以按照每一个级别收费,或者按照武器等虚拟货物收费。而电子书商可以发行一个应用,来管理所有自己发行的书籍。期刊发行商业可以按照每个月份或者发行时间来收费。无论是开发、销售还是维护都简便的多。 | |
Tilera发布多达100个core的芯片–TILE-Gx
作者 陈怀临 | 2009-10-26 15:46 | 类型 行业动感, 通讯产品 | 54条用户评论 »
|
TILE-Gx100可支持多达8个XAUI。XAUI就是一种10G的以太网(Ethernet)网络接口。 另外,TILE-Gx含有4个运行在2133MHz的DDR3控制器。这个比较狠。
TILE-Gx会比较好的适用在中高端的Layer-7的网络设备中,例如,防火墙,VPN和所谓的深度检测等。 但其问题是,在TILE芯片里面,没有什么高级加速器,例如DFA Lookup,压缩和解压缩,Packet Ordering Engine等等。 换言之,如果用TILE芯片,而且还想要其他的硬件加速,可以通过其PCI-E的接口把加速卡挂上来。 当然,如果4个DDR3的System Bus够用了,软件做足够快的话,就不需要什么加速卡了。能做到80G的一个系统,应该已经不错了。例如,通过两个TILE-Gx100,就可以做到160G,通过PCI-E挂到一个高速的控制平面上。就是一个很山寨化的网络系统了。 另外,网络逻辑部分也可以被config(设置)为2个40G的Interlaken接口。许多读者不太了解interlaken是个啥东西。总之,就是为了讨好思科,舔思科的屁股沟(butt)的一个战略举措。例如,在ASR1000的体系结构中,内部的Interconnect就是interlaken 。反正,与思科的东西能集成在一起,这是一个好事情。这年头,即使MIT的的大牌教授(Tilera的创办人,又是印度人)也得看有钱人John Chambers的脸色行事。 之前,《弯曲评论》介绍过Tilera和TILE-64的一些细节。可参阅:Tilera公司与其64核芯片Tile64系列简介 | |
海外学人-习宏伟教授
作者 杰夫 | 2009-10-26 10:37 | 类型 人物评述, 海外学人 | 5条用户评论 »
|
习教授的研究领域包括编程语言,类型理论等。点击这里进入习教授主页。他的联系地址是: Hongwei Xi Computer Science Department | |
中国(2009)Linux内核开发者和Hello GCC WorkShop大会资料
作者 陈怀临 | 2009-10-25 19:02 | 类型 弯曲推荐, 科学与中国, 行业动感 | 13条用户评论 »
|
主题:Linux 10GbE Development 主讲人:Herbert Xu 主题:Linux中的页面缓存与替换 主讲人:吴峰光 主题:Linux内核性能跟踪和优化 主讲人:张衍民 主题:Git Tutorial 主讲人: Eric Miao 主题: Linux IO控制器 主讲人:归剑峰 主题:File Level Snapshot – reflink 主讲人:马涛 AKA 2008 第三届 Linux 内核开发者大会演讲者PPT下载: 主题:Linux下的快速启动和待机 主讲人:张锐 主题:SMP implementing on Blackfin561 主讲人: Graf Yang 主题:内核面向多核的可扩展性性能分析与优化 主讲人: 陈渝 崔岩(清华大学) 主题: new multi-queue 主讲人: Herbert Xu 主题:资源管理--cgroup 及 子系统 主讲人: 李泽帆 主题: Linux 中的页面回写队列 主讲人: 吴峰光 主题:龙芯 Linux 内核的移植和优化 主讲人: 张福新(龙芯) 另外, HelloGcc Workshop 2009 大会资料如下: 主题:使用 GCC 编译器分析和优化程序的数据局部性 主讲人: 袁鹏 主题:GCC Internals and Porting 主讲人: 邢明杰 主题: GDB reverse debug and process record and replay target 主讲人: 朱辉 | |
Aresta Networks 。数据中心 。云计算
作者 陈怀临 | 2009-10-24 13:37 | 类型 初创公司, 行业动感, 通讯产品 | 73条用户评论 »
|
Aresta Networks是一家为数据中心提供云计算基础设备的初创公司。他们的产品目前是10GBps的Datacenter Ethernet switches。也就是说,是一个为数据中心而设计的以太网交换机。显然,事情的重点不是端口,一切的精华在于他们的软件–EOS。当然EOS不是一个简单的东西,似乎是一个把数据中心内部虚拟化等等呢个东西都考虑进去的一个东东。 至于为什么说Aresta的交换机和EOS软件系统就更适合于数据中心。读者自己去判断。但是如果看了其创办人和目前的管理团队,确实会觉得Aresta is something。 Aresta的创办人谦逊的个人简历如下: Andy Bechtolsheim:公司目前的CTO。他曾经创办过一家公司叫做Sun MicroSystems。前些日子这家公司被Oracle收购。希望读者们除了巨大中华,也碰巧听说过Sun这家公司。Andy其他的业绩似乎还很多。但似乎都没有必要说了。 David Cheriton:公司目前的首席科学家。斯坦福电子工程系教授。这似乎就够了。他曾经与Adny在一起忽悠了一个公司叫做Granite Systems并在1996年卖给了思科。卖了2亿多美金。从此思科在Switch方面才成了老大。 David自己还身体力行,做思科Catalyst 4×00产品线的首席芯片设计师。 David目前还是Google, Vmware, Tibco, Cisco 和 Sun等等公司的顾问。 Ken Duda:公司目前的软件研发副总裁。当年Granite的第一个工程师。MIT毕业后,投靠斯坦福。显然是David的博士。现在与老师又在一起混。 读到这里,感觉如何?是否比你身边的人要狠一些? 再来看看谁是CEO?答案是:一个印度美女! Aresta的创办人都是斯坦福,MIT等精英人才。大家看了除了郁闷也没有其他办法。您说你非要于前Sun Micro的创办人闹别扭,比优秀,您一定是心理有问题不是?但Jayshree确实是一个英雄不问出身的又一典型。基本上可以与思科目前的CTO也有一拼。另外,大家知道印度人确实比中国人更能混了吧? Jayshree从旧金山州立大学获得本科文凭,从位于硅谷的Santa Clara University获得了她的硕士文凭。 下面是Aresta目前的产品一览: | |
浅谈华为Solar 2.0 PFE2A
作者 陈怀临 | 2009-10-24 10:49 | 类型 弯曲推荐, 行业动感 | 34条用户评论 »
|
华为NS5000E的100G解决方案宣布以后,技术爱好者都非常希望知道其技术内幕。但华为一向对技术细节保密的非常严格,很难找到比较细的细节。本文一定有许多错误之处。但试图抛砖引玉,引起技术爱好者的讨论。 华为的100G的转发芯片在其网站上有一些简单介绍。下面是从华为数通下载的图片。
从芯片的“Hi”标记,应该是海思公司的意思。这可真是比思科和Juniper等都牛叉。一个100G的,看得见,但摸不着的芯片。华为网站上是如此评价这个业界首款100G芯片的“业务灵活性,高性能和低功耗的完美融合:Solar 2.0 PFE2A采用了华为独创的宏指令包处理(MIP,Macro Instruction for Packet Processing)技术。它专为IP/MPLS/ETH应用设计,结合了网络处理器业务灵活和ASIC性能高,功耗低的优点,同时规避了网络处理器处理性能低,功耗大以及ASIC无法支持新业务的缺点,加上其独特的外围器件低功耗一体化设计,实现了业务灵活性,高性能和低功耗的完美结合。”
另外,华为给出了一个100G线卡的逻辑图。
“华为100GE线卡采用两片Solar 2.0 PFE2A作为转发引擎,一片处理100G上行流量,另一片处理100G下行流量。这种设计理念将Solar 2.0 PFE2A的能力发挥至极致,保证了100G流量的线速转发(如图五所示)。PIC(Physical Interface Card)模块基于自研的可编程100GE MAC芯片,支持IEEE 802.3ba、S-Eth、IEEE 1588v2以及ODU4标准。内置的oTM(output Traffic Management)引擎,完美实现下行流量的5级H-QoS(Hierarchical QoS)调度。1×100GE线卡具备4M海量FIB(Forwarding Information Base),充分满足IP网络持续扩展的需要,并且100GE接口支持CFP MSA(Compact Form Factor Pluggable Multi-Source Agreement)封装,实现光模块的即插即用。 ” 从上述逻辑图中,可以看出PFE2A与思科CRS-1线卡结构类似,都采纳2颗转发引擎 (PFE:Packet Forwarding Engine)。一个做Ingress(位于上面的那个PFE2A);一个做Engress(位于下面的那个PFE2A)。思科CRS-1的SPP和ASR1000的QuantumFlow里面采用的都是Tensilica的Xtensa的CPU核。SPP为180多个核;QuantumFlow是40个核。华为的PFE2A里面是什么没有任何透露的消息。从各方面分析,应该是其40G线卡解决方案中的588芯片的升级版。换言之,Solar2.0就是588+–SD5822 ASIC处理器,具备上下行各40G的处理能力。与Solar 2.0挂在一起的MEM就是大量的DRAM和包括TCAM,这都是为了做Routing Lookup FIB的东东。 PFE2A里的TM(Traffic Manager)为5级的H-QoS,思科的ASR1000的QuantumFlow里面也是把TM集成在一起的。QuantumFlow是支持3级的 QoS。一共是128个队列。而思科的CRS-1的SPP内部没有TM部件。CRS-1的线卡是通过另外两个ASIC(Ingress Queuing和Engress Queuing)来实现QoS和TM的。线卡上的两个SPP与相应的Queuing芯片互联。 有兴趣思科CRS-1和ASR-1000体系结构的读者可参阅:《思科核心路由器CRS-1的研究(上)》和《思科QuantumFlow处理器及其战略研究》。 通常而言,在Solar2.0里面应该会集成一些On-Chip Packet Memory,例如,报文进来之后,不是被DMA到DRAM中,而是直接被PIC中的DMA引擎打到PFE2A的On-chip Packet Memory里。但目前无法知道华为芯片的细节。其实这也是华为应该改进的地方。不要什么都藏着,捏着,过分的刻意低调。适当的公开一些技术文档是一种智慧,也是一种社会责任。 为什么说在这个PFE2A里一定应该有CPU核呢?这是大势所趋。许多层2,层3的业务只靠ASIC是没法做的,必须要有可编程引擎阵列来做处理,例如思科的SPP和QuantunFlow的结构就是这样。 CP应该是Control Processor,例如是一款PowerPC 之类的控制CPU。从图中那条从CP引出来的暗红色的线,我们可以看到,这就是100G线卡的Local Bus。或者我们有时说叫做控制总线(Control Bus)。图中的暗红色的线通常应该是PCI Bus或者PCI-E。PCI天生是一个最好的Local Bus。只要PCI总线上一挂,对于主控CPU而言,任何一个设备或芯片,例如PFE2A,CFP,PIC/Mac,都只不过是一个Memrory Mapping Based的一个地址空间。任何一个芯片的控制寄存器,数据寄存器都可以被CPU的监控程序READ和WRITE。100G线卡的一切其实都是这个CP点亮,把驱动也好,微码也好,宏代码也好,从NS5000E的控制平面拿下来,并且安装在线卡的各个环节。然后系统开始接受数据报文。 图中的宽的,橙色的线,就是所谓的数据路径(Data Path) 。就是一个Packet从进来到出去的一个梦幻人生。。。 在橙色的路径中,一定要牢记一点:每个局部都是>=100G。否则就不能线速。 图的最右边的FIC模块就是华为NS5000E中的Fabric Interface Card,或交换接口卡。 在图的最左边的100G的CFP是一个非常重要的部件和芯片。 CFP MSA(Compact Form Factor Pluggable Multi-Source Agreement)就是一个光网数据收发器。100G的另外一个含义其实就是100G的CFP设计成功了。以前是40G的CFP。这也是Solar2.0线卡中的一个重要技术突破。从而NS5000E可以实现100G的互联对接。
| |



今天,

如果您在Cisco,Juniper,Ericcsion等上班,除了IP Header的格式比较熟悉之外,Google,Facebook和twitter的那套东西,例如php编程,mySQL都不会,今天想换一个工作,而且想去startup,为了老婆孩子和房子,拼一把,陈首席推荐一个公司–


