浅谈组织与个体

在C114上看到一篇对HP收购3COM的评论,其中一句:“在组织面前,个人太渺小”,有感而发。

组织与个体

人类历史,就是一部组织与个体之间博弈、互相促进的不断轮回、螺旋上升,最终到高度组织化/社会化的过程。再然后……. 也许是四分五裂的崩塌,最终又开始从个体到组织的宏大轮回。

组织的形成、发展和扩大

     远古,刚刚从野兽的利爪、自然的淫威下站起来的古人类,自然结成了以母系为核心的社会单元,只是这个社会单元太小,小到如同群居的猎食动物一样,要通过气味、爪痕等来标记势力范围。小到如同群居的食草动物,要通过放弃病弱个体来换取整体的生存。古人云“保暖思淫欲”,在满足基本生存需求的情况下,人类有了对生死/自我/群体的意识,有了宗教/艺术/文化的区别于动物群落的精神生活,因此有了对种族(宗族)的认同和传承,因此,古人类群落之间的通婚,带来血缘更广泛的联系,以家庭为单位的组织扩大到以血缘为纽带的氏族。人类组织得到扩大,组织内部也有了更加细化的分工和合作。通过组织形成的生存能力,超越了个体之间简单的加和,人类有了更大获取食物、抵御自然和猛兽的能力,甚至有了影响自然、改变自然的能力,种植植物和饲养动物的行为只能在人类组织一定程度上壮大的情况下存在,因为种植和饲养是对食物的更长期的“运营”,必然需要组织之间的分工,以及对从事未来“运营”工作的组织成员的前期“投入”,这在捕猎羚羊野牛现杀现吃的狮群,绝对不可想象,在“今日抓今日有”的早期人类,一样不可出现。种植和饲养是远古人类改造自然的壮举,也极大提升了人类组织的生产能力和生存能力。“种族扩张”是生物的本能,人类也不能免俗,氏族内部的组织成员数量得到快速增殖,这是组织能力和组织成员数量之间互相促进的快速过程,随着生产能力的提升,物质/资源(主要是食物)有了剩余,一部分组织成员可以脱离生产,从事宗教、文化等工作,也有了对剩余物质的占有。这样组织有了层级化的基本条件和实际需求。组织和个人之间的差别、促进和互相依赖也越来越强烈。

      从氏族到部落,从部落到早期国家,再到有了严格政治意义上的国家,组织的规模越来越大,内部分工也越来越专业和细化,组织成员的层级/等级也越来越复杂和严格,组织所拥有的职能也越来越广泛,为内部个体提供的服务和管制也越来越多。全世界各个国家的形成过程大多如此,只是组织化/制度化的程度不同而已。中国第一个大一统的帝国--秦朝,对个体个性的管制到了前所未有的程度,也就形成了战无不胜的军队体系和生产力大幅提升的供给体系,最终横扫中原、兵至岭南一最终统天下。但是横征暴敛的对个体极端压制,导致组织与个体之间的不和谐,所以统治延续不到二世,秦帝国的组织崩解了,却创立了绵延数千年的封建政治制度,这数千年的历史,波波折折、分分合合,起伏跌宕精彩纷呈,但是放在生物界的历史中,不过千年一瞥,生产力水平并没有很大的提升,所以,不论国家还是社会的组织形态,也没有太大的变化,有的不过是一朝一代对封建统治的不断强化,进而根深蒂固。

       英国的一声炮响,掀开了中国半殖民地半封建社会的苦难历程,伏尔加河的一声炮响,送来了马列主义,中国波澜壮阔的近现代历史拉开序幕。从历史尘埃的细节中退出。远观人类近现代的发展,是在生产力水平极大提升后,对组织形态/模式/制度等等新的要求,也是组织与个体之间的博弈、互相要求和互相促进的过程。从蒸汽机到电力的发明,从计算机到现代通信的发展,从流水线到CMIS/FMS,这些是在生产领域组织形态的变迁。从集中供水体系到电力网络,从银行到邮局,这些是在生活服务领域组织形态的变迁。总而言之,在生产生活中,组织越来越庞大,个体越来越渺小,好比《2012》中巨无霸“太空船”的齿轮,渺小但重要。

     这是一部组织形成、发展和扩大的鸿篇巨著,全球皆是如此,只是限于各地各时的自然人文条件不同,组织和个体之间的细微差别,比如东方社会的集团化,西方社会的个体自由化。组织/个体发展的终极形态,在很多的科幻电影中都有描述,典型的就是《机器人瓦力》中,逃离地球的人类,在太空船中无忧无虑的生活,吃喝拉撒、甚至传宗接代都依赖机器,依赖组织。在哲学思想中,事物是螺旋轮回,在中国古典思想中,讲“物极必反”,高度组织化/社会化的再发展,也许是土崩瓦解的轰然崩塌,最终又开始从个体到组织的再次宏大轮回。

