请选择 进入手机版 | 继续访问电脑版

超级大本营军事论坛

 找回密码
 加入超大军事

QQ登录

只需一步,快速开始

查看: 6092|回复: 21
收起左侧

此文泄露了龙芯2 软件模拟运行X86程序的效率!

[复制链接]
头像被屏蔽
发表于 2008-9-5 23:08 | 显示全部楼层 |阅读模式

更多精彩专业军事内容,期待你的加入!

您需要 登录 才可以下载或查看,没有帐号?加入超大军事

x
缘深“BT”组

作者:武X

        我跟“BT”组结缘其实比较偶然,读博期间攻研方向是人工智能,毕业时和张兆庆老师在楼梯上巧遇,使得我很幸运地加入到系统结构室这个团队,开始从事编译方面的研究。搞编译对我来讲完全是半路出家,付出了很多努力才走上正轨,我个人喜欢有挑战性的工作,在编译这个比较偏基础理论的工作中,几年下来感觉收获颇丰。

“BT”由来

        说来好笑,这几年我一直投身于一个叫做“BT”的课题组中,从事二进制翻译(Binary Translation)方面的研究。起初为了简化称呼,将该组命名为“BT”组,谁知大家都叫我们“变态”组,上网一查,“BT”竟是“变态”的缩写!于是开始研究新的名字,汇聚众人智慧后改名DigitalBridge(数字桥)Translation组,简称“DBT”,结果又得了一个“大变态”的名字!看来总是脱离不了“BT”了,于是只好接受。后来我们觉得“BT”也挺好,到如今简直就以“BT”为荣了!因为在“BT”组里,发生着很多有趣的故事。

小姐让贤

        二进制翻译是研究如何通过软件手段进行代码移植的技术。成立“BT”组,一个重要的目的是希望为“龙芯”做些贡献,将X86处理器上的应用软件移植到“龙芯”上,丰富“龙芯”的应用。故而选择了以X86为源、MIPS为目标作为研究对象。

        项目组最初只有三名成员:马X、唐X和熊X,后来因工作关系小熊走了,就只剩两个人艰难前行。当时由在读博士生马X牵头,通过改造Queensland大学的UQBT,实现了一个X86到MIPS的纯静态翻译系统。虽然该系统只能通过三四个简单程序的测试,但为后来工作的开展做了知识上的储备。纯静态的方案具有天生的缺陷,无法解决众多代码中存在的间接跳转、间接调用等问题,于是他们给出了“静态方案不可行”的结论,一时间项目陷于停顿状态,大家开始寻求别的出路。

        2003年3月初我加入了“BT”组,经过一段时间的学习,慢慢掌握了该方向的基础知识,并提出一些有价值的建议。这时马小姐做出一个惊人之举,表示希望由我来接管这个小组,她甘愿作项目组的普通一员!记得当时实验室有规定——在读学生担当课题组长会有额外的补助,但她考虑更多的是项目的发展,多次提出让贤。尽管我再三推辞,她还是十分坚决。大家都开玩笑说她已经具备“BT”潜质了。最后在室领导冯晓兵的协调下,还是由我接管了“BT”组,马X则如她所说,认真地配合我开展工作。而后,随着工作的逐步深入,大家渐渐把拿出设计方案的期望寄托到我的身上,我也正式开始了“BT”历程……

争执不休

        经过一番深入细致的调研和初步试验,项目逐渐开始进入方案论证阶段。“BT”组此时又迎来了两个新成员──白X和谢X。起初意见很不统一,大家各自提出自己的想法,同时有几套不成熟的方案摆在桌面上。于是每天都在争论,每人都在陈述、辩解、维护自己的观点,除了开会,不管是吃饭、走路,只要见面就一定是在争辩。

        我设计了一套纯动态的方案,提交给小组讨论,同样没有摆脱被驳斥的命运。我耐心向他们解释其中合理的部分,汇总大家提出的建议,回来再进行认真的修改。争论应该说是有益的,反复的争论和反复的修改使得该方案愈来愈合理化。渐渐地大家开始认可这一方案,配合我进行探索。“怎样让系统运转?”“如何加入翻译和优化?”“如何进行动态信息收集?”讨论非常热烈,共识也越来越多,原本较粗的方案也越来越丰满,我们感觉就像“滚雪球”一样,从模糊一片的雪花聚集起来,逐渐滚成了雪球,越来越大,然后又组成有模有样的雪人。

