扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Sun Microsystems在开源软件方面又有新举动,为创建一种被称为Fortress的全新编程语言而开始寻求外部世界的帮助。
Sun在美国悄然发布了一款编程工具,能够逐行执行开源软件原型Fortress程序。Sun实验室计算机科学家和Fortress负责人Eric Allen对此举解释说:“我们正在邀请研究机构或第三方参与此项目。”
设计Fortress的目的是用现代的语言取代Fortran。Fortran是一种50年前诞生在IBM的编程语言,但是目前在很多高性能计算任务中依然在广泛使用,如天气预报等。
Fortress源于美国国防部建立的一项超级计算项目,其目标是解决主流计算的一个难题:更容易的完成多核处理器中新处理引擎的提取工作。
Allen 说:“现在我们在高性能计算市场拥有明显的优势。我们认为随着多核处理器在普通桌面系统中重要性的提高,程序员们开始转向使用Fortress这样的语言以更好的利用卓越的硬件性能”。
Intel和AMD的主流x86芯片现在已经拥有2个甚至4个处理核,Sun Niagara芯片甚至有8个核,而且很快会发展到16个核。但是软件很难分块运行在并行多核处理器上,或者说,很难跨越多个处理器运行。
“对于某些类型的工作负载来说,计算机工业做的非常漂亮。Google是一个并行的编程工作,”Illuminata分析专家Gordon Haff说:“有些工作负载表现出色,另外一些则不行。尽管如此,并行处理这些工作对于计算机科学来说是一个长期存在的课题。科学家们已经取得了一些竟部,但是任务还远没有完成。”
Sun系统Fortress能够帮助解决这个问题。
Allen 说:“Fortress不是什么魔粉,但是它编写程序的方法的确在多核处理器上具有优势。”例如,Fortress程序员必须在软件不能并行运行时进行明确的说明,这与以前截然相反。当Fortress程序执行重复性的“for”循环时,比如检查照片上的每个像素,或者查找列表中年龄超过21的人数时,Fortress能将任务自动分块并将每部分工作分配给不同的核、处理器或者服务器”。
Allen 还介绍说,Fortress还在尝试使用智能化的数据存储方式,将数据保存在使用它们的处理器附近。Sun认为这样对于多个独立服务器组成的高速大型计算机集群有很大的帮助。
关于流行性的竞争
Sun在Java语言上取得过很大的荣誉,在引入新编程语言方面有很好的声望。但是这并不能保证他们永不失败。
RedMonk公司分析专家Stephen O'Grady说:“最大的困难在于如何吸引开发者使用这种语言”。
加入人人可以查看和修改软件编码的开源软件运动,是吸引新程序员最自然的方式,特别对于开源软件最流行的高性能计算领域编程人员尤为有效,他们推崇自己动手的理念,人们更愿意体验新技术,让硬件得到更好的运用。
新的语言近些年取得了一些进步,比如PHP, Python, Perl 和Mono等都获得了开源的支持。在经过了最初几年的抵制以后,Sun也在开发Java开源软件。
如果说Fortress不是开源软件就会面临毁灭的话,可能有些过分,O'Grady说“如果那样它的发展前景将非常有限”。
Sun发布了获得开源BSD许可的Fortress解释程序。公司保留了对官方版本的控制权,因此到目前为止,至少外界的程序员需要让SUN控制他们的成果。
O'Grady 说,保持开源社区对新语言的兴趣是保持语言发展来说非常重要。对于Sun来说,这个社区拥有高性能的计算能力。
例如,编程人员能够使用普通的数学公式,而无需将公司编译成语法完全不同的计算机语言Allen说:“编程人员与出现问题的域更为接近,而不用研究那些计算机科学语言,就能提高生产力”。
原形阶段
Allen相信,Fortress也非常适于执行这类任务。例如,程序员能够使用更接近客户的语言来编写商业软件。
现在还未实现Allen说,Sun九月发布了α版的Fortress语言规范,但这并不是最终版。解释程序只是个早期阶段。翻译程序能够实现Fortress的部分性能,如“偷闲工作”功能,硬件能够在完成自己的工作以后帮助其他硬件完成工作。不过这只是Fortress语言的一小部分性能。
翻译程序在Java上运行,但是不应与Java自身混淆。Java能够在多个计算机上运行相同的程序,这就说明Fortress能够运用于更广泛的项目。
最后,Sun希望不仅仅开发出能够逐行执行Fortress软件的翻译程序,还能开发出能够提前将人类书写的语言翻译成计算机能够识别的语言的编译器。经过编译的软件的执行速度一般比翻译软件要快。另外,Sun还设想优化编译器,通过使用技术来调整软件的编译版本,以改进性能。
Sun为Fortress的发展铺了一条路。也就是说新程序员有很多东西要学,但同时,Sun也为其发展提供了多个方向。不过Allen对Fortran的惯性依然心有戚戚。
他说:“Fortran的很多性能让程序员很难获得与现代编程语言一样高的效率,”不过他还说“我们很难想象一个完全没有Fortran程序的世界。” (责任编辑:张思童)
婵犵數濮烽弫鍛婃叏閻戝鈧倹绂掔€n亞鍔﹀銈嗗坊閸嬫捇鏌涢悢閿嬪仴闁糕斁鍋撳銈嗗坊閸嬫挾绱撳鍜冭含妤犵偛鍟灒閻犲洩灏欑粣鐐烘⒑瑜版帒浜伴柛鎾寸洴閹儳煤椤忓應鎷洪梻鍌氱墛閸楁洟宕奸妷銉ф煣濠电姴锕ょ€氼參宕h箛鏃傜瘈濠电姴鍊绘晶娑㈡煕鐎c劌濡介柕鍥у瀵粙濡歌閳ь剚甯¢弻鐔兼寠婢跺﹥娈婚梺鍝勭灱閸犳牠骞冨⿰鍫濈厸闁稿本绋撹ぐ瀣煟鎼淬値娼愭繛鍙壝悾婵堢矙鐠恒劍娈鹃梺鍓插亝濞叉牠鎮″☉銏$厱閻忕偛澧介惌瀣箾閸喐鍊愭慨濠勭帛閹峰懐绮电€n亝鐣伴梻浣规偠閸斿宕¢崘鑼殾闁靛繈鍊曢崘鈧銈嗗姂閸庡崬鐨梻鍌欑劍鐎笛呯矙閹寸姭鍋撳鐓庡籍鐎规洑鍗冲畷鍗炍熼梹鎰泿闂備線娼ч悧鍡涘箠鎼淬垺鍙忔い鎺嗗亾闁宠鍨块崺銉╁幢濡炲墽鍑规繝鐢靛О閸ㄦ椽鏁嬮柧鑽ゅ仦娣囧﹪濡堕崨顔兼闂佺ǹ顑呴崐鍦崲濞戙垹骞㈡俊顖濐嚙绾板秹鏌f惔銏e妞わ妇鏁诲璇差吋閸偅顎囬梻浣告啞閹搁箖宕版惔顭戞晪闁挎繂顦介弫鍡椼€掑顒婂姛闁活厽顨嗙换娑㈠箻閺夋垹鍔伴梺绋款儐閹瑰洭寮婚敐鍛婵炲棙鍔曠壕鎶芥⒑閸濆嫭婀扮紒瀣灴閸╃偤骞嬮敃鈧婵囥亜閺囩偞鍣洪柍璇诧功缁辨捇宕掑▎鎴濆濡炪們鍔岄幊姗€骞嗗畝鍕<闁绘劙娼х粊锕傛煙閸忚偐鏆橀柛鏂跨焸閹偤宕归鐘辩盎闂佸湱鍎ら崹鐢割敂閳哄懏鍊垫慨姗嗗墻濡插綊鏌曢崶褍顏€殿喕绮欐俊姝岊槼闁革絻鍎崇槐鎾存媴缁涘娈┑鈽嗗亝缁诲牆顕f繝姘亜缁炬媽椴搁弲锝夋偡濠婂啰效闁诡喗锕㈤幊鐘活敆閸屾粣绱查梺鍝勵槸閻楀嫰宕濇惔锝囦笉闁绘劗鍎ら悡娑㈡倶閻愯泛袚闁哥姵锕㈤弻鈩冩媴閻熸澘顫掗悗瑙勬礈閸犳牠銆佸鈧幃鈺呮惞椤愩倝鎷婚梻鍌氬€峰ù鍥х暦閸偅鍙忛柟鎯板Г閳锋梻鈧箍鍎遍ˇ顖炲垂閸岀偞鐓㈡俊顖滃皑缁辨岸鏌ㄥ┑鍡╂Ц缂佲偓鐎n偁浜滈柡宥冨妿閳藉绻涢崼鐔虹煉婵﹨娅e☉鐢稿川椤斾勘鈧劕顪冮妶搴′簼婵炶尙鍠栧畷娲焵椤掍降浜滈柟鍝勬娴滈箖姊洪幐搴㈢┛濠碘€虫搐鍗遍柟鐗堟緲缁秹鏌涢锝囩畼妞ゆ挻妞藉铏圭磼濡搫顫岄悗娈垮櫘閸撴瑨鐏冮梺鍛婁緱閸犳岸宕㈤幖浣光拺闁告挻褰冩禍浠嬫煕鐎n亜顏柟顔斤耿閺佸啴宕掑☉姘箞闂佽鍑界紞鍡涘磻閸℃ɑ娅犳い鎺戝€荤壕濂告煕鐏炲墽鈽夌紒妞﹀洦鐓欓柣鐔告緲椤忣參鏌熼悡搴㈣础闁瑰弶鎸冲畷鐔兼濞戞瑦鐝¢梻鍌氬€搁崐椋庣矆娓氣偓楠炴牠顢曢妶鍌氫壕婵ê宕崢瀵糕偓瑙勬礀缂嶅﹪寮婚崱妤婂悑闁告侗鍨界槐閬嶆煟鎼达紕鐣柛搴ㄤ憾钘濆ù鍏兼綑绾捐法鈧箍鍎遍ˇ浼存偂閺囥垺鐓涢柛銉e劚婵$厧顭胯閸ㄤ即婀侀梺缁樓圭粔顕€顢旈崼鐔虹暢闂傚倷鐒︾€笛呮崲閸屾娑樜旈崨顓犲幒闂佸搫娲㈤崹娲偂閸愵亝鍠愭繝濠傜墕缁€鍫熸叏濡寧纭鹃柦鍐枛閺屾洘绻涜鐎氱兘宕戦妸鈺傗拺缂備焦锚婵洦銇勯弴銊ュ籍闁糕斂鍨藉鎾閳ユ枼鍋撻悽鍛婄叆婵犻潧妫楅埀顒傛嚀閳诲秹宕堕妸锝勭盎闂婎偄娲︾粙鎰板箟妤e啯鐓涢悘鐐靛亾缁€瀣偓瑙勬礋娴滃爼銆佸鈧幃銏$附婢跺澶