昇陽替Fortran老語言換上開源碼新裝

CNET新聞專區:Stephen Shankland  15/01/2007
  友善列印   Email文章給朋友   儲存文章

昇陽公司又有開放原始碼動作,這一回是廣邀各界協助打造一種稱為「Fortress」的全新程式設計語言。

昇陽9日悄悄把原型Fortress「解譯器」(interpreter)發布為開原碼軟體。解譯器是一種程式設計工具,用來逐行執行Fortress程式。

昇陽實驗室電腦科學家兼Fortress專案領導人Eric Allen說:「我們設法邀請學術界人士及其他第三者共襄盛舉。」

昇陽希望以Fortress取代50年前在IBM誕生的Fortran程式設計語言。Fortran至今仍活用於高效能電腦運算任務,例如氣象預報。

儘管Fortress脫胎自美國國防部的超級電腦贊助計畫,但也處理主流的運算問題--更輕易地促使多核心處理器內的新型處理器引擎提高效能。

Allen說:「隨著多核心運算對一般桌上型系統的重要性提高,程式設計師必須轉用 Fortress這類語言,以便利用硬體效能。」

英特爾與AMD目前生產的主流x86晶片具有雙重或四個處理核心,昇陽Niagara晶片擁有八個核心,不久後將提高到16個。然而,軟體卻難以分割成各自獨立的片斷、在那些核心當中平行運作,或越跨多重處理器運作。

Illuminata分析師Gordon Haff說:「對一些類型的工作負載(workload)來說,電腦業做得不錯。Google就是平行運算的問題。有些工作負載調節得很好,但許多則不然。從那些工作負載榨出平行運算,是長久來的電腦科學問題。程序已有,但距離解決問題還十萬八千里遠。」

昇陽希望Fortress有助於解決此問題,讓開發人員能以在多核心平台上運作更佳的方式撰寫程式。

例如,Fortress程式設計人員必須明確表明什麼時候軟體不應平行執行,這跟一般的預設作法相反。當Fortress程式執行「for」迴圈(loop)--一項重複的任務--Fortress就會自動把這項任務分割成幾個片段,並把每一段派送到不同的核心、處理器或伺服器去處理。

Fortress也試圖以智慧型方法儲存資料,以便資料在需要使用時可就近在處理器附近擷取。昇陽認為,這對由獨立伺服器透過高速網路組成的大型電腦叢集(clusters)而言,尤其有用。

然而,RedMonk分析師Stephen O'Grady說:「要吸引大批程式設計師轉用那個語言,非常難。」

採用開原碼的方式,是吸引新程式設計人員的自然選擇。近年來,PHP、Python、Perl和 Mono等新語言都有開原碼底子。就連昇陽的Java也已成為開原碼軟體。

但O'Grady說,Fortress的未來可能變成「極小眾化」(extremely niche) 。

昇陽的Fortress解譯器根據開原碼BSD授權釋出。但正式版Fortress的控制權仍掌握在昇陽手中,所以,至少目前外部程式人員必須把他們貢獻的程式交由昇陽控制。

Fortress目前只初具雛形。昇陽去年9月發布alpha版Fortress語言格式,但尚未拍板定案。而且,解譯程式也在初步階段。

未來,昇陽希望除了打造解譯器之外,也打造編譯器(compiler),以便事先把軟體譯成某種電腦能解讀的形式。編譯軟體通常執行速度比解譯器快。另外,昇陽希望將來也推出最佳化的編譯器(optimizing compiler),此技術可在軟體執行時調整軟體的編譯版,以便改善效能。(唐慧文/譯)

arrow
arrow
    全站熱搜

    末三 發表在 痞客邦 留言(0) 人氣()