组织/个体关系在现代通讯IT行业的体现和影响

    通信,无论是PSTN、Internet、2G/3G…..,简单讲其实是人类沟通方式和具体某种沟通方式中的内部组织型式而已。IT,也不过是支撑现代生产组织方式的基础架构,这些技术层面的东西必然受到人类组织形态变迁的影响。在现代IT通讯发展的过程中,可以清晰的看到这些变迁和对应关系。比如最早的通讯是点对点的听筒,然后是网络化,IT的发展历程也差不多。

     在全球流行的“偷菜”、“抢车位”游戏,是SNS中的一种应用,其实也和组织/个体的变迁有相同脉络。在现在互联网的帮助下,组织广域化了,也碎片化了,原来在中国以“单位”为最重要的基层组织载体,早已解构,又重构成更加多元化和碎片化的组织形态,比如校友、学友、志同道合者等等,组织内个体的物理范围也扩展到全球,套用互联网曾经流行的话:“你不知道今天偷你菜的是不是一条狗呢?”。同时,个体对组织(圈子)也高度依赖化了,多少人半夜偷菜上班抢车位,催生了“带收菜”的职业,也发生了南京儿童医院医生忙偷菜耽误小孩治疗的悲剧。

     现在甚嚣尘上的“云计算”,非常符合现代社会和组织发展的一般规律,也被业内看成是IT和通讯组织形态的终极模式,即“组织”无限庞大,无限万能,好像云一样绵延千里,“个体”能力可以小到忽略不计,只要接入“云”,什么功能都可以实现,什么都需要依赖组织来实现。但是组织/个体的轮回、螺旋上升规律,昭示“云计算”的变迁,也许也会沿着相同的轨迹运行。所以,现在热闹的“云计算”的时候,要更多关注云计算内部的管理/安全等等,等云计算真正大规模应用的时候,也许要为“云崩溃”做准备了。

     从通信/IT技术层面来看,验证了组织/个体关系演变的过程,其实在通信/IT企业的发展,一样有相同的逻辑,特别是硬件/软件等非服务类的厂商。美国硅谷不乏众多创业公司,敏锐的发现客户的需求,研发最前沿的技术的产品,但是恐怕再也不能诞生IBM/微软这样的巨无霸公司,这是一个“大者恒大”的时代。但并不是说小公司就没有生存发展的机会,只是在不同的组织规模中,撇开管理水平的差异等等其他主观因素,以及经济危机这样的突发外在事件,客观来讲,大比小更具有效率(满足客户需求的效率),更具有在用户端的议价能力。而小公司的生存发展机会恰恰是融入到更大的组织中,这样的事情其实天天都在全球资本市场重演。

      再说说组织和个体之间的关系,并不是双方互斥、零和的关系,相反双方是互相促进、和谐的关系,这也是经济学上讲的“社会福利最大化”,即个体虽然相对组织更加渺小,但是通过将其他功能“交给”组织,依赖其他成员提供,同时为其他成员提供他们需要组织提供的功能,每个成员都获得最大福利。

      所以,虽然中国社会具有高度组织化/社会化的特点,但西方商业社会的组织化更加细密和制度化,毕竟经过数百年的现代组织化社会化的历练。这也是东方/西方企业的差别所在。

      以上面的分析,回到C114上前帖话题:“在组织面前,个人太渺小”的后话“个人依靠组织,不仅可行,而且有利”,只是在西方商业社会中,这句后话,体现得更明显!

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

