用户名:    密码:    登录
位于 搜索

SUPCON Rustler的博客

我身边计算能力决定的世界

呵呵,开宗第一篇,写些什么呢?

还记得在高中的时候第一次接触PC,那个20个终端的Novell网。整个网络只有两台486PC支撑,刚刚学会DOS操作的我们,在老师的带领下用Turbo C来完成简单的C程序设计,欣喜之余,计算能力的不足经常导致整个网络的阻塞,编译作业被提交到两台PC上进行,很不方便。当时感觉486真的很神奇,靠分时系统支撑了20个人同时编程。后来,老师在一台486上安装了Windows 32,我们都惊呆了,原来世界可以如此的精彩!

后来呢,大学的时候,寝室里8个同学共同集资买了一台奔腾160,至今我还记得其它寝室同学贪婪的目光。这时互联网技术正在普及,大量的静态网站开始兴起,由于计算能力的珍贵,当时很少有网站提供动态内容,一个聊天室程序都能让大家激动一阵子。大四的时候,计算机已经发展到奔III的时代,IT世界一下子精彩了起来,各种3D游戏大量涌入,网络服务变得令人激动。那个时候,QQ和MSN方兴未艾,计算能力使各大网站推出了多彩的Email服务。最令人激动的是大量视频下载供能和音频聊天,仿佛一夜之间,这个世界就变化了。当我拿着自己在大学时开发的一些小软件应聘到SUPCON的时候,Oracle正在发布9i,Xml也兴起了,实时数据库技术开始热了起来,这一切的到来有一个核心原因,就是P4带来的计算能力。

这个时代真是很疯狂,一切都高速进行。2003年,当时我负责公司核心的先进控制系列软件的研发,其中一部分是将原有的c编写的算法库升级成用c++编写的更易维护的版本,为了提高效率,我根本不敢使用多层集成的关系,一律采用模版扁平化处理,内部尽量使用内联函数,以便进一步平面展开。但是开始的时候还是十分考虑封装性的。代码写完收工,感觉优雅得让自己笑出声来,结果一运行,性能只有原有c裸代码的十分之一。这是根本不能接受的。后来就是采取各种编译选项优化,效果都不理想。最终认识倒,不论怎么扁平化的封装,都会带来额外的类指针负荷,同时虽然内联展开了,但实际上代码依然会因此变得臃肿。没办法,只好拆掉了几个写好的脚手架类,将部分的Trait改写成直接展开的代码,又一个一个变量的优化,变方法调用为数组访问,尽量利用中间计算结果等等。最终效率达到了裸c代码的93%,终于可以用了。算法内部的优雅虽然有所破坏,但由于外部的面向对象以维护特性,终于可以批量便携各种高级算法包了。当时就在想,如果CPU再快一点,也许这些优化工作都可以不做,代码的质量和可维护性可以进一步提高。

2004年,是实时数据库发展的关键一年,这年新版本3.x终于面世了,随着新内核的出现,外围的应用开始涌现出来,计算机的速度使基于Web的应用可以使用.Net框架编写。一切都好像很顺利。结果在5月份,来了个大的MES项目,我当时刚成为开发部经理不久,意气风发,迅速构建了一个采用.Net Remoting和Smart Client技术支撑的应用平台,弟兄们被新技术感召,疯狂加班,封闭开发,在短短二十天左右的时间惊人地完成了Alpha版。结果公司也激动了,夸了我半天。当我们飘飘然地将Beta部署到现场的时候,悲剧开始了。工厂里面大量运行着奔腾II和奔腾III,内存256M的机器已经认为很不错了。我们基于IE嵌入WinForm的构架,由于是富客户端技术,对客户端的计算能力要求较高,加之网络错综复杂,Remoting常常异常连不上,表现得一塌糊涂。当时那个恨呀,就恨不得自己出钱将厂里面一百多台要上系统的电脑都更换了。痛定思痛,我们清醒地认识到,做构架和设计,不能看最新的计算能力,而需要看业绩平均计算能力,这个才是决定IT世界的核心问题。

2005年过得充实又平淡,所有的产品都在完善和等待新版本的爆发,各类技术都有所提升,但步伐不大。感觉C#变态一样地在复杂着自己的语法,Java却不断完善了。

结果时间进行到了2006年,随着双核技术的推进,计算能力有一次改变了很多事情。这年参加了Intel大量的培训,和Intel的很多高层技术人员做了交流,10月份,实时数据库4.0版本发布了,11月,Intel进驻中控,对其进行全面性能测试,注重了单双核的对比。结果是连我都震惊了。虽然整个实时数据库是分布式构架,内部进程线程都很多,设计上对并行考虑的也比较到位,利于表现双核的性能,这么庞大的一个软件体系,按我的估计,性能提升到1.3倍就不错了。没想到核心性能指标最低也上升了1.3,其它两个上升到1.7和2.3倍。虽然Intel培训时认为效率应该上升到小于2倍,但是由于双核带来的线程相互等待降低,以及同时并行执行线程能力增强,在多客户端的测试情况下,2.3倍的性能指标提升出现了。这个测试结果着实在业界引起不小的振动。还有研发同类产品的研发经理向我索要详细测试报告。我又一次认识到,好的构架需要高的计算能力来表现,就像如果水泵能力有限,长江在小溪面前也表现不出实力,但一旦水泵能力强了,小溪会被抽干,而长江的水滚滚而来。

结果,还没等我平复一下,Intel四核又发布了,这下有好戏看了,一些客户资金有限,过去总想购买单CPU的入门服务器,现在即便是这么做,也会发现我们的产品能力提高了一倍,这个用户体验完全是Intel送给我们的。感谢多核时代,这让我们大有可为!

日期: 2006年12月28日 21:30 作者 SUPCON Rustler

评论

 

blueray 说:

我们共同经历了CPU的这些时代, 有很多共同的感受。

一月 5, 2007 21:19
 

welvpc 说:

很好的感想,IT人就是在技术的高速发展中学习成长。。。

一月 16, 2007 14:38
禁止匿名发表评论

About SUPCON Rustler

1Year Project Manager 3Year R&D Manager Production Manager Now...

主题TAG

请创建更多的TAG.