IBM Linux 技術中心專訪即時 Linux 工程師
Created at Tuesday, 06 May 2008 08:00
Written by 謝良奇/編譯
IBM Linux 技術中心 (IBM Linux Technology Center) 貼出兩則 podcast,專訪了 IBM 的傑出工程師 (Distinguished Engineer) Paul McKenney。專訪中談及即時 Linux 專案的現況,以及即時 Linux 的相關技術發展。
各 30 分鐘的兩則 podcast 皆由 Tom Galls 主持,訪問 IBM Linux 技術中心的傑出工程師與技術長 McKenney。McKenney 與其所屬團隊為多個即時 Linux 專案貢獻者,這些專案主要目標在於為主要核心整合更多即時功能。此外,McKenney 自 1990 年代初期加入 IBM 後,即投入 SMP、NUMA 與 RCU 演算法的發展,他過去曾於 Sequent Computer Systems 參與 locking 與平行作業系統演算法的開發。
McKenney 在專訪中認為,在即時 Linux 中,光是將工作完成是不夠的。重點是必須在某段時間內完成。此外,他也解釋硬性即時 (hard real-time) 與軟性即時 (soft real-time) 的不同。在硬性即時下,時間有絕對的限制,而且通常非常短暫,軟性即時則允許若干程度的延遲。
IBM 採用的即時系統硬體平台,McKenney 表示,主要為一般的 x86 AMD 與 IBM 刀鋒 (blades) 機器。他很期待即時系統在 ARM 平台上也能有所發展。
目前在即時系統開發上的趨勢, McKenney 認為 Java 崛起成為 C/C++ 與 Ada 以外的開發語言選項,是一個令人出乎意料的趨勢。最初他與其他即時系統開發者並不認為這會是一個可行方向,然而在 IBM 他們發展出具有記憶體回收 (garbage collection) 功能下,仍可有效地以即時模式執行 Java 的方法。他說,重點在於將記憶體回收執行時間縮短到每次數百毫秒。他認為 Java 大大簡化了即時環境下的開發工作。
McKenney 指出,具有即時需求的新應用軟體越來越多。除了傳統通訊與安全用途的嵌入式系統外,金融服務、軍事、工業與博奕應用軟體逐漸需要即時功能。此外,許多即時元件也逐漸與非即時平台上的大型企業系統相互整合。
Galls 問到硬性即時技術,如去年 Wind River 自 FSMLabs 取得的 RTLinux,是否因為主流即時技術成熟而逐漸淡出,McKenney 給了一個否定的答案。他說,這類技術僅涵括 80% 或 90% 的市場,這部份市場應用可以接受數十微秒的執行時間,雖然硬性即時的定義仍有學術爭論,但如果你需要將時間縮短至 10 微秒以下,你仍需要這些特殊產品。這些產品的缺點在於缺乏主流 Linux 提供的廣泛軟體支援。
McKenney 認為即時專案未來發展,在短期內仍缺乏如執行緒 (threading) 與中斷處理 (interrupt handlers) 元件,未來可能會加入可以在即時時間槽 (real-time patches) 中清除所有中斷的特殊排程掛鉤 (hooks),並且將即時功能擴展至 I/O 路徑 (path),包括磁碟 I/O 上。
影響即時技術最重要的技術趨勢,McKenney 認為是便宜且快速的 flash 記憶體。他表示,flash 記憶體普遍化後,系統的回應時間將可大大縮短,整合這類高速儲存設備將可能是未來的方向。
相關網址:
1.
討論即時 Linux 與 Java 的 podcasts2.
即時 Linux 專案3.
IBM Linux 技術中心 Podcast