公告資訊

未經授權,禁止轉載網站文章與內容。如有需要可以跟我聯絡,謝謝!!




2010年11月11日 星期四

建構私有雲叢集運算核心–Windows HPC Server 2008 R2

雖然最近相當忙,但是發現技術的東西用過之後如果沒有記錄一下,很快就會忘記了。

雲端運算是最近相當熱門的題材,為了讓無法自行建置雲端平台的新興網路產業,以及希望降低公有雲TOC的企業,微軟提供了Windows Azure,讓需要企業可以隨時調配所需要的公有雲架構。然而,在企業當中,還是有需要可以將一些內部的企業級應用程式,建置在企業內私有雲端執行的需求。

Windows High Performance Computing (HPC) Server 2008 R2 是微軟叢集運算的核心,搭配.NET Framework 4.0 所提供的TPL(Task Parallel Library),你就可以將C#或是VB.NET所建立的WCF服務,進行分散式的運算;而像是ETL、Data Mining等需要大量運算資源的Job,也可以透過HPC Cluster的Head Node進行分散式運算,並且還可以監控每台機器的執行狀況,產生報表。再加上Windows Server AppFabric Caching 的分散式快取,其實要建立企業內私有雲平台並不難。下面是Windows HPC Server 2008 R2的叢集運算基本架構:

ClusterComputing

Windows HPC Server 不是新的作業系統,而是架構在Windows Server 2008 R2 64 位元作業系統上面的叢集運算服務,由下面幾個基本的角色構成:

1. Head Node:負責集中管理與分派工作(Job)的節點,透過SQL Server資料庫紀錄工作與執行狀態。

2. WCF Broker Node:負責裝載WCF服務,並且將用戶端要求傳送到叢集中運算,回傳結果。

3. Compute Node:負責運算的節點,可以是Windows Server或是Windows 7的工作站。

設定Job的時候可以指定需要使用多少運算的資源:

image

image

但需要注意的是,若是要發揮叢集運算的最佳效果,程式在撰寫的時候,就必須要把平行運算的設計考量,加入到程式碼當中。關於.NET Framework 4.0的平行運算是一個很大的課題,有時間再慢慢分享。

沒有留言:

最新回應

Loading...

即時與版主對話


(若狀態顯示"忙碌"時,我可能無法馬上回應。你可以留下Email,我會盡快跟你聯絡,謝謝喔!!)