Sun替代性的开源软件Fortran
Sun Microsystems在开源软件方面又有新举动,为创建一种被称为Fortress的全新编程语言而开始寻求外部世界的帮助。 Sun在美国悄然发布了一款编程工具,能够逐行执行开源软件原型Fortress程序。Sun实验室计算机科学家和Fortress负责人Eric Allen对此举解释说:“我们正在邀请研究机构或第三方参与此项目。” 设计Fortress的目的是用现代的语言取
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程序的世界。”
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)