非典时期

        总体方案明确后,大家都很高兴,从中看到了一线曙光。正准备铺开摊子大干一番的时候,却遇上了2003年5月突如其来的非典。当时几乎所有人都在关注非典的消息,发现它离我们越来越近,先是三元桥发现病例,然后xxx、xxx……直到近在咫尺的物理所。这时“BT”组弟兄们还是一心想验证得之不易的方案,全力去设计和编码,工作气氛非常热烈。后来板蓝根、口罩等开始流行和脱销了,人们日渐忙乱恐慌,各单位也展开了相对隔离的措施。那时,研一的谢x被限制在x路的研究生院里,大家只好通过E-mail来传递思想、讨论方案。库函数处理是系统中的一个重要环节,先是由我设计了一个方案,主要交给谢来完成。没想到在四周充斥着对非典恐慌的环境中,他一个人还能主动工作,不但实现了相应的功能,而且还做出较大的改进。后来我们在所里进行联调,发现他从网上传过来的代码根本不需要任何修改就能很好地工作。当第一个小测试程序hanoi在唐x手里通过时,大家都异常高兴,立即发邮件告诉谢X,于是在网上使劲庆祝了一番!真的像孩子一样高兴!经过这番努力,我们的动态方案得以验证,当初的争执也就此尘埃落定。

        后来通过的测试用例越来越多,达到了两千多个,就此士气高涨。我们不断地将方案中设计的翻译、优化、连接、trace处理等一系列功能加入其中,性能也在日益提高……

初上展台

        最初调试完成的版本被我们命名为“DBT-I”。记得那时是2003年11月,正逢计算所“开放日”,“DBT-I”被推荐去展示,得到这个消息的我们都很兴奋。

        北京的初冬,“开放日”定在东三环的长城饭店。由于先前有其它单位的展览,我们只被允许半夜进驻。头一天傍晚唐X和谢X就在那里待命,等到深夜12点才能开始会场布置和演示系统的调试,一直忙到凌晨3、4点,一夜没有休息。第二天一早我去讲解,安排他俩回去休息,但他们怎么也不肯,又在那里坚持了一个整天。

        那天真是印象深刻!很多人对我们的展位感兴趣,不断有人过来询问和讨论,课题组的成员都非常兴奋。呵呵,小小的“BT”组居然受到了认可,引起了关注!所领导看完演示,也对我们的课题产生了信心!“BT”组也开始梦想着,如果再进一步提高些性能,就更接近为“龙芯”服务的目标了。

        回来后,陆陆续续有人在技术发展部的引导下来我们组里参观。后来有一天,一个军队单位来参观时,找我们咨询了很多,又跟实验室领导谈了很久,然后就提出合作意向,一举投资X万,请我们为其完成一个专用系统。我们准备将这个新的系统命名为“DBT-II”。

快乐“BT”

        到2004年下半年,马x和小白毕业走了,组里又不断有新生力量加盟,自从吸引来投资,我们的底气也足了许多。重新开始进行第二轮方案探讨和论证,我提出了动静结合方案,于是搞不搞动静结合?动静如何结合?一系列问题又摆上桌面,开始进行紧张的设计和论证。我们准备在原有的纯动态基础上进行诸多的优化改造,新的方案几经周折,终于定稿,基本上还是由我总体负责,兵分两路进行攻研──动态的改造由唐X、杨X、贾X、李X完成;静态部分则交给了崔X、谢X和X。

        想在原有的系统上进行提高,不是一件很容易的事情。新的任务布置下去,几乎马上就遇到了难题,经常是在大家进展不下去时,我就给大家打气,拿出“BT”组的作风来鼓励他们。也许因为项目组名字的缘故,我们组的成员的确是比较“BT”,不信你来瞧瞧:

        略......

        “BT”组成员的一大特点就是从不气馁。虽然研究BT枯燥乏味,任务量繁重,需要重复地调试再调试,但是遇到挫折时大家总能找些轻松的话题来自我调侃,调节气氛,互相鼓励,开拓思路。即使遇到再大的难关,最后也总会在我们的欢声笑语中迎刃而解。

        “BT”组的另一大特点就是团结、心齐,劲儿往一处使。每次工作讨论时都能够畅所欲言,即使不是自己的问题,也会主动思考,广集思路,给出有益的看法和建议。