计算所 。张晓东 。multicore(5)

在张老师回答我问题的间隙,我似乎还与张老师讨论了一下他总结出来的那几个调试cache性能方法。记得我大概是这样说的。

× 对Implicit编译的方式能编译出一个高效的Cache Friendly的程序不是很看好。Implicit的意思是编译器后端做优化,你写的C代码什么也不用做,不用感知Cache的友善性(否则叫做Explicit),顶多编译的时候加几个选项。张老师似乎比较同意这个观点。

毕竟他不是做编译的。贬低编译他好像一点意见都没有:-)

×认为从应用系统的角度来提高系统cache利用率是目前不错的方法。我好像在那里说了一下我有过这方面的经验。张老师非常客气的让我简单的讲了讲。大概就是通过gcc extension的attribute你可以把你认为系统中的working set(数据和指令)都规划到相应的ELF文件的段中。从而,在4G空间中,耦合性比较强的函数(即TEXT)和数据(即DATA和BSS) 都可以在一起,从而提高其Locality。并且加上gcc的对齐(Align)等等,你可以非常容易的判断出相应的函数之间是否有指令Cache的冲突,全局数据之间是否有数据Cache的冲突。通过objdump,看一个函数的虚拟地址和一个数据的虚拟地址,然后知道相应CPU的Cache的Index方法(用那些Bit做Index),我们就可以非常容易的知道两个函数是否在挤同一个Cache Set。张老师很耐心的听我讲完,问了一个问题:(陈首席),你的这些方法能否做出一个通用的框架?我说不能。。。

教授们如获至宝的是一个通用的框架,算法和曲线;

工程师要解决的是某个具体产品的问题,定期发布。

【注:在系统调试中,人的交互式参与估计是必不可少的。目前,许多系统有很多Profiling工具。其主要目的就是找出Working Set。例如系统中最Heavy的函数和数据集。一旦找出,如果是自动调控,例如通过Cache Locking的方式。这方面我曾经实验过,但感觉对系统的性能提高不大,特别是在L2 Cache不大的情况下。我对动态调整Cache利用率目前没有实验过。ELF一旦链接完毕,其实虚拟地址就已经敲定了。如果这时许多函数或者working set是不Cache Friendly的,似乎很难在动态中调整。。。当然,这是教授们应该研究的话题。例如可以在页面管理做Paging的时候做一次调整。这也就是张老师在Page Coloring方面的工作】

×应用系统与操作系统核心部分是要合作来完成Cache的利用率。

×最难的部分就是系统不知道高层应用的语义。例如,在什么时候,那部分函数是系统的working set。在通信系统中,不同的配置,不同的报文,一个系统的working set都可能是在变化的。难,确实太难。

在这些问题上,只有次优解,基本上不可能存在什么算法,或者最优解。所以最好的方法就是,不同的场合,做不同的调整。不能教条主义。。。

后来陆陆续续有一些计算所的研究生提问。现在能记得的就是一个很好的,但张老师没有回答上来的问题。

TLB的问题。

是一个前排学生提的问题。问题大概是:TLB的Entry的互相挤压的问题。也是一种cache问题。问张老师如何看待。

张老师似乎在回答这个问题时有点含糊。感觉没有很清楚TLB与DARM中的Page Table的关系其实就是一种缓存关系。但这种事情按理说是不应该发生的!现在我想张老师估计是累了。讲一个半小时,是非常累的。

记得我上次在北邮,没吃饭,侃完后基本上虚脱。。。。。。

TLB这个东西其实很简单(理论上)。就是MMU拿着虚拟地址去找物理地址的映射的。例如一个CPU的TLB条目可以有48个。那么大家也就得按照LRU等什么算法和谐共存了。。。、

