DryadLINQ是“一個把LINQ程式轉化成分散式計算指令,以便運行於PC集群的編譯器”。
基本介紹
- 中文名:DryadLINQ
- 聲明式編程:使用類似SQL的高級語言進行表示
- 類型安全:對分散式計算進行靜態檢查
- 自動序列化:自動處理所有的NET對象類型
定義,簡介,
定義
Dryad是一個在計算機集群或數據中心裡並行地執行順序程式的基礎架構。
簡介
這個轉化過程可以分解為以下幾步:
C#和LINQ數據對象轉化為分散式的檔案塊。
LINQ查詢轉化為分散式Dryad任務。
C#方法轉化為運行於Dryad任務節點上的代碼。
DryadLINQ有如下功能:
聲明式編程:計算指令要求使用類似SQL的高級語言進行表示。
.NET集成:所有的.NET類庫,包括Visual Basic,以及各種動態語言都可以自由使用。
類型安全:對分散式計算進行靜態檢查。
自動序列化:數據傳輸機制會自動處理所有的.NET對象類型。
任務圖的最佳化靜態:一系列豐富的查詢最佳化規則,可以使查詢計畫有更好的局部性(locality)及更好的性能。動態:對已經處理完的數據集進行統計,以此作為運行時的最佳化查詢計畫的依據。