孕育新生

        2005年春节前,学生们都放假了,只有小崔和我是员工,还有两周时间工作,我们俩就静下心来继续调试。当时有个多进程程序出了bug,这个bug又恰巧出在子进程中,我们唯一的调试工具gdb只能对主进程进行跟踪。小崔找我让我想个办法,我提议在子进程中添加一些输出信息以帮助调试。为了区分各个子进程,需要为它们“起名字”,当时我老婆正在怀孕,我就随手起了个“wucg_son”,后来就继续“wucg_son1”,“wucg_son2”……。于是每次调试到这些进程的时候,小崔就说:“看你又把你儿子给搬出来了……”。后来我们在艰苦的两周里终于把剩下的程序全部调过了,“DBT-II”初具雏形。小崔就高兴地说:“武哥,看来你儿子还真挺争气!”

        谁知后来我老婆生出了个女儿,大家都特别高兴,专门给我筹集了一批纸尿裤。女儿庆祝满月的时候恰逢周末,“BT”组的一帮人在我家狂饮一番雪碧,痛痛快快地玩了一下午“杀人”游戏……

开卷有益

        从2005年10月开始,在我的提议下“BT”组开始“讨论班”活动,大家分头阅读本领域的经典文章,融会贯通后将内容整理成ppt,每周抽出一个晚上进行交流。“BT”讨论班的规则是“没有很愚蠢的问题,只有讲不懂的老师”。基于这一规则,没充分准备好的人是不开讲的,哪怕向后推迟。通常从开始介绍论文背景,就不断有人提问题,小到ppt里的一个不认识的字,大到某个难以理解的算法,什么问题都可以提出来,讨论解决,整个讲解过程中穿插着热烈的讨论。这样一来,大家都在学习中有所收获,对学术论文的研究也很透撤。讨论班中涌现出一些“铁嘴”,特别是李x,她能化繁为简,深入浅出,听她的讲解可以说是一种享受。

走近龙芯

        一路走来,现阶段“DBT”系统正处于性能提升阶段,我们在对翻译器作精雕细刻,运行效率也不断提高。当前的系统在没有硬件支持的情况下,基本上能达到“龙芯”本地代码峰值的35-40%。“BT”组从早期的“小打小闹”,到现在已经发展为一支勇于挑战自我、有能力实现大系统的科研力量。

        今年正是计算所建所50周年之际,“龙芯3”多核处理器研发工作正式启动,该系统拟采用多核与虚拟机相结合的方案。我们有幸被所领导和龙芯负责人选中承担其中的一部分与虚拟机相关的任务,“BT”组的弟兄们得到消息后都很兴奋。

        给我们“BT”人做个小结,那就是不拘泥于陈规,敢于挑战,思维活跃,和谐融洽,快乐团结。感受着“BT一家人”由小到大发展的过程,让我有了这些由衷的快乐感慨!


===============
考虑到安全问题,把一些人名和地名的全称X掉了,中国就那么几个搞CPU的,撞死一个少一个。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2008-9-6 06:29 | 显示全部楼层
晕,拿QEMU改一下不就完了,另外还可以用QEMU的变种KVM改,KVM的加速模块现在可是LINUX内核模块的基本组件,
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
头像被屏蔽
发表于 2008-9-6 11:22 | 显示全部楼层
原帖由 qnxchina 于 2008-9-6 06:29 发表
晕,拿QEMU改一下不就完了,另外还可以用QEMU的变种KVM改,KVM的加速模块现在可是LINUX内核模块的基本组件,