其实,不够指令Cache也好,数据Cache也好,TLB Entry也好,掌握这些最重要的就是把握住:CPU是通过虚拟地址的某些Bits去做索引(Index)的。找到Index,就找到了相应的Cache Set。通常一个Set里可以有多个条目(Entry)。例如,不同进程的VA可以说在同一个Cache Set里(因为通过虚拟地址做Index),但是因为通过物理地址做Tag(注:Tag的检查就相当于第二道岗哨,当然也是最后一道。一旦匹配,就是一个cache hit了),从而,不会有二义性,是两个完全不同的cache line。

一旦把握好这个概念,什么Cache 二义性,冲突,颠簸等等,都会变得很清晰,很好理解。

。。。

散会的时候,我正好在走廊里接电话。

两个计算所的研究生把我截住了!

要问多核处理器与Router的问题!天哪,还真有懂行的!:-)

在反复解释无效的情况下,我非常及时的让他们上《弯曲评论》阅读ASR1000和其他相关文章。。。

希望计算所现在,研究生们都每天挂在《弯曲评论》上。设成default site最好。

我没有再去打扰张老师。而是在离开的时候,从远处看了看他 。。。

一个人20年来,这样踏踏实实的用自己的实际行动帮助中国的计算机研究,这就是张晓东的过人之处。

其实,张老师在美国又帮了何止1,2,N个中国的起步助理教授。。。。。。

多谢张老师!

陈怀临,2009年11月24日于硅谷,加州。

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

3G智能手机PK

洋人的节假日要开始Burst了。这个周五,在硅谷的所谓中国猥琐男们估计许多会起大早,目的就是整个便宜货。情何以堪。其实有时就是为了开心,但不仅仅是要那点折价。我现在的经验是,黑色星期5的价格,其实在1,2周之后,到处都是。黑色星期5唯一的好处估计是可以整一下免费的USB啦,或者一些免费的小电器,例如免费的打印机,扫描仪。

想买SmartPhone的同学们,估计一般不缺钱。但是到底是买什么,各种型号的参数您懂吗?您心中有数嘛?《弯曲评论》从网上淘来的这个智能手机大PK应该对你有所帮助。

(7个打分, 平均:4.86 / 5)

谷歌GPhone的裸体–硬件组成一览

 首先看一张实际GPhone的解剖图:

现在来看看逻辑图:

GPhone有两个PCB电路板。图中下面的那两张是主PCB的正面(含有SIM卡的)和背面图。那个小PCB的主要是TI的用来实现Wifi和Bluetooth的。Wifi芯片是在正面(front),Bluetooth是在PCB的背面。

GPhone其实就集成(攒)起来的一个东东。里面芯片不少。当然,最重要的芯片是Qualcomm的MSM7201A芯片组。MSM7201A是MSM7200系列,是一个含有两个ARM Core的双核SoC。

GPhone的各芯片的一些相关信息如下:

Processor  Qualcomm MSM7201A @ 528MHz 
(一个双核ARM的SoC。一个ARM11做AP,运行Android;一个ARM9做基带Baseband。)
Screen  Sharp 3.2″ HVGA LCD, 65k Color TFT 
Capacitive Sensor IC  Synaptics 1007A 
Storage  Samsung MCP – 256MB NAND Flash + 128MB DDR SDRAM 
USB PHY  SMSC USB3316 
Wi-Fi  Texas Instruments WL1251B 
Bluetooth  Texas Instruments BRF6300 
GPS  Integrated into Baseband Processor (MSM7201A是一个SoC)
Audio  Integrated into Baseband Processor (同上)
Accelerometer  Unknown 
RF Transceiver  Qualcomm RTR6285 Quad-band GSM/Dual-band UMTS 
Power Management  PMIC: Qualcomm PM7540 (其重要性不亚于主控芯片MSM7201A)
Power Amp (Quad-band GSM): TriQuint Semiconductor TQS-7M5008 
Power Amp (UMTS-2100MHz): Avago ACPM-7381; (UMTS-1700MHz): Avago ACPM-7391 

让《弯曲评论》发烧友们再来从另外一个角度来,依次,仔细看看 主PCB正面图,背面图,和子PCB正面图和背面图:

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

The Impacts of Mobile Internet to Future IP Network

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

计算所 。张晓东 。multicore(4)

