[Wind River嵌入式系統專家部落格] 善用嵌入式虛擬化,開拓全新市場商機
本文作者:admin
點擊:
2011-04-25 00:00
前言:
我處理過眾多客戶諮詢案例,最令我印象深刻的,就是嵌入式虛擬化技術常為我的客戶開啟了他們預期之外的嶄新契機,促使他們推出使市場眼睛一亮的全新產品。這類成功模式並非僅見於少數案例,而是在許多案例中一再地重複出現,最常見的模式就是原本只想嘗試將產品由單核心平台演進升級至多核心平台,最終卻擴大利用嵌入式虛擬化技術開拓出全新市場商機;在這些成功案例中,我的客戶們均善用了虛擬化技術來達成原先他們必須透過預先建置硬體才能實現的目標。
有許多方法可協助您由單核心升級至多核心技術,借助嵌入式虛擬化技術是其中一個省力的選項,因為軟體最棒的地方,就是只要透過虛擬化任何事情皆可能實現!不過,箇中關鍵不僅僅止於技術層面可行性的考量,也必須同時考量商業層面的獲益可能性(而且通常是如何在短時間內獲益)。在推出新款多核心產品的專案執行過程中,最費時耗力的部分就是必須針對產品架構做全面性研究,好找出一些途徑讓產品從現階段架構順利演進至新一代架構,而此一研究必須同時就技術與商業兩部分同步考量才具意義。
三大關鍵步驟,步入多核心技術世界
過去的作法是在一項專案啟動後,先耗費許多時間決定採用哪種硬體以因應專案需求,決定採用何種硬體後,接著才考慮搭配的軟體為何。此一作法有許多缺失,善用同時兼具硬體及軟體兩者特性的嵌入式虛擬化技術,將可有效避開相關缺失。而當您打算選用嵌入式虛擬化技術時,以下三大關鍵步驟將值得您特別留意:
1. 您打算如何分割(partition)或虛擬化處理核心、記憶體以及裝置?這是必須馬上面對並處理的棘手工作,但是可供自由配置的彈性也相當大。此外,專案啟動後請先進行一次完整的產品架構研究,這將有助於界定出您真正感興趣的設計參數,接下來您才有確切依據可進行概念驗證(POC,proof of concept)步驟,並協助您了解可供您自由配置的彈性範疇。
2. 選擇何種核心平台進行概念驗證(POC)探討?若您已完成產品架構研究,而且也已確認專案進行方向與目標,接著便該進行概念驗證了。若您選定的是一套具完善硬體支援可供順利導入虛擬化技術的核心平台,例如Intel VT-x、Freescale e500mc、或是ARM即將推出的新一代Cortex核心「Eagle」,後續工作將會相對輕鬆許多,因為將可直接在全新多核心平台上的虛擬機板(也就是虛擬機器,VM)的Hypervisor頂層執行unmodified guest作業系統(例如Windows或Linux),並直接透過虛擬機板指派工作至所有裝置,而且即便是在虛擬機板上運行軟體,亦可達到如同在原生(native)硬體環境下運行般的效果。雖然在全新多核心平台上,部分裝置或有些許差異而仍須針對機板支援套件(BSP)作點相關調整,但截至目前這仍是升級至多核心平台最簡便也最直接的方式。
3. 建構新產品的內容。上述步驟都完成後即可著手建構新產品內容,並開始針對以多核心技術為基礎所建置的全新硬體環境展開實驗,當然,此一環境乃是根據先前針對新產品架構之研究所獲得之結果而設定的。值得一提的是必須對裝置驅動程式多加留意;裝置的作業系統、驅動程式以及Hypervisor三者必須協同作業無間,如此一來整體系統功能才可正常運作,這部分另牽涉到一些額外的工作和協調性處理。總之,要自單核心系統升級至多核心系統,亦或整合多個單核心系統至一套多核心系統上,的確已有許多完備且常見的途徑可以達成,但真正的挑戰其實在於當多個裝置、處理核心或記憶體等系統資源必須共享時該如何處理,相關細節我將在之後發表的部落格文章中予以闡述。
這三大步驟提供了一道簡便法門,讓您得以評估既有產品設計將如何在一套概念驗證(POC)下運行於嵌入式虛擬硬體層頂端。遵循上述步驟產出的概念驗證,不僅可驗證您完成產品架構研究後所獲知的結果,對您的軟體開發團隊而言也將是一次可貴的學習經驗,幫助他們作好準備以面對嶄新的多核心技術世界。兼顧商業層面考量,開拓市場新大陸
如同本文一開始所提,除了技術層面考量外,商業層面考量也務必同時兼顧,而這往往將引領您前往您未曾想像過的新大陸!今年初我碰到的一位客戶正好是個不錯的例子。當時這位客戶正希望將其一款以VxWorks為基礎搭配單核心Intel處理器的網路產品,升級至多核心架構以便改用雙核心或四核心處理器,經過詳談討論,我們一致認為利用VxWorks SMP進行升級是最恰當的不二之選,這是由於VxWorks具備的對稱多核心處理(Symmetric Multi-Processing)能力,有助於快速利用新增之處理核心資源為系統挹注額外運算效能;而除可交由作業系統指派各處理核心應執行之工作外,亦可透過人工配置方式,針對自行選定應提升效能的部分手動調整相關設定,包括傳輸量(throughput)、決策判斷(determinism)、即時作業反應(real-time response)等參數均可手動設定。
不過,客戶這款以VxWorks為基礎的產品(姑且稱之為A產品)必須與另一款使用Linux平台的B產品相互搭配運作,而兩者間另有一款獨立的C裝置負責處理控管作業,這款C裝置則是使用Windows平台。基於保持最佳擴充彈性,這位客戶原本是將A、B產品及C裝置拆開個別獨立銷售,也就是可因應特定需求將一件C裝置和數件A、B產品組合成一整套系統配置,此一作法主要針對大規模且量大的網路建置工程所需,而這也是該客戶此一產品配套原先主要的應用市場。但是對較初階的應用市場來說,這樣的產品配套卻顯得過於昂貴且複雜,若能在單一硬體中妥善整合A、B產品及C裝置的所有功能並預先予以最佳化設定,可能會更契合許多小規模且量少的網路建置工程需求,而這無疑將拓展出一塊全新市場商機。
最後,該客戶不單只想將A產品升級至多核心技術,而是決定運用嵌入式虛擬化技術拓展上述新市場商機。混用了VxWorks SMP、Wind River Linux、Wind River Hypervisor以及Windows XP的全新整合性產品A + B + C,現已進入開發階段。新產品不但能以單顆四核心處理器驅動,也能很容易地就擴充為使用較多核心數處理器來驅動,以便在多個不同區塊中同時執行相當於一款A產品搭配多款B產品以及一款C裝置所能產出之效能。
這是一個極佳的實證,讓您了解嵌入式虛擬化技術確能為您開啟嶄新市場契機,甚至超越您原本的預期引領您發現未曾想像過的新大陸。撥空與專家討論並檢視一下如何利用嵌入式虛擬化技術提升您既有產品,或許下一件成功開拓新市場的案例就是貴公司!
Mark Hermeling
Mark目前擔任Wind River資深產品經理一職並專注於多核心技術及虛擬化解決方案。加入Wind River團隊之前,Mark曾先後任職於汽車、電信、消費性電子、國防工業等產業,在這些經歷中他負責協助開發團隊針對橫跨歐、亞、北美等區的各類客戶需求建置專屬嵌入式系統。