=======能自己做就自己做!!多点这方面的研究,总比什么技术也没有,要好点!!!
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2008-9-6 12:23 | 显示全部楼层
原帖由 175799022 于 2008-9-6 11:22 发表


=======能自己做就自己做!!多点这方面的研究,总比什么技术也没有,要好点!!!


你可以这样做研究,却不可以这样做产品,会饿死人的
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
头像被屏蔽
发表于 2008-9-6 12:28 | 显示全部楼层
原帖由 qnxchina 于 2008-9-6 12:23 发表


你可以这样做研究,却不可以这样做产品,会饿死人的


=====不去研究又如何得来产品呢???
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
头像被屏蔽
发表于 2008-9-6 12:29 | 显示全部楼层
我看了QEMU的资料,它基本上是个全动态的东西!!!而DBT2有相当部分是静态的!!
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2008-9-6 12:48 | 显示全部楼层
原帖由 175799022 于 2008-9-6 12:29 发表
我看了QEMU的资料,它基本上是个全动态的东西!!!而DBT2有相当部分是静态的!!


静态的自然性能上要好一点,毕竟可以先全局扫描一下所有代码
DEC早在10 多年钱就玩熟了,而苹果搞硬件仿真更早,知道第一代MAC么??
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2008-9-6 12:50 | 显示全部楼层
原帖由 175799022 于 2008-9-6 12:28 发表


=====不去研究又如何得来产品呢???


从产品角度讲,龙芯项目从2003年到现在,多次跳票,至今没有成果的规模商业应用,基本上死了好几回了,不过中科院还是能继续发工资,这点占大便宜了
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
头像被屏蔽
发表于 2008-9-6 13:27 | 显示全部楼层
原帖由 qnxchina 于 2008-9-6 12:50 发表


从产品角度讲,龙芯项目从2003年到现在,多次跳票,至今没有成果的规模商业应用,基本上死了好几回了,不过中科院还是能继续发工资,这点占大便宜了



========你前面的对手太强大!!!自己的水平和起点低!!前期没有成果很正常!!但有只要支持下去就会出成果!!
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
头像被屏蔽
发表于 2008-9-6 13:28 | 显示全部楼层
原帖由 qnxchina 于 2008-9-6 12:48 发表


静态的自然性能上要好一点,毕竟可以先全局扫描一下所有代码
DEC早在10 多年钱就玩熟了,而苹果搞硬件仿真更早,知道第一代MAC么??


==========那时候有现在的硬件性能吗???
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2008-9-6 15:51 | 显示全部楼层
原帖由 175799022 于 2008-9-6 13:28 发表


==========那时候有现在的硬件性能吗???


很抱歉,你前面发的里面已经清楚表明只能和P3 800对抗而已
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2008-9-6 16:01 | 显示全部楼层
原帖由 175799022 于 2008-9-6 13:27 发表



========你前面的对手太强大!!!自己的水平和起点低!!前期没有成果很正常!!但有只要支持下去就会出成果!!


所以先搞点容易的,让自己活下去,比啥都重要,
不是军工项目,没人支持你10年而不要求成果
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
头像被屏蔽
 楼主| 发表于 2008-9-6 17:41 | 显示全部楼层
原帖由 qnxchina 于 2008-9-6 06:29 发表
晕,拿QEMU改一下不就完了,另外还可以用QEMU的变种KVM改,KVM的加速模块现在可是LINUX内核模块的基本组件,


扯淡
没有文章中的研究做基础,你改个头。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2008-9-6 18:36 | 显示全部楼层
其实这种东西让学生做是最好的,给学生最直观的代码认识。不过似乎你们的这种二进制翻译除了代码优化外不关编译的事
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2008-9-6 19:19 | 显示全部楼层
原帖由 jbyyy 于 2008-9-6 17:41 发表