张老师的这些工作从概念上讲与multicore本身关系不大。就像张老师自己说的,是经典问题,只不过是在multicore方面,问题显得更突出而已。为什么?在multicore上,cache的利用对一个系统的性能更敏感了。

在学术上,张老师在计算所忽悠的东东属于Locality和广义的Cache Partition范畴。这是操作系统方面一个很重要的研究方向。

在工程领域,特别是通信系统,CPU Cache的问题长期折磨业界的一线工程师们。例如不同的build,差一两天的系统,性能差异很大。。。

加强一下基础知识的补充对调试系统性能是非常有帮助的。

下面是一些相关文献和阅读材料:

张老师的一些重要工作文献(不看一辈子后悔;看了后悔一辈子)

【注:不看后悔:这么漂亮的工作并且被工业界采用;看了后悔:有了张老师,为什么还需要你?】

Dynamic Cache Partitioning on SMT(MIT 计算机系)

Cooperative Cache Partitioning for Chip Multiprocessors (WISC计算机系)

Towards Practical Page Coloring-based Multi-core Cache Management(Rochester计算机系)

那天,张老师的speech比较长。估计是1.5小时左右。在座位的左前排,我唯一能够认识的就是胡卫兵同学,sorry,胡伟武同学。感觉老了许多的样子。胡其实是比我大一岁而已。张老师感觉到很年轻,40刚出头的样子。。。

期间胡同学进出好几次。应该不是抽空又去纪念堂了。

轮到提问时间了。张老师很友善的说:同学们,有问题的,。。啊,请举手。

“张老师,你好,我是,。。。。,陈怀临。。。”

奇怪,没人冲上来要求签名。

“我上次听你讲座,是15年前。。。”

感觉阶梯教室左后侧,响起许多手机拍照的声音。。。。。。

“啊,是吗?。。。也曾经年轻过。。。”,张Fellow如此回答,让陈首席有点诧异。

计算所的小孩们一阵哄笑。后来知道,那天其实还有其他高校来的研究生,例如人大做数据库的一些。

我没有暴露其他信息,张老师估计figure out不出来15年前的那个24岁的研究生。

“张老师,我想请教2个问题。”

“你讲。。。”,张老师似乎感觉到这个叫做陈怀临的人不是什么计算所的菜鸟。。。

“我经常去您的网站看你们的工作。在multicore方面,许多,或者最早的一批应用是在通信领域,例如数据通信方面,但感觉您和您的学生们没有在这方面开展一些工作。。。这方面其实有许多的问题要解决。。。”

“是吗,为什么多核要用在数据通信上?”

一阵眩晕,陈首席差点昏倒在计算所的地上。

“欧,是这样的。数据通信设备现在要求越来越多的Intelligence。。。 ,例如Edge Router,Metro Ethernet,Enterrpise等。。。”,陈首席的语气很温柔,不像其教训他的粉丝时的模样。毕竟,陈首席是冒着大雪来听他的偶像张老师的忽悠;而非Otherwise。

张晓东令人尊敬不是因为他什么都懂;而是他不懂就说不懂。

“另外一个问题是,您这样著名的计算机科学家,在北美影响力这么大。考虑全职回国吗?”

这个问题太难了。比Cache的问题难许多。

“。。。我是希望回来。。。但一个问题通常有一些critical issues。只有解决了critical issues,事情才能有解。。。”。

张老师的回答很学术。大概意思就是:说声回国太沉重。

张老师全职回国,去哪里?

美国最大计算机系的系主任,IEEE Fellow,曾经的NSF的Director。。。

中国的那个计算机系能要?他愿意去?

他的能力可以做任何一个大学工学院的Dean。

但是,这样的坑在哪里?

似乎,张老师连千人计划都还没有入选。。。。。。

(18个打分, 平均:4.33 / 5)

Chrome OS也许只是一个广告

