多核心手機應併用 CPU On-demand 與 CPU Boost 技術

jollen 發表於 July 12, 2012 1:33 AM

CPU Ondemand 並非萬能。最重要的例子就是 Android 4.1 的 CPU input boost (Touch Event),在接收 Touch Event 時,提高 CPU 的運算效能。

延伸 Android 4.1 的 CPU input boost。我們也可以讓應用程式享用 CPU Boost 功能。根據使用者目前的操作,將 CPU Boost,讓使用中的應用程式,衝到最高的效能。Boost 有點像是「猛衝」的感覺,可以在這個時刻讓使用者享受高效能的應用程式。

筆者目前參與開發中的 Phonesmpd 軟體,符合了這樣的設計想法。

CPU On-Demand 到處都適用嗎?

由於 Android Process Model 與典型的 GNU/Linux 有些不同,CPU Ondemand 的方式並不一定能使用在所有的 Use Case。有鑑於此,筆者過去進行了一些研究,並將成果整合進 Phonesmpd 軟體,讓多核心技術,除了 CPU Ondemand 外,還有另一個更符合手機裝置的選擇。Phonesmpd 現階段的成果,可參考 Moko365 網站:

http://www.moko365.com/enterprise/phonesmpd

至於 CPU Ondemand 的使用時機為何?筆者認為,應該是從應用程式的角度來考慮。當一個應用程式,本身是平行化的設計時,或許它就不太適合 CPU Ondemand 的做法。

通常平行化的設計,是以 Data Partitioning 的方式,將資料分散至不同處理器上計算後,再經由 Shared memory 合併回來。這就是平行處理 (Parallel Computing) 在討論的技術。所以平行處理是多核心軟體的根本。

在進行 Data Partitioning 時,有時也會將任務 (Task) 與 CPU 事先指派好,這時就不太需要 CPU Ondemand 了。多核心手機目前還是一個需要細部研究的領域。

讀者留言 (0)

留言功能維護中。將於近日重新開放。

連絡作者

Jollen Chen,Moko365(仕橙3G教室)講師,熱愛研究 Linux 與 Android 技術。曾為 Motorola、HTC、Foxconn、LG、OPPO、騰迅、廣達電腦、緯創、仁寶等超過 50 家企業講授課程。目前在 MokoVersity 擔任軟體工程師,撰寫 Node.js 程式,也在幾家科技廠兼任 Android Framework 研發顧問。您可透過電子郵件 <jollen (at) jollen (dot) org> 或這裡與我連絡。