德國鑄標
GGG50相當於國內的QT500-7
GGG60相當於國內的QT600-3
QT500-7
●特性及適用範圍:
為鐵素體型球墨鑄鐵,強度與韌性中等,被切削性尚好。低溫時,韌性向脆性轉變,但低溫衝擊值較高,且有一定抗溫度急變性和耐蝕性。用途廣泛,用於內燃機的機油泵齒輪,汽輪機中溫氣缸隔板,水輪機的閥門體,鐵路機車車輛軸瓦,機器座架傳動軸等。
●化學成份:
球墨鑄鐵的化學成分沒有國家標準,只有化學成分的推薦值,球墨鑄鐵的主要指標也不是化學成分,指標很多,主要的是組織:球化率,滲碳體、鐵素體數量,球徑等等。物理指標:抗拉強度,延伸率等。
●力學性能:
抗拉強度 σb (MPa):≥500
條件屈服強度 σ0.2 (MPa):≥320
伸長率 δ (%):≥7
硬度:170~230HB
●熱處理規範及金相組織:
熱處理規範:(由供方定,以下為某試樣的熱處理規範,供參考) 920℃,退火
金相組織:鐵素體+珠光體
QT600-3
材料名稱:球墨鑄鐵
牌號:QT600-3
標準:GB 1348-88
●特性及適用範圍:
為珠光體型球墨鑄鐵,具有中高等強度、中等韌性和塑性,綜合性能較高,耐磨性和減振性良好,鑄造工藝性能良好等特點。能通過各種熱處理改變其性能。主要用於各種動力機械曲軸、凸輪軸、連線軸、連桿、齒輪、離合器片、液壓缸體等零部件
●化學成份:
碳 C :3.56~3.85
矽 Si:1.83~2.56
錳 Mn:0.49~0.70
硫 S :0.016~0.045
磷 P :0.035~0.058
鎂 Mg:0.041~0.067
註:RxOy:0.033~0.049
●力學性能:
抗拉強度 σb (MPa):≥600
條件屈服強度 σ0.2 (MPa):≥370
伸長率 δ (%):≥3
硬度:190~270HB
●熱處理規範及金相組織:
熱處理規範:(由供方定,以下為某試樣的熱處理規範,供參考) 930℃,2h正火空冷, 600℃,2h,回火空冷
金相組織:珠光體+鐵素體
格線技術
簡介
Great Global Grid—格線技術是繼internet,www之後的第三個信息技術浪潮。這一波浪潮的本質特徵,ggg就是全球資訊網(World Wide Web)升華為格線(Great Global Grid)。“常有人問我,網際網路之後最重要的技術是什麼?”IBM負責網際網路策略的副總裁帕脫克對記者說,“現在還沒有答案,但我相信是格線計算。”
概念
格線是一種新興的技術,正處在不斷發展和變化當中。學術界和商業界圍繞格線開展的研究有很多,其研究的內容和名稱也不盡相同因而格線尚未有精確的定義和內容定位。比如國外媒體常用“下一代網際網路”、“Internet2”、“下一代Web”等來稱呼格線相關技術。但“下一代網際網路(NGI)”和“Internet2”又是美國的兩個具體科研項目的名字,它們與格線研究目標相交叉,研究內容和重點有很大不同。企業界用的名稱也很多,有內容分發(ContentsDelivery)、服務分發(ServiceDelivery)、電子服務(e-service)、實時企業計算(Real-TimeEnterpriseComputing,簡稱RTEC)、分散式計算Peer-to-PeerComputing(簡稱P2P)、Web服務(WebServices)等。中國科學院計算所所長李國傑院士認為,格線實際上是繼傳統網際網路、Web之後的第三次浪潮,可以稱之為第三代網際網路套用。
格線是利用網際網路把地理上廣泛分布的各種資源(包括計算資源、存儲資源、頻寬資源、軟體資源、數據資源、信息資源、知識資源等)連成一個邏輯整體,就像一台超級計算機一樣,為用戶提供一體化信息和套用服務(計算、存儲、訪問等),虛擬組織最終實現在這個虛擬環境下進行資源共享和協同工作,徹底消除資源“孤島”,最充分的實現信息共享。
格線必須同時滿足三個條件:在非集中控制的環境中協同使用資源;使用標準的、開放的和通用的協定和接口;提供非平凡的服務。
特徵及結構
1.格線技術的特徵
在介紹格線的特徵之前,我們首先要解決一個重要的問題:格線是不是分散式系統?這個問題之所以必須回答,因為人們常常會問另一個相關的問題:"為什麼我們需要格線?現在已經有很多系統(比如海關報關係統、飛機訂票系統)實現了資源共享與協同工作。這些系統與格線有什麼區別?"
對這個問題的簡要回答是:格線是一種分散式系統,但格線不同於傳統的分散式系統。IBMGlobalService與EDS是在這個分散式領域最著名的公司。構建分散式系統有三種方法:即傳統方法(我們稱之為EDS方法)、分布自律系統(AutonomousDecentralizedSystems,ADS)方法,格線(grid)方法。ADS通常用於工業控制系統中。格線方法與傳統方法的區別見下表:
特徵傳統分散式系統格線
開放性需求和技術有一定確定性、封閉性開放技術、開放系統
通用性專門領域、專有技術通用技術
集中性很可能是統一規劃、集中控制一般而言是自然進化、非集中控制
使用模式常常是終端模式或C/S模式服務模式為主
標準化領域標準或行業標準通用標準(+行業標準)
平台性套用解決方案平台或基礎設施
通過以上對比,格線具有以下四點優勢:
⑴資源共享,消除資源孤島:格線能夠提供資源共享,它能消除信息孤島、實現應用程式的互連互通。格線與計算機網路不同,計算機網路實現的是一種硬體的連通,而格線能實現套用層面的連通。
⑵協同工作:格線第二個特點是協同工作,很多格線結點可以共同處理一個項目。
⑶通用開放標準,非集中控制,非平凡服務質量:這是IanFoster提出的格線檢驗標準。格線是基於國際的開放技術標準,這跟以前很多行業、部門或者公司推出的軟體產品不一樣。
⑷動態功能,高度可擴展性:格線可以提供動態的服務,能夠適應變化。同時格線並非限制性的,它實現了高度的可擴展性。
2. 格線 的體系特徵
格線之所以能有以上所說的種種優勢特徵,是由格線的體系結構賦予它的。格線體系結構的主要功能是劃分系統基本組件,指定組件的目的與功能,刻畫組件之間的相互作用,整合各部分組件。科研工作者已經提出並實現了若干種合理的格線體系結構。下面介紹影響比較廣泛的兩個格線體系結構:格線計算協定體系結構(GridProtocolArchitecture,GPA)和計算經濟格線體系結構(GRACE)模型。
OGSA(OpenGridServicesArchitecture)被稱為是下一代的格線體系結構,它是在原來“五層沙漏結構”的基礎上,結合最新的WebService技術提出來的。OGSA包括兩大關鍵技術即格線技術和WebService技術。
隨著格線計算研究的深入,人們越來越發現格線體系結構的重要。格線體系結構是關於如何建造格線的技術,包括對格線基本組成部分和各部分功能的定義和描述,格線各部分相互關係與集成方法的規定,格線有效運行機制的刻畫。顯然,格線體系結構是格線的骨架和靈魂,是格線最核心的技術,只有建立合理的格線體系結構,才能夠設計和建造好格線,才能夠使格線有效地發揮作用。
OGSA最突出的思想就是以“服務”為中心。在OGSA框架中,將一切都抽象為服務,包括計算機、程式、數據、儀器設備等。這種觀念,有利於通過統一的標準接口來管理和使用格線。WebService提供了一種基於服務的框架結構,但是,WebService面對的一般都是永久服務,而在格線套用環境中,大量的是臨時性的短暫服務,比如一個計算任務的執行等。考慮到格線環境的具體特點,OGSA在原來WebService服務概念的基礎上,提出了“格線服務(GridService)”的概念,用於解決服務發現、動態服務創建、服務生命周期管理等與臨時服務有關的問題。
基於格線服務的概念,OGSA將整個格線看作是“格線服務”的集合,但是這個集合不是一成不變的,是可以擴展的,這反映了格線的動態特性。格線服務通過定義接口來完成不同的功能,服務數據是關於格線服務實例的信息,因此格線服務可以簡單地表示為“格線服務=接口/行為+服務數據”。
格線服務提供的接口還比較有限,OGSA還在不斷的完善過程之中,下一步將考慮擴充管理、安全等等方面的內容。
3. 格線 協定體系結構
IanFoster於2001年提出了格線計算協定體系結構,認為格線建設的核心是標準化的協定與服務,並與Internet網路協定進行類比(如圖1)。該結構主要包括以下五個層次:
構造層(Fabric):控制局部的資源。由物理或邏輯實體組成,目的是為上層提供共享的資源。常用的物理資源包括計算資源、存儲系統、目錄、網路資源等;邏輯資源包括分散式檔案系統、分布計算池、計算機群等。構造層組件的功能受高層需求影響,基本功能包括資源查詢和資源管理的QoS保證。
連線層(Connectivity):支持便利安全的通信。該層定義了格線中安全通信與認證授權控制的核心協定。資源間的數據交換和授權認證、安全控制都在這一層控制實現。該層組件提供單點登錄、代理委託、同本地安全策略的整合和基於用戶的信任策略等功能。
資源層(Resource):共享單一資源。該層建立在連線層的通信和認證協定之上,滿足安全會話、資源初始化、資源運行狀況監測、資源使用狀況統計等需求,通過調用構造層函式來訪問和控制局部資源。
匯集層(Collective):協調各種資源。該層將資源層提交的受控資源匯集在一起,供虛擬組織的應用程式共享和調用。該層組件可以實現各種共享行為,包括目錄服務、資源協同、資源監測診斷、數據複製、負荷控制、賬戶管理等功能。
套用層(Application):為格線上用戶的應用程式層。套用層是在虛擬組織環境中存在的。應用程式通過各層的應用程式編程接口(API)調用相應的服務,再通過服務調動格線上的資源來完成任務。為便於格線應用程式的開發,需要構建支持格線計算的大型函式館。
⒋當今 格線 的運用
現在國內國外運用得最多的可能是在一些大型院校的計算格線(實現計算資源的共享。什麼是計算資源:簡單來說就是計算能力,CPU。計算資源共享就是CPU計算的共享)。人們把一個集群(cluster,也就是常說的機房,通常有幾十台作業系統為Linux的計算機)的計算機連成一個局域型格線。這樣就好像把這幾十台電腦連成了一台超級計算機,計算能力當然大大提高了。這種局域計算格線主要運用於一些科研的研究。比如說生物科學。當生物科學的研究員需要高性能的計算資源來幫助他們分析試驗的結果時,他們就把這些分析試驗的程式提交(submit)給格線,格線通過計算再把結果返回給這些研究員。計算結果可能是一些圖像(rendering)也可能是一些數據。這些計算如果在單一PC(Personalcomputer,個人計算機)上運行的話,往往會花費幾個月的時間,然而在格線中運行一,兩天也就完成了。這就是格線技術最直觀的優點之一。當然有一些大型主機(super-mainframe)也有很強的計算能力(比如常說的IBMdeepblue,打敗人類圍棋大師Kasparov那位),但是這種主機太昂貴,而且配置(deploy)往往不方便,是名副其實的重量級(heavyweight)計算。SETI@Home(SETI@Home's,一個分散式計算的項目,通過網際網路上的計算機搜尋地球外智慧訊息,格線在分散式計算的成功運用。)的網站指出,世界上最強大的計算機IBM的ASCIWhite,可以實現12萬億次的浮點運算,但是花費了1億千萬美元;然而SETI@HOME只用了50萬美元卻實現了15萬億次浮點運算。
格線另外一個顯著的運用可能就是虛擬組織(VirtualOrganisations)。這種虛擬組織往往是針對與某一個特定的項目,或者是某一類特定研究人員。在這裡面可以實現計算資源、存儲資源、數據資源、信息資源、知識資源、專家資源的全面共享。比如說中國2008年奧運會開幕式研究組就可以運用格線組成一個虛擬組織。在這個虛擬組織里,任何成員不管在哪個地方都可以有權訪問組織的共享資源(如開幕式場地圖紙,開幕式資金,開幕式節目單);而且可以和另一地方的虛擬組織成員進行交流。這個虛擬組織就像把所有奧運會開幕式的資源,信息,以及人員集中到了一個虛擬的空間,讓人們集中精力研討開幕式項目的問題,而不必考慮其他的問題。據個實例,由英國利茲大學,牛津大學,約克大學和謝菲爾德大學合作的DAME項目就是致力於研究和運用虛擬組織。DAME架構在這四個大學合建的白玫瑰格線WhiteRoseComputationalGrid(WRCG)上,運用於對飛機故障的快速檢測和維修。
⒌ 格線 基礎設施組件
首先,我們來看看有哪些典型的格線基礎設施組件,每一種組件如何對應用程式的架構、設計和部署產生影響。下面是格線基礎設施中的一些主要組件:
安全性。安全性是格線計算中的重要問題。每一種格線資源都可能需要遵從多種不同的安全策略。單點登錄認證是一種必不可少的方法。得到普遍遵守的協商授權機制也是很必要的。
資源管理。當提交一項任務的時候,格線資源管理器需要考慮如何為該任務指派資源、如何監視其狀態以及如何返回它的執行結果。
信息服務。由於格線資源管理器在指派資源之前要經過綜合全面的考慮,因此它需要知道哪些格線資源是可用的,以及這些資源的容量與當前使用的情況。這些有關格線資源的知識是通過格線信息服務(GridInformationService,GIS)維護和提供的,又稱為監視與發現服務(MonitoringandDiscoveryService,MDS)。
數據管理。數據管理主要解決任務如何傳輸數據以及如何訪問共享存儲的問題。
下面讓我們以GlobusToolkit為例分別詳細討論一下每一種組件。
安全性
如果您是一名用戶,要在遠程系統上運行一項任務,您會關心遠程系統是否安全,是否能保證其他人不能訪問到您的數據。如果您是提供資源的一方,用戶可以在您的系統中執行任務,那么您必須確信所有的任務都不會遭到破壞和干擾,也不能訪問您系統中的其他私有數據。除了這兩方面的內容之外,格線環境也面臨著一般分散式計算環境中存在的其他所有安全問題。
格線安全基礎設施(GridSecurityInfrastructure,GSI)是GlobusToolkit的基礎,它提供了很多工具,可以幫助我們對格線環境中的安全問題進行管理。在您開發面向格線環境的應用程式時,您的腦子裡必須時刻考慮到安全問題,並用GSI提供的工具來解決這些問題。格線架構中與安全性有關的功能主要負責完成認證、授權以及實現格線資源之間的安全通信。
在應用程式中啟用格線時的考慮:安全性。當我們設計一個能夠使用格線的應用程式時,安全性問題必須考慮在內。下面的列表總結了需要考慮的一些問題:
單點登錄。跨系統的ID映射。如上所述,GSI提供了認證、授權以及安全的通信。然而,您需要對安全性管理及其含義有深刻完整的理解。比如說:您是否可以將多個用戶映射到目標系統中的同一個用戶ID上?是否需要特定的審計機制來確定實際發起應用程式的是哪一個用戶?應用程式不應該要求在使用格線上的不同資源時使用不同的用戶ID映射機制。
多種平台。儘管GSI基於開放的標準化軟體,可以在多種平台上運行,然而各種不同的平台其底層的安全機制並不總是一致。比如說,在傳統的UNⅨ或基於Linux的系統上,讀、寫、執行等操作的安全機制就與微軟的Windows環境不同。您應該考慮應用程式可能運行的平台。
使用GSI。對於任何應用程式特有的、且可能需要進行認證或特殊授權的功能而言,應用程式的設計應該使用GSI,這樣能夠簡化開發,並通過維護單一的登錄機制,使用戶的體驗也得到簡化。
數據加密。儘管GSI與後文將要討論到的數據管理工具一起,提供了跨網路的安全通信與數據加密,但是您也應該考慮到,當數據到達目的地的時候會發生什麼事情。比如說,如果一些敏感的數據傳遞到某項資源上供任務使用,隨後又以非加密的格式保存到本地磁碟上,那么其他的用戶或應用程式也就能訪問這些數據了。
資源管理
格線資源管理器致力於在任務提交時進行資源指派。它的角色就像是異質格線資源的抽象接口。資源管理組件提供的工具可以將任務分配給特定的資源,可以提供一種手段,在任務運行過程中獲取任務狀態信息,並獲取任務完成的信息,還可以提供終止任務或對其進行管理的能力。在Globus中,遠程任務提交是由GlobusResourceAllocationManager(GRAM)負責處理的。
在應用程式中啟用格線時的考慮:資源管理。在與資源管理相關的應用程式架構、設計和部署方面,有一些問題需要考慮。GRAM最簡單的形式是用於發出globusrun命令,在特定系統上發起一項任務。然而,應用程式必須與MDS一起(通常是通過一個代理函式)保證使用了適當的目標資源。下面列出一些需要考慮的內容:
選擇適當的資源。通過與代理聯合工作,來保證選擇適當的目標資源。這就要求應用程式能夠正確地指定所需的環境(作業系統、處理器、速度、記憶體,等等)。您為排除特定的依賴關係付出的努力越多,找到可用資源完成任務的機率也就越高。
多子任務。如果應用程式中包含多個任務,您必須理解(並降低)它們之間的相互依賴關係。否則,您就不得不構建一段邏輯來處理下面這些問題:
進程間通信
數據共享
並行任務提交
訪問任務的執行結果。
如果一項任務返回的是一個簡單的狀態值,或是輸出數據量很少,那么應用程式可以僅僅通過stdout和stderr來獲取這些數據。要是必須獲取相當複雜的結果,這時就可能需要將結果寫入一個檔案,並通過適當的工具,供目標機獲取/傳輸這個檔案。
任務管理。GRAM提供了查詢任務狀態的機制,還可以執行諸如終止任務之類的操作。應用程式可能會在必要的時候使用這些功能為用戶提供反饋、清除或釋放資源的操作。比如說,如果應用程式內有一項任務失敗了,其他依賴於這項任務的結果的任務可能就需要終止,以免無端消耗過多資源。
信息服務
信息服務是格線基礎設施中至關重要的組件。它們維護了關於資源可用性、處理能力、當前使用情況的知識。不論在哪個格線中,CPU和數據資源的情況都是不斷變動的,這種變動與其處理任務與共享數據的能力有關。隨著格線中的資源不斷被釋放,資源的狀態可以在格線信息服務中得到更新。客戶機、代理、格線資源管理器等等綜合這部分信息來進行資源的指派。信息服務提供方是指那些為目錄提供資源狀態信息的程式。下面列出一些如何收集信息的實例:
靜態主機信息。
作業系統名稱、版本號、處理器提供商/類型/版本/速率/快取大小、處理器數量、物理記憶體總量、虛存總量、設備、服務類型/協定/連線埠號等。
動態主機信息。
負載水平、佇列入口等。
存儲系統信息。
磁碟空間總量、可用磁碟容量等。網路信息。
網路頻寬、延遲、是否可測量與可預報。
高度動態的信息。
空閒物理記憶體,空閒虛擬記憶體、空閒處理器數量等。
格線信息服務,又稱為監視與發現服務,在Globus中負責提供信息服務。MDS使用輕量級目錄訪問協定(LightweightDirectoryAccessProtocol,LDAP)作為訪問資源信息的接口。
在應用程式中啟用格線時的考慮:信息服務。對信息服務來說,需要考慮下面這些問題:
必須完全理解特定任務的需求,這樣才能對查詢進行正確地格式化,以返回適當的資源。這一點非常重要。必須保證MDS中保存有適當的信息。在MDS中,預設情況下包含大量關於格線中所含資源的數據。不過,如果您的應用程式要求使用特定的資源或信息,而預設情況下沒有提供,您就需要編寫您自己的信息提供方,並把適當的資源加入模式中。這樣,您的應用程式或代理就可以進行查詢,看特定的資源或請求是否已經存在。
MDS可以用匿名帳號訪問,或是經由一台已經通過GSI認證的代理來訪問。應用程式開發人員需要保證,能夠在必要的時候通過一台經過認證的代理。您的格線環境可能具有多級別的目錄結構。根據環境及其拓撲的複雜程度不同,您應該保證能夠訪問適當的目錄,在其中搜尋您所要求的資源。
數據管理
當您在構建格線的時候,格線中最重要的資產就是您的數據。在您的設計當中,您將必須確定您對數據的需求,以及如何在整個基礎設施中移動數據,要么就是如何用一種安全有效的方式訪問所需的數據。您可以通過一組標準化的格線協定與您設計的任何數據資源進行通信。您也可以選擇構建一個聯邦資料庫,創建一個虛擬的數據存儲。還有其他一些選擇,如存儲區域網(SrorageAreaNetwork)、網路檔案系統,以及專用的存儲伺服器等。
Globus為格線環境提供了GridFTP和GlobalAccesstoSecondaryStorage(GASS)兩種數據傳輸機制。此外,它還提供了一種複製管理機制,可以幫助您管理和訪問數據集的副本。在應用程式中啟用格線時的考慮:數據管理。數據管理問題源自如何最大化地使用有限的存儲空間、網路頻寬、計算資源等。下面列出一些在應用程式設計和實現中需要考慮的數據管理問題:
數據集的大小。對於大的數據集來說,要想將它移動到實際運行任務的系統上是不現實,甚至是不可能的。可能的解決方案是使用數據複製、或將完整數據集的一個子集拷貝到目標系統中。地理上分散的用戶、數據、計算以及存儲資源。如果您的目標格線在地理上是分散的,網路連線的速度也有限,那么您在設計的時候就必須考慮到如何進行慢速和受限的數據訪問。
在廣域網上進行數據傳輸。當您要在Internet或者其他的WAN上移動數據時,必須考慮安全性、可靠性以及性能等問題。您必須構建一些必要的邏輯來處理數據訪問速度慢,甚至被阻斷的情況。數據傳輸的調度。下面兩種情況至少要考慮一種:第一個是數據傳輸的調度,這樣當需要某項數據的時候數據就在它適當的位置上了。比如說,如果數據傳輸需要進行一個小時,而使用這項數據的任務必須在凌晨兩點鐘開始運行,那么您就應該提前對數據傳輸進行調度,這樣,當需要它的任務運行的時候,數據就是可用的了。第二個是了解進出任何一項資源的任何並發檔案傳輸的數量與規模。
選擇數據副本。如果您使用GlobusDataReplication服務,也許想向應用程式中增加一段選擇適當副本的邏輯,也就是說,您想要選擇一個包含所需數據的副本,同時還要滿足您對性能的要求。
調度器
GlobusToolkit沒有提供任務調度器,也沒有提供元任務調度器(meta-scheduler)。不過,有一些任務調度器已經和Globus集成起來了,還有一些也可以集成進來。
在格線中,任務調度與負載平衡是十分重要的功能。大多數格線系統中都包括某種任務調度軟體。這種軟體可以查找到某台機器的位置,並在上面執行用戶提交的格線任務。有些調度器實現了按照任務優先權進行調度的系統。優先權的實現方式有時是使用多個任務佇列,其中每一個佇列都代表不同的優先權。當格線計算機可以執行任務的時候,就從優先權最高的佇列中取出第一個任務。通過調度器還可以實現各種不同類型的策略。策略中可以包含多種對任務、用戶、以及資源的約束。比如說,可能有一種策略限制在一天的某些特定時間執行格線任務。
調度器通常會對實時格線負載做出反應。它們在提交任務之前,會用反映當前機器使用情況的量測信息來確定哪些機器不忙。調度器可以組織成層次結構。比如說,元調度器將任務提交給群集調度器,或其他低層調度器,而不直接提交給獨立的計算機。更高級些的調度器可以對所調度的任務的執行過程進行監視,從而對整體工作流實施管理。如果由於系統或網路的原因而導致一些任務丟失,好的調度器會自動在別的地方重新提交任務。然而,如果某個任務進入死循環,運行的時間超過了某個最大時間,那么這樣的任務就不應該再重新調度了。典型情況下,各種任務具有不同類型的結束代碼,其中一些結束代碼適合於用於重新提交任務,而另一些則不適合。
我們通過一個預約系統可以實現在格線中提前保留資源。這種機制不僅僅是調度器。它首先是一種基於日曆的系統,可以在特定的時間段內保留資源,防止其他任務在同一時間內使用該資源。它還必須能在預約的時間到達的時候將任意機器或資源上正在執行的任務刪除或掛起。
在應用程式中啟用格線時的考慮:調度器。當您為格線環境啟用應用程式的時候,需要考慮一些與調度有關的問題。下面列出其中一些:
數據管理。意思是保證當所調度的任務運行時具備可用的數據。如果需要將數據移動到待執行的節點上,那么我們還需要對數據的移動操作也進行調度。
通信。任何相關任務的進程間通信都要求對任務進行並行調度。
調度器的作用域。在具有多個調度器(如具備元調度器)的環境中,要協調並發任務,或保證特定的任務在指定的時間執行,這些工作的複雜程度很高,當不同的調度器具有不同的作用域時,情況就更加複雜。
調度策略。調度可以有不同的實現目標。
面向應用程式——調度的最佳化目標是實現最佳運行時間。
面向系統——調度的最佳化目標是實現最大吞吐量。任務可能不會立即開始。在執行的過程中也可能被終端或搶占。也可以將任務調度為通宵執行。
格線信息服務。調度器和信息服務之間的互動可能十分複雜。比如說,如果在任務實際運行之前通過MDS找到了某項資源,然後,我們可以假設在任務實際運行之前該資源的狀態不會發生變化。或者我們可以建立一種預測能力更強的機制,提前預測資源狀態可能發生的變化,從而提前做出調度決定。
資源代理。通常情況下,資源代理必須與調度器接口。
負載平衡。負載平衡問題是由於工作負載在格線系統資源中的分散特性所引起的。儘管GlobusToolkit沒有提供負載平衡的功能,而在某些特定環境中,負載平衡服務卻是必需的特性。當作業被提交到格線任務管理器中時,工作負載可以通過推模式(pushmodel)、拉模式(pullmodel)或組合模式(combinedmodel)進行分布。推模式的簡單實現是通過循環的方式將任務傳送到格線資源上。然而,這個模型沒有考慮到任務佇列的長度。如果每一個格線資源上都傳送到相同數目的任務,那么在速度較慢的機器上會形成較長的任務佇列,而一個長時間運行的任務在不受到細心監視的情況下可能阻塞其他的任務,使之根本無法啟動。對於這個問題,一種解決方案是使用加權循環的方案。
在拉模式中,格線資源從任務佇列中獲取任務。在這樣的模式下,任務佇列的同步化與串列化就成為協調多個格線資源的任務獲取的必要手段。本地及全局任務佇列的策略也是可行的。在本地拉模式策略中,每一組格線資源都指派為從一個本地任務佇列獲取任務。在全局拉模式策略中,所有的格線資源都被指派使用同一個任務佇列。本地拉模式的優勢在於能夠對格線資源進行分片。比如說,離數據比較接近的,或相互有關的,或要求使用相似資源的某些任務,都可以用這種方法進行控制。
推模式和拉模式的組合模式可以解決前面提到的一些問題。每一個格線資源可以決定何時能接收更多的工作,並向格線任務伺服器傳送工作請求。然後,任務伺服器就向其傳送新的工作。
在這兩種負載平衡模式下,都需要考慮故障恢復的條件。我們需要檢測出哪些格線資源已經無法繼續操作了,在推模式中,不能把新的工作傳送給已經失效的資源。此外,無論是在推模式還是在拉模式中,我們必須細心控制所有已經提交的但尚未完成的任務。失效主機上的所有未完成任務都需要進行重新分配,或者由同一組中的其他可運行主機接管過來。
在應用程式中啟用格線時的考慮:負載平衡。當您為格線環境啟用應用程式的時候,還需要考慮與負載平衡有關的設計問題。應用程式設計和開發人員需要理解的負載平衡機制是什麼樣子(手工、推、拉、或是某種混合模式),這會對應用程式,特別是它的性能和運行時間產生影響。如果應用程式中具有大量獨立的任務,每一個都可能受到負載平衡系統的影響或控制,那么這樣的應用程式就可以從格線整體性能和吞吐量的提高當中獲益,不過這個應用程式也可能需要建立更加複雜的機制,以便處理將任務延遲、或在整個格線內移動任務所帶來的複雜性問題。
代理。在格線環境中,代理的職責非常重要。在很多格線環境中都可能需要實現這個組件,而實現它的方法可以相對簡單,也可能十分複雜。代理的基本職責是在服務請求者和服務提供者之間提供匹配服務。在格線環境中,服務請求者可能是應用程式,也可能是被提交執行的任務。服務提供者就是格線資源。
Globus工具箱並沒有提供代理的功能。不過它通過監視與發現服務(MDS)提供了格線信息服務。您可以對MDS進行查詢,從而發現主機、計算機和網路的屬性,如當前可用處理器個數、所提供的頻寬以及可用的存儲類型等等。
在應用程式中啟用格線時的考慮:代理。當您設計在格線環境中運行的應用程式時,很重要的一點是理解資源是如何被發現和分配的。可能需要應用程式告訴代理它的資源要求是什麼,這樣代理就可以保證給這個應用程式分配適當的資源。
進程間通信(IPC)格線系統中可能包含幫助任務之間相互通信的軟體。比如說,應用程式可能會將自身劃分為大量的子任務。這些子任務當中的每一個都是格線中的一個獨立的任務。不過,應用程式的算法可能要求子任務之間相互通信,傳遞一些信息。這些子任務要能夠定位其他特定的子任務,與之建立通信連線,並傳送適當的數據。訊息傳遞接口(MessagePassingInterface,MPI)是一項開放標準,它及其若干變種經常作為格線系統的一部分來解決諸如此類的問題。
在應用程式中啟用格線時的考慮:IPC。在任務之間進行進程間通信的需求總是會增加應用程式的複雜程度,因此只要有可能,您就應該將這種通信減到最少。然而,在大規模的複雜應用程式中,進程間通信通常是不可避免的。在這種情況下,您應該充分理解可用的IPC機制,並將失敗或通信速度變慢帶來的影響降到最低,這樣有助於保證整個應用程式的成功。
非功能性需求
下面我們將討論一些與基礎設施有關的其他問題。這些問題被稱為非功能性需求,是因為它們與格線中某項特定的功能單元沒有關係,如任務管理、代理等。
性能
當您考慮在格線環境中啟用應用程式時,格線的性能以及應用程式對性能的要求必須被考慮在內。服務請求者對服務的質量比較感興趣,如可接受的運行時間等。當然了,如果您要構建一個格線及一個或多個應用程式,用來在格線中提供服務,那么服務提供者也希望能最大程度地利用格線中的功能和吞吐量。
可靠性
可靠性是計算領域內永恆的話題,格線環境也不例外。實現這一難題最好的方法是預見所有可能出現的失敗情況,並提供解決這些情況的手段。最可靠的方法能夠“容納異常情況的出現”(surprisetolerant)。格線計算的基礎設施必須處理主機中斷和網路中斷等情況。下面列出一些需要考慮的方法:
使用檢查點-重啟機制。
用持久性存儲保存中間結果。
用心跳監視機制跟蹤系統狀態。
用健壯的系統管理解決方案最大程度地提高格線及其組件的可用性。
拓撲問題
格線計算的分散式本質使地理上和組織機構上的大跨度變得不可避免。隨著內部格線的拓撲擴展為外部格線拓撲,複雜程度也逐漸提高。比如說,非功能性操作需求,安全性、目錄服務、可靠性、性能等都變得更加複雜。讓我們來研究一下拓撲的問題。
網路拓撲。格線架構內的網路拓撲可能在很多不同方面上呈現出來。網路組件可以表示LAN或校園網的連通性,甚至還能表示格線網路之間WAN的通信情況。網路的職責是為所有的格線系統提供充足的頻寬。像基礎設施中其他的組件一樣,我們可以通過定製網路來提供更高級別的可用性、性能以及安全性。
出於安全性以及其他一些架構性的限制,格線系統從很大程度上來說是網路密集型的。尤其是數據格線,它可能在整個企業的網路內散布著一些存儲資源,因此在基礎設施的設計中,為了保證足夠的性能,關鍵因素就在於處理數量巨大的網路負載。
啟用應用程式時應該考慮的問題包括如何使網路通信量最小,如何使網路延遲最短。假設應用程式的設計已經能夠保證最小的網路通信量,那么就有幾種方法可以使網路延遲最短。比如說,千兆以太區域網路可以用來支持高速群集,或實現遠程網路之間的高速Internet骨幹網。
數據拓撲。我們最希望把任務指派到距離它所使用的數據最近的機器上執行。這樣可以降低網路的通信量,還可能降低可測量性方面的限制。
數據需要存儲空間。在一個格線的設計中,存儲的可能性問題是沒有止境的。存儲要求一定的安全性、要可以進行備份、要可管理,還/或要進行複製。在格線的設計中,您需要確定您的數據對於需要它的資源來說一直是可用的。除了可用性之外,您還需要保證數據得到適當的保護,因為您不能讓未經授權的人訪問到敏感的數據。最後,您需要最佳的數據訪問性能。顯然,頻寬和訪問數據的距離兩者是相互有關的,但是您不會希望讓I/O問題阻礙格線應用程式的運行速度。對於那些磁碟密集型的應用程式,或是數據格線而言,您可以將工作重點更多地放在存儲資源上,比如您可以使用那些能夠提供更高容量、冗餘程度或容錯機制的存儲。
混合平台環境
格線環境是一組異質的主機,它們具有不同的作業系統和軟體棧。為了執行應用程式,格線基礎架構需要知道應用程式能夠找到所匹配的格線主機環境的先決條件。您必須考慮多種不同的因素,然後才能使應用程式在類型與數量都儘可能多的環境中執行,這一點十分重要。
運行時需要考慮的問題。應用程式的運行時需求及格線主機的運行時環境必須相匹配。例如,下面列出Java應用程式在這方面的一些要求。用其他程式語言開發的應用程式也可能存在類似的要求。
Java虛擬機(JVM)。用Java程式語言編寫的應用程式要求具備Java虛擬機(JVM)。Java應用程式可能對JVM的版本變化很敏感。為了解決這種敏感性,應用程式需要對JVM版本號進行識別,這是匹配的先決條件。這項先決條件的內容可能是要求某種JVM版本號,或是某個最小JVM版本號。Java應用程式也可能對Java堆的大小敏感。Java應用程式需要把最小堆容量作為先決條件。Java包的類型,如J2SE、或J2EE等,也可能是先決條件的一部分。
應用程式的跨平台可用性(可移植性)。應用程式的可執行性是與特定的平台有關的。比如說,用C或C++語言編寫的應用程式需要在目標平台上進行重新編譯,然後才能運行。您可以為每一種平台重新編譯一次應用程式,得到的可執行程式就標記為目標平台上的。這種做法能夠增加應用程式能夠運行的格線主機數目。它的局限性在於將應用程式移植到其他平台上時所花費的成本。
了解OS環境。格線是一組異質計算資源。如果應用程式依賴於某種特定的作業系統。那么該應用程式就需要驗證格線中是否具有正確的環境,並處理環境不同所帶來的問題。
輸出檔案格式。當一台格線主機上運行的應用程式的輸出信息被另一台格線主機上運行的應用程式所訪問的時候,了解輸出檔案的格式就顯得十分必要了。這兩台格線主機可能具有不同的平台環境。您可以考慮用XML作為數據交換的格式。XML已經十分流行,它不僅僅是一種用於數據交換的標記語言,還是一種用於存儲半結構化的數據格式。
當您要在格線環境中啟用某個應用程式時,必須充分理解格線環境中的功能性組件和非功能性因素,如性能要求或作業系統要求等。
圖譜套用
巨大全球圖
儘管伯納斯·李(Tim Berners-Lee)在發明WWW之初,心中就有一個GGG(Giant Global Graph)的宏大夢想,但是直到Google的網頁圖譜、尤其是Facebook的社交圖譜、Twitter的興趣圖譜之後,人們才真正意識到圖譜的網路效應魔力。不過這仍然未及伯納斯·李的預期,他理想中的GGG是一張數據的圖譜、服務的圖譜,而不僅僅是網頁、人或興趣。直到 ifttt橫空出世,欲以API打造橫跨整個網際網路的 網站圖譜,才終於接近了GGG這一終極目標。
ifttt前的網際網路
儘管伯納斯·李發明了WWW,但他本人卻不願意使用WWW或是web這樣的辭彙,而是更願意使用GGG或是graph。
WWW無疑是革命性的,但其最大的問題是,WWW這張大網中的節點是網頁或者說文檔,文檔提供信息,WWW連線的所有文檔將提供海量信息、和信息重用。但是在這個信息嚴重過量、網際網路從信息的網向數據的網轉型、從文檔的網向服務的網轉型的時代,WWW已不再重要,GGG才是王道。
比如,一位驢友為了安排旅遊計畫,需要費時費力地搜尋機票、酒店、旅遊景點、攻略等信息,但是這位驢友真正感興趣的不是包含這些信息的網頁/文檔,而是這些信息、數據、服務本身。從一個用戶的角度出發,其目的其實非常簡單:找到最物美價廉的旅行計畫並預定。
在以Google為翹楚的網頁圖譜時代,這些信息分散在各個網頁里,而“人”必須手動做很多信息搜尋、過濾、決策、執行的工作,才能最終基於這些信息完成任務。
ifttt後的網際網路
ifttt的問世,最終實現了人們這一簡單至極卻又複雜無比的夢想。
如果說Google編織的是網頁的網,那么ifttt編織的則是網站、套用或服務的網。ifttt能利用各網站或套用提供的API,將所有服務聚合起來,為用戶提供自動的、個性化的服務。
ifttt示例
ifttt里包括任務、觸發器、反應器(動作)三個部分,結構為 if this then that ,或者說 if _ then _。用戶所需的操作很簡單,設定任務,再設定觸發器即可;當條件滿足時,任務將自動完成。
回到上面那個驢友的例子,如果有了ifttt或是ifttt山寨(前提是要有足夠多的國內服務),他只需設定諸如“7月7日至7月9日北京至中國死海的最便宜旅行套餐,下單截至時間為7月6日12:00”,然後ifttt將自動為其完成任務。多么誘人的前景!
ifttt、GGG與網站圖譜
ifttt的網站圖譜,非常接近伯納斯·李一直以來夢想的GGG,即網際網路是數據和服務的Graph,能自動幫人完成任務。
但又不盡然,儘管功能非常相似,但ifttt與GGG的架構卻有著很大不同。
ifttt的網站圖譜,貌似天下大同但終歸還是一家公司的產品和服務,如今網際網路業界對Facebook一家獨大的擔憂已經很重了,我們沒理由再需要一個更為強大和恐怖的終極版Facebook。
而伯納斯·李心中的GGG指的是整個網際網路,絕非某一家或幾家網站。
他所想的GGG的架構,是分散的、開源的,就像網際網路本身那樣。但是,這卻與以公司為主導的商業運作有著天生的矛盾,公司都想的是架構、數據、服務為自己所有,因為那是利潤機器。
如此看來,ifttt的誕生,意味著網際網路的GGG之路才剛剛開始。
動畫軟體
軟體Gif·gIf·giF (ggg.exe),一款小巧的GIF動畫錄製工具,可以在指定範圍內錄製螢幕的的變化,可以非常方便的製作GIF動畫教程。
這是一個共享軟體
官網上面提供下載英文原版,899 KB (921,501 位元組)。
網路上有漢化破解版的下載,大約123KB。
釓鎵榴石
英文名稱:Gadolinium Gallium Garnet(GGG)。
材料名稱:釓鎵榴石。
材料性質:
化學成分:Gd3Ga5O12。
結晶狀態:晶質體。
晶系:等軸晶系。
晶體習性:塊狀。
常見顏色:通常無色至淺褐或黃色。
光澤:玻璃光澤至亞金剛光澤。
解理:無。
摩氏硬度:6~7。
密度:7.05(+0.04,-0.10)g/cm3。
光性特徵:均質體。
多色性:無。
折射率:1.970(+0.060)。
雙折射率:無。
紫外螢光:短波:中至強,粉橙色。
吸收光譜:不特徵。
放大檢查:可有氣泡,三角形板狀金屬包體,氣液包體。
特殊光學效應:色散強(0.045)。
最佳化處理:未知。
作為鑽石的仿製品之一,有著和鑽石最為接近的色散率值(GGG:0.045,鑽石:0.044),但由於折射率沒有鑽石高,並且比重太大,相當於鑽石的兩倍,同樣體積大小的石頭,鑽石比GGG會輕很多。硬度相較於鑽石來說較低,所以不難鑑別二者。