最近Chrome OS火的一塌糊涂,大家都在关注和讨论这个系统。作为喜欢和做技术的人聊市场,和做市场的人聊技术的营销人员,我倒是有一点比较另类的营销观点——Chrome OS也许只是一个广告。对于关注业内发展的人来说,大家都知道google的目标,或者说云计算的目标,其本质就是Chrome OS所倡导的终端只有浏览器,一切应用放在云里面的模式。问题是非常容易不明真相的广大人民群众——互联网的基础用户——其实是不了解这一点的。那么,google的问题就是如何让大家认识到这一趋势。而这,其实是一个营销问题。从这个角度思考,那么Chrome OS其实就是一个最好的广告。通过这个操作系统的热潮,通过一批预装了Chrome OS的上网本的体验,彻底颠覆广大人民群众对OS的理解,甚至是对PC的理解。从而达到广告的效果。以上是我说Chrome OS是一个广告的理由。并不复杂。下面想要说说我对Chrome OS的一些猜测和对它用途的讨论,目的是算算google这个广告是否合算。其实仔细想想Chrome OS应该花不了多少钱,毕竟核心的部分都是比较成熟的,无非就是一个跑在BSD上的Chrome浏览器而已 。当然为了安全,为了效率,为了××等等一系列的理由下,还是要有很多工作要做,很多的代码要写。但是总的说来技术难度应该不会很大。所以花钱应该不多。那么Chrome OS能做什么用呢?个人观点,做上网本应用其实不太合适,用此震撼一下广大人民群众是可以的,但是想以此打开市场就有点一厢情愿。毕竟广大人民群众还不习惯事事依靠互联网,目前的条件也还不足以支撑彻底的云应用,也许等到飞机上也有wifi的时候,才是云应用可以走入寻常百姓家的时候。Chrome OS最好的用途似乎应该是和实达一类的瘦客户端的厂商合作,推广企业级的基于浏览器的瘦客户端应用。如银行柜台人员使用的终端,或者运营商营业部柜台人员的终端,又或者银行、书店中的查询终端,等等等等形形色色的只基于web应用的瘦客户端。在这些应用中,Chrome OS的简单,以及由此带来的高效、安全性等都会吸引大的企业客户的目光,相信Chrome OS也会有非常良好的表现。如上算下来,google这个广告做的可是很划算。首先花钱不多,目前也还会有一定的应用场合,震撼的效果又足够。基本上没什么成本(甚至可能会直接从中赚钱),宣传效果又足够的好。总之,Chrome OS其实是一个超越时代的产品,它所代表的时代还没有到来,也不一定到来(尽管我们都认为会到来)。Chrome OS有很大机会成为一个先烈,也可能成为一个时代的先行者和奠基石,一切皆有可能。顺便说下我对google和apple的评价,两家都是创新能力极强的公司,不过创新的风格不太一样。apple的创新是给你熟悉的东西以全新的体验,你会眼前一亮:“我K,这事还能这么干?”。而google 则是提供你从未想到过的东西,你会大吃一惊:“我K,还有这种事?”。不过google新应用的用户体验往往不太好,这是我认为google很容易成为先烈的原因。小子一点浅见,欢迎大家拍砖!

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

弯曲评论: 科技新闻引导(112009)

在CNN科技方面,一篇评述Google Chrome的文章有点滑稽。“Google OS: the end of the hard ?”。从目前看来,Chrome主要的优点似乎只剩下启动(bootup)快–7秒。做技术的其实应该问,为什么是7秒,而非5,或6秒?

在Techcrunch方面,今天的web 2.0的文章都不怎么样。唯一可以值得推荐的是Gmail的发明人Paul Buchheit的一个采访。Gmail Creator Thinks Email Will Last Forever. And Hasn’t Tried Google Wave.

在半导体方面,EETimes的读者选出了最好的5篇这个星期的文章。排名第一的是:Ten emerging technologies to watch in 2010  

数据中心(Data Center)无疑非常重要。数据中心的安全问题就更重要。 5 steps to secure your data center是一篇关于如何保护数据中心的文章,可以一阅。

美国经济不再恶化,但确实没有起色YET。在硅谷,失业率已经达到11.9%。历史新高。Silicon Valley jobless rate rises to 11.9 percent。暂时没失业的可以幸灾乐祸的看看来自siliconvalley.com的报道。

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