扯淡
没有文章中的研究做基础,你改个头。


别人做完并且开源免费的参考不用,你要重新发明轮子么??
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2008-9-6 19:19 | 显示全部楼层
原帖由 70年代蓝马甲 于 2008-9-6 18:36 发表
其实这种东西让学生做是最好的,给学生最直观的代码认识。不过似乎你们的这种二进制翻译除了代码优化外不关编译的事

从X86到MIPS,可以算二次编译
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
头像被屏蔽
发表于 2008-9-6 21:49 | 显示全部楼层
一边口口声声哭着喊着当年运10团队不解散就好了,大骂现在没人搞大飞机,一边花大把大把钱买飞机
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
头像被屏蔽
 楼主| 发表于 2008-9-6 22:29 | 显示全部楼层
原帖由 qnxchina 于 2008-9-6 19:19 发表

别人做完并且开源免费的参考不用,你要重新发明轮子么??


火星人“做完”了 ?

你小学没毕业,汉字看不懂? 哪个说要“重新发明”?没有文章中的研究做基础,你改个头。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2008-9-6 22:52 | 显示全部楼层
模拟运行这条路是死路一条,全美达的教训还不够啊。
当年聚集了这么多的业界精英,巨亏连连,现在成了个“专利公司”,只有10个人了。
而且全美达本身在仿真X86上面已经有了大量的专利,你要搞这个,人家就等着收钱了。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
发表于 2008-9-7 06:53 | 显示全部楼层
原帖由 jbyyy 于 2008-9-6 22:29 发表


火星人“做完”了 ?

你小学没毕业,汉字看不懂? 哪个说要“重新发明”?没有文章中的研究做基础,你改个头。


你还真JBYY的,有现成教材不学
不过真是完全自己搞的么?
业内这样的东西很多,从苹果、DEC、全美达,这样的东西还少么?
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
头像被屏蔽
发表于 2008-9-7 11:14 | 显示全部楼层
看来有些人还真是没有搞明白…………抄都抄不好,谈P的创新

以为创新想打酱油那么简单…………现在科技发展到这个地步,成熟技术,凡是可行的解决方案,人家基本都试过了,就算不可行的,人家也试过为什么不可行。你非要自己搞一套,不过走人家老路而已,浪费钱更浪费时间。

最省钱,最快的办法,就是跟在人家背后,骗也好,买也好。先弄进来抄。抄明白了,人家为什么这么作,为什么不那么作。在谈创新。

日本为啥,引进技术后吸收的快,就是人家一开始姿态放很低,很老实的抄,结果现在人家有高姿态的资本了。不想天朝,P都不懂,学点皮毛,就嚷着要独立,跨越试发展…………跨到现在垮过去没???垮到水沟里去到很多。
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
头像被屏蔽
发表于 2008-9-7 11:30 | 显示全部楼层
而且,事实还说明一个问题。

龙芯为什么不去找“风投”这种按照胡博士所描述的,形式一片大好的事情,风投公司不打破头呀。现在国内的资金找投资的太多了。真要有价值的项目,早就主动来找你了。

按照“龙芯”的知名度。按照胡博士描述的大好形势…………胡博士应该被风投公司烦死才对…………。

问题是风投公司有那么好忽悠吗…………:D
最具影响力军事论坛-超级大本营军事论坛欢迎你!超然物外,有容乃大。
您需要登录后才可以回帖 登录 | 加入超大军事

本版积分规则

指挥中心大屏幕

监狱|手机|联系|超级大本营军事论坛 ( 京ICP备13042948号 | 京公网安备11010602010161 )

声明:论坛言论仅代表网友个人观点,不代表超级大本营军事网站立场

Powered by Discuz © 2002-2018 超级大本营军事网站 CJDBY.net (违法及不良信息举报电话:13410849082)

最具影响力中文军事论坛 - Most Influential Chinese Military Forum

GMT+8, 2018-12-13 07:31 , Processed in 0.046517 second(s), 8 queries , Gzip On, Redis On.

快速回复 返回顶部 返回列表