複製鏈接
請複製以下鏈接發送給好友

高性能計算

鎖定
高性能計算(High performance computing, 縮寫HPC) 是利用超級計算機實現並行計算的理論、方法、技術以及應用的一門技術科學,圍繞利用不斷髮展的並行處理單元以及並行體系架構實現高性能並行計算這一核心問題,該領域研究範圍包括並行計算模型、並行編程模型、並行執行模型、並行自適應框架、並行體系結構、並行網絡通信以及並行算法設計等。 [8] 
高性能計算 (HPC) 或超級計算和日常計算一樣,區別只在於它的計算能力更強大。它能夠通過聚合結構,使用多台計算機和存儲設備,以極高速度處理大量數據,幫助人們探索科學、工程及商業領域中的一些世界級的重大難題。 [9] 
中文名
高性能計算
外文名
High performance computing
所屬學科
計算機科學
縮    寫
HPC

高性能計算原理

在實際應用中,有一些負載(例如 DNA 測序)對於任何一台計算機來説都過於龐大。對此,HPC 或超級計算環境可以使多個節點(計算機)以集羣(互聯組)的形式協同作業,在短時間內執行海量計算,從容應對這些規模龐大而又極其複雜的負載挑戰。此外,由於支持在雲端自動創建和刪除集羣,HPC 還能有效降低負載成本。
HPC 支持多種類型的負載,其中常見的兩種負載是並行負載和緊密耦合負載。 [9] 

高性能計算並行工作負載

指被細分為多個小型、簡單、獨立任務的計算問題,這些任務可以同時運行,通常相互之間幾乎沒有通信。例如,一家企業可能向某節點集羣中的各個處理器核心提交了 1 億條信用卡記錄。其中,處理一條信用卡記錄即是一項小任務,當 1 億條記錄分佈在整個集羣上時,1 億個小任務就能以驚人的速度同時(並行)執行。並行負載的常見使用場景包括風險模擬、分子建模、上下文搜索和物流模擬。 [9] 

高性能計算緊密耦合工作負載

通常佔用較多的共享資源,並分解為相互之間持續通信的小任務。換言之,集羣中的各個節點在執行處理時會相互通信。緊密耦合負載的常見使用場景包括計算流體動力學、天氣預報建模、材料模擬、汽車碰撞仿真、地理空間模擬和交通管理。 [9] 

高性能計算結構

在網狀網絡拓撲中,該結構支持通過縮短網絡節點之間的物理和邏輯距離來加快跨主機的通信。儘管網絡拓撲、硬件和處理硬件在 HPC 系統中很重要,但是使系統如此有效的核心功能是由操作系統應用軟件提供的。
HPC 系統使用的是專門的操作系統,這些操作系統被設計為看起來像是單個計算資源。正如從圖1和圖2中可以看到的,其中有一個控制節點,該節點形成了 HPC 系統和客户機之間的接口。該控制節點還管理着計算節點的工作分配。
圖1.HPC 網狀網絡拓撲 圖1.HPC 網狀網絡拓撲
對於典型 HPC 環境中的任務執行,有兩個模型:單指令/多數據 (SIMD) 和多指令/多數據 (MIMD)。SIMD在跨多個處理器的同時執行相同的計算指令和操作,但對於不同數據範圍,它允許系統同時使用許多變量計算相同的表達式。MIMD允許HPC 系統在同一時間使用不同的變量執行不同的計算,使整個系統看起來並不只是一個沒有任何特點的計算資源(儘管它功能強大),可以同時執行許多計算。
不管是使用 SIMD 還是 MIMD,典型 HPC 的基本原理仍然是相同的:整個HPC 單元的操作和行為像是單個計算資源,它將實際請求的加載展開到各個節點。HPC 解決方案也是專用的單元,被專門設計和部署為能夠充當(並且只充當)大型計算資源。

高性能計算比較

高性能計算網格計算

網格對於高性能計算系統而言是相對較新的新增內容,它有自己的歷史,並在不同的環境中有它自己的應用。網格計算系統的關鍵元素是網格中的各個節點,它們不是專門的專用組件。在網格中,各種系統常常基於標準機器或操作系統,而不是基於大多數並行計算解決方案中使用的嚴格受控制的環境。位於這種標準環境頂部的是應用軟件,它們支持網格功能。
網格可能由一系列同樣的專用硬件、多種具有相同基礎架構的機器或者由多個平台和環境組成的完全異構的環境組成。專用計算資源在網格中並不是必需的。許多網格是通過重用現有基礎設施組件產生新的統一計算資源來創建的。
圖2.網格網絡架構 圖2.網格網絡架構
不需要任何特別的要求就可以擴展網格,使進一步地使用節點變得比在典型HPC環境中還要輕鬆。有了HPC解決方案,就可以設計和部署基於固定節點數的系統。擴展該結構需要小心規劃。而擴展網格則不用考慮那麼多,節點數會根據您的需要或根據可用資源動態地增加和減少。儘管有了拓撲和硬件,網格就可以以圖1和圖2中所示結構的相同結構為基礎,但使用標準網絡連接組件支持網格也是有可能的。甚至可以交叉常規網絡邊界,在WAN或互聯網上合併計算資源,如圖3所示。
作為執行模型和環境,網格還被設計成在操作和執行方面更具靈活性。儘管可以使用網格解決諸如HPC解決方案之類的計算任務,但網格可以更靈活,可以使用各種節點執行不同的計算、表達式和操作。網格並不只是一種沒有任何特點的計算資源,可將它分佈到各種節點中使用,並且一直運行到作業和操作都已完成。這使得網格在不同計算和組件的執行順序對於剩餘任務的連續執行不那麼重要的地方變得更加實用。
利用這種可變長度靈活性和較孤立任務的網格解決方案的一個好例子是計算機合成電影和特技效果中的表演。在這裏,生成的順序並不重要。單幀或更大的多秒的片段可以彼此單獨呈現。儘管最終目標是讓電影以正確的順序播放,但最後五分鐘是否在最初的五分鐘之前完成是無關緊要的;稍後可以用正確的順序將它們銜接在一起。
網格與傳統HPC解決方案之間的其他主要不同是:HPC解決方案設計用於提供特定資源解決方案,比如強大的計算能力以及在內存中保存大量數據以便處理它們的能力,另一方面,網格是一種分佈式計算資源,這意味着網格可以根據需要共享任何組件,包括內存、CPU電源,甚至是磁盤空間。
因為這兩個系統之間存在這些不同,因此開發出了簡化該過程的不同編程模型和開發模型。
HPC解決方案的專用特性在開發應用程序以使用這種能力時提供了一些好處。大多數HPC系統將自己表現為單個計算資源,因此它成為一種編程責任,需要通過專用庫來構建一個能夠分佈到整個資源中的應用程序
HPC環境中的應用程序開發通常是通過專用庫來處理,這極大簡化了創建應用程序的過程以及將該應用程序的任務分配到整個HPC系統中的過程。
最流行的解決方案之一是消息傳遞接口(MPI)。MPI提供了一個創建工作的簡化方法,使用消息傳遞在各個節點之間交換工作請求。作為開發過程的一部分,可能知道想要使用的處理器(在這裏指單獨節點,而非單獨CPU)的數量。HPC環境中的勞動分工取決於應用程序,並且很顯然還取決於HPC環境的規模。如果將進行的工作分配依賴於多個步驟和計算,那麼HPC環境的並行和順序特性將在網格的速度和靈活性方面起到重要作用。
圖3.HPC功能圖 圖3.HPC功能圖
一旦分配好工作,就可以給每個節點發送一條消息,讓它們執行自己的那部分工作。工作被放入HPC單元中同時發送給每個節點,通常會期望每個節點同時給出結果作為響應。來自每個節點的結果通過MPI提供的另一條消息返回給主機應用程序,然後由該應用程序接收所有消息,這樣工作就完成了。圖3中顯示了這種結構的一個示例。
執行模型通常是固定的,並且連續到完成某個單個應用程序。例如,如果將一項任務分配給256 個單元,而HPC系統中有64個節點,那麼需要4個過程迭代來完成工作。工作通常是並行完成的,在整個應用程序完成之前,所有64個節點都仍將保持忙碌。在整個過程中,HPC系統充當一台機器。儘管消息已經被用來在多個計算節點中分配工作,但整個應用程序被有效地操作為一個單獨的應用程序。
其他HPC庫和接口的工作方式類似,具體的方式取決於開發用於HPC環境中的應用程序。無論什麼時候,都可以將工作分配和執行看作一個單獨的過程。儘管應用程序的執行可能要排隊等候,但一旦應用程序開始運行,將立即在HPC系統的所有節點上執行該工作的各個組件。
為了處理多個同時發生的應用程序,多數HPC系統使用了一個不同應用程序在其中可以使用不同處理器/節點設置的系統。例如256個節點的HPC系統可以同時執行兩個應用程序,如果每個應用程序都使用整個計算資源的一個子集的話。

高性能計算網格編程

網格的分佈式(常常是非專用的)結構需要為工作的執行準備一個不同的模型。因為網格的這種特性,無法期望同時執行各種工作單元。有許多因素影響了工作的執行時間,其中包括工作分配時間以及每個網格節點的資源的有效功率。
因為各個節點中存在的不同之處和工作被處理的方式,網格使用了一個將網格節點的監視與工作單元的排隊系統相結合的系統。該監視支持網格管理器確定各個節點上的當前負載。然後在分配工作時使用該信息,把要分配的工作單元分配給沒有(或有少量)當前資源負載的節點
圖4.網格功能圖 圖4.網格功能圖
所以,整個網格系統基於一系列的隊列和分佈,通過在節點之間共享負載,在節點變得可用時將工作分配給隊列中的每個節點,使網格作為一個整體得到更有效的使用。
響應和結果都同樣地在網格控制器上進行排隊,以便在處理完所有工作單元(及其結果)時將它們收集到應用程序的最終結果集中。圖4中顯示了這樣一個示例。
網格模型允許使用各種級別的資源、工作單元規模和分配級別,而不只是HPC解決方案使用的執行模型提供的那些。大多數網格支持使用每個將被排隊和分配的應用程序的各種工作單元同時執行多個工作請求。例如,可以在一些節點仍然在完成Job1上的工作時開始Job2上的工作,為了完成工作,兩項作業以某種動態的方式使用相同數量的可用節點。
此過程的靈活特性不但允許以更動態更適應的方式執行工作,還允許網格與各種硬件和平台一起使用。即使網格中的某些節點比其他一些節點更快或更慢一些,也不再有任何關係;它們可以在自己(比較)空閒的時間完成工作,並且結果將被排隊。其間,更快的系統可能被分配更多的工作並完成更多的工作單元。
出現這種不利現象是因為需要更繁重的管理費用來觀察和監視各個節點,以便能夠在節點間有效分配工作。在異構環境中,還必須考慮不同的平台,並開發跨支持環境兼容的應用程序。但在網格空間中,Web服務已簡化了該過程,使分配工作變得更容易,不必擔心這些不同。
在查看Web服務的效果之前,查看HPC和網格之間的會合區域,並瞭解這將如何影響不同的執行模型。

高性能計算會合區域

HPC 和網格環境之間存在一些類似之處,在許多方面,這二者都出現了一些會合和分歧,不同的團體利用了這兩個系統的各自優點。許多網格環境已從HPC解決方案的擴展中產生,基於HPC環境中的工作,網格中使用的許多技術得到了優化和採用。
一些顯而易見的類似之處是工作被分配到更小的單元和組件中的方式,以及各個工作節點之間的工作分配方式。在HPC環境中,這種勞動分配通常受到嚴格控制,並且是根據您的可用資源進行的。網格使用了一種更靈活的模型,該模型允許將工作分配給大小不標準的單元,因此可以在截然不同的網格節點數組之間分配工作。
儘管工作的分配方式上存在不同,但分配的基本原則仍然是相同的:先確定工作及其分配方式,然後相應地創建工作單元。例如,如果遇到計算問題,可以通過創建不同的參數集,利用將應用於每個節點的每個集合的變量來分配工作。
HPC 系統中使用的消息傳遞結構和系統也已開發並適用於網格系統。許多 HPC 消息傳遞庫使用共享內存結構來支持節點之間的工作單元分配。
網格中,共享的內存環境是不存在的。此外,工作是利用標準網絡連接(通常使用TCP/IP)上發送的不同消息來分配的。系統的核心沒有什麼不同:交換包含工作參數的消息。只有交換信息的物理方法是不同的。

高性能計算Web服務

儘管平台獨立 HPC 系統非常常見(比如 MPI,它支持多個平台和架構),但 HPC 解決方案並不能直接使用,並且許多使用仍然依賴於架構的統一。
典型網格的不同特性導致工作分配方式發生了變化。因為網格節點可能基於不同平台和架構,所以在不同公用和私用網絡上,需要某種以平台為核心的交換工作和請求的方法,該方法使分配工作變得更容易,不必擔心目標環境。
Web 服務基於開放標準,使用XML來分配和交換信息。該效果實質上將消除在平台和架構間共享信息的複雜性。可以編寫一系列支持不同操作的Web服務,而不是編寫跨網格執行的二進制應用程序,這些 Web 服務是為各種節點和平台量身訂做的。部署Web服務的費用也比較低,這使得它們對於不使用專用計算節點網格中的操作比較理想。
通過消除兼容性問題並簡化信息分配方法,Web服務使網格的擴展變得更輕鬆。使用HPC解決方案,通常必須使用基於相同硬件的節點來擴展HPC環境的功能。而使用網格,特別是在使用Web服務時,系統幾乎可以在任何平台上擴展。
網格和Web服務的其他問題是由於不再應用關閉的HPC系統和內部HPC系統而導致的常見分配和安全考慮事項。在WAN或公用網絡上使用網絡節點時尤為如此。對於HPC 解決方案,系統的安全可通過硬件的統一特性得到控制;對於某一位置上的所有機器,安全性更容易控制。
為了提高Web服務的互操作性,特別是在網格環境中,OASIS 團隊開發了許多Web服務標準。這些標準都是通過其WS前綴來標識的。通用規範包含一些頂級 Web服務支持和全面保護規範,用於發現Web服務和選項以及信息交換(通過WS-Security)。
更深一層的標準提供了用來共享資源和信息的標準化方法(WS-Resource 和 WS-Resource Framework)、用來可靠地交換消息的標準化方法(WS-Reliable Messaging)、用於事件通知的標準化方法(WS-Notification),甚至是用於 Web 服務管理的標準化方法(WS-Distributed Management)。
出於安全考慮,可以 WS-Reliable Messaging 交換與WS-Security 標準包裝在一起,這定義了用於身份驗證、授權和消息交換加密的方法和過程。
通過將Web服務標準支持、安全規範和您自己的定製Web 服務組件結合在一起,可以構建一個使用多個平台和環境的高效網格。然後可以在LAN環境中使用應用程序,或者安全地通過公用網絡提供與典型HPC解決方案同樣強大的計算資源,但具有擴展的靈活性和對網格技術的標準支持。
網格計算從技術上説是一種高性能計算機,但它在許多方面不同於傳統的HPC 環境。大多數傳統HPC技術都是基於固定的和專用的硬件,並結合了一些專門的操作系統和環境來產生高性能的環境。相比較而言,網格可以使用日用硬件、不同平台,甚至被配置成可以使用現有基礎設施中的多餘容量。
儘管存在一些不同,但兩個系統也有許多相似之處,特別是查看跨節點的工作分工和分配時。在兩種情況下,都可以使用Web服務來幫助支持系統操作。通過使用開放標準並允許支持更廣範圍的操作系統和環境,Web 服務和網格技術可能在高性能計算解決方案的功效和靈活性方面帶來很大的不同。 [1] 

高性能計算性能

各種高性能計算設施都要根據企業不同的需求選用,但所有高性能計算應用程序都必須經過特殊優化,這與傳統數據中心要求不大一樣。以下方式可以讓HPC應用程序平台以最高的性能執行。

高性能計算選擇適合的內存

有三種DIMM內存可用:UDIMM內存、RDIMM內存和LRDIMM內存。在處理較大型工作負載時,無緩衝DIMM(UDIMM)速度快、廉價但不穩定。寄存器式DIMM(RDIMM)內存穩定、擴展性好、昂貴,而且對內存控制器的電氣壓力小。它們同樣在許多傳統服務器上使用。降載DIMM(LRDIMM)內存是寄存器式內存的替代品,它們能提供高內存速度,降低服務器內存總線的負載,而且功耗更低。

高性能計算升級設施

HPC系統設計與傳統數據中心基礎設施設計的一大區別就是選擇現成工具或定製系統。現成的系統只能在很小的範圍內進行擴展,限制了未來增長。定製可以保持一個開放式的設計,讓企業在將來獲得更好的擴展功能。然而,額外的功能對於定製系統來説是一筆不小的代價,比購買現成系統要高得多。

高性能計算充分利用HPC

HPC應用程序設計與傳統設計不同。開發者需要將信息流拆分為並行組。

高性能計算保持系統一致

當集羣中出現不一致,HPC管理員可能會看到一些零星的異常貨變化,影響應用程序性能。考慮到潛在的性能,IT部門需要實施策略來確認HPC系統中都運行着什麼應用程序, 並想辦法讓配置同步。這些檢查每季度應該進行,或者每年不少於兩次。

高性能計算關注能耗

普通的服務器開銷為每機櫃30kw,這個數字還在不斷上升。由於高密度,高效率數據中架構基礎設施與冷卻系統變得至關重要。 [2] 

高性能計算優化

高性能計算(HighPerformanceComputing)是計算機科學的一個分支,主要是指從體系結構並行算法和軟件開發等方面研究開發高性能計算機的技術。
隨着計算機技術的飛速發展,高性能計算機的計算速度不斷提高,其標準也處在不斷變化之中。
曙光CAE高性能計算平台 曙光CAE高性能計算平台
高性能計算簡單來説就是在16台甚至更多的服務器上完成某些類型的技術工作負載。到底這個數量是需要8台,12台還是16台服務器這並不重要。在定義下假設每一台服務器都在運行自己獨立的操作系統,與其關聯的輸入/輸出基礎構造都是建立在COTS系統之上。
簡而言之,討論的就是Linux高性能計算集羣
一個擁有20000台服務器的信息中心要進行分子動力學模擬無疑是毫無問題的,就好比一個小型工程公司在它的機房裏運行計算流體動力學(CFD)模擬。解決工作負載的唯一限制來自於技術層面。接下來我們要討論的問題是什麼能直接加以應用。
量度(Metrics)
性能(Performance),每瓦特性能(Performance/Watt),每平方英尺性能(Performance/Squarefoot)和性能價格比(Performance/dollar)等,對於提及的20000台服務器的動力分子簇來説,原因是顯而易見的。運行這樣的系統經常被服務器的能量消耗(瓦特)和體積(平方英尺)所侷限。這兩個要素都被計入總體擁有成本(TCO)之列。在總體擁有成本(TCO)方面取得更大的經濟效益是大家非常關注的。
議題的範圍限定在性能方面來幫助大家理解性能能耗,性能密度和總體擁有成本(TCO)在實踐中的重要性。
性能的定義
在這裏把性能定義為一種計算率。例如每天完成的工作負載,每秒鐘浮點運算的速度(FLOPs)等等。接下來要思考的是既定工作量的完成時間。這兩者是直接關聯的,速度=1/(時間/工作量)。因此性能是根據運行的工作量來進行測算的,通過計算其完成時間來轉化成所需要的速度。
定量與定性
從定性的層面上來説這個問題很容易回答,就是更快的處理器,更多容量的內存,表現更佳的網絡和磁盤輸入/輸出子系統。但當要在決定是否購買Linu集羣時這樣的回答就不夠準確了。
對Linux高性能計算集羣的性能進行量化分析。
為此介紹部分量化模型和方法技巧,它們能非常精確的對大家的業務決策進行指導,同時又非常簡單實用。舉例來説,這些業務決策涉及的方面包括:
Linux高性能計算集羣模型 Linux高性能計算集羣模型
購買---系統元件選購指南來獲取最佳性能或者最經濟的性能配置---鑑別系統及應用軟件中的瓶頸
計劃---突出性能的關聯性和侷限性來制定中期商業計劃
Linux高性能計算集羣模型包括四類主要的硬件組成部分。
(1)執行技術工作負載的計算節點或者服務器;
(2)一個用於集羣管理,工作控制等方面的主節點
(3)互相連接的電纜和高度普及的千兆以太網(GBE);
(4)一些全局存儲系統,像由主節點輸出的NFS文件一樣簡單易用。
高性能計算機的衡量標準主要以計算速度(尤其是浮點運算速度)作為標準。高性能計算機是信息領域的前沿高技術,在保障國家安全、推動國防科技進步、促進尖端武器發展方面具有直接推動作用,是衡量一個國家綜合實力的重要標誌之一。
隨着信息化社會的飛速發展,人類對信息處理能力的要求越來越高,不僅石油勘探、氣象預報、航天國防、科學研究等需求高性能計算機,而金融、政府信息化、教育、企業、網絡遊戲等更廣泛的領域對高性能計算的需求迅猛增長。
一個簡單量化的運用模型
這樣一個量化的運用模型非常直觀。在一個集羣上對既定的工作完成的時間大約等同於在獨立的子系統上花費的時間:e
1、時間(Time)=節點時間(Tnode)+電纜時間(Tfabric)+存儲時間(Tstorage)
Time = Tnode + Tfabric + Tstorag
這裏所説的時間(Time)指的是執行工作量的完成時間,節點時間(Tnode)是指在計算節點上花費的完成時間,電纜時間(Tfabric)是指在互聯網上各個節點進行互聯的完成時間,而存儲時間(Tstorage)則是指訪問局域網或全球存儲系統的完成時間。
計算節點的完成時間大約等同於在獨立的子系統上花費的時間:
2、節點時間(Tnode)=內核時間(Tcore) +內存時間(Tmemory)
這裏所説的內核時間(Tcore)指的是在微處理器計算節點上的完成時間。而內存時間(Tmemory)就是指訪問主存儲器的完成時間。這個模型對於單個的CPU計算節點來説是非常實用的,而且能很容易的擴展到通用雙插槽(SMP對稱多處理)計算節點。為了使第二套模型更加實用,子系統的完成時間也必須和計算節點的物理配置參數相關聯,例如處理器的速度,內存的速度等等。
計算節點
圖示中的計算節點原型來認識相關的配置參數。圖示上端的是2個處理器插槽,通過前端總線(FSB-front side bus)與內存控制中心(MCH)相連。這個內存控制中心(MCH)有四個存儲信道。同時還有一個Infiniband HCA通過信道點對點串行(PCIe)連接在一起。
性能參數 性能參數
千兆以太網串行接口(SATA)硬盤之類的低速的輸入輸出系統都是通過芯片組中的南橋通道(South Bridge)相連接的。在圖示中,大家可以看到每個主要部件旁邊都用紅色標註了一個性能相關參數。這些參數詳細的説明了影響性能(並非全部)的硬件的特性。它們通常也和硬件的成本直接相關。舉例來説,處理器時鐘頻率(fcore)在多數工作負荷狀態下對性能影響巨大。根據供求交叉半導體產額曲線原理,處理器速度越快,相應成本也會更高。
高速緩存存儲器的體積也會對性能產生影響,它能減少主頻所承載的工作負荷以提高其運算速度。處理器內核的數量(Ncores)同樣會影響性能和成本。內存子系統的速度可以根據雙列直插內存模塊頻率(fDIMM)和總線頻率(fBus)進行參數化,它在工作負荷狀態下也對性能產生影響。同樣,電纜相互連接(interconnect fabric)的速度取決於信道點對點串行的頻率。
而其他一些因素,比如雙列直插內存模塊內存延遲(DIMM CAS Latency),存儲信道的數量等都做為次要因素暫時忽略不計。
使用的性能參數
在圖示中標明的6個性能參數中,保留四個和模型相關的參數。
首先忽略信道點對點串行的頻率(fPCIe),因為它主要影響的是電纜相互連接(interconnect fabric)速度的性能,這不在範圍之列。
接下來注意一下雙列直插內存模塊頻率(fDIMM)和總線頻率(fBus)會由於內存控制中心(MCH)而限於固定比率。
使用的雙核系統中,這些比率最具代表性的是4:5, 1:1, 5:4。一般情況下只會用到其中的一個。高速緩存存儲器的體積非常重要。
在這個模型中保留這個參數。內核的數量(Ncores)和內核頻率(fcore)也非常重要,保留這兩個參數。
高性能計算(HPC)模型 
這第二個模型的基本形式在計算機體系研究領域已經存在了很多年。
A普通模式是:
(3) CPI = CPI0 + MPI * PPM
這裏的CPI指的是處理器在工作負荷狀態下每執行一個指令的週期。CPI0是指內核CPI,MPI I則是指在工作負荷狀態下高速緩存存儲器每個指令失誤的次數(註釋:在高性能計算領域,MPI主要用於信息傳遞界面,在此處主要是指處理器構造慣例),PPM是指以處理器時鐘滴答聲為單位對高速緩存存儲器每個指令失誤的次數的記錄。第二和第三個方程式相互吻合。這第一個術語代表的是處理器,第二個術語代表的是內存
可以直觀的看到,假設每項工作下執行的P指令的工作負荷與代表處理器的頻率的內核頻率(每秒鐘處理器運行週期的單位)再與方程式(3)相乘,就得到了方程式(4):
Tnode = (CPIo * P) * (1 / fcore) + (MPI * P) * PPM * (1 / fcore)
在這裏要注意(CPIo * P)是以每項工作分配下處理器的運行週期為單位,對微處理器架構上運行的既定工作負荷通常是個恆量。因此把它命名為α。(處理器週期本身無法對時間進行測算,如果乘以內核的頻率就可以得到時間的測算標準。因此Tnode在方程式(4)的右邊)。
(MPI * P)也是同理。對於既定工作負荷和體系結構來説它也是個恆量,但它主要依賴於高速緩存存儲器的體積。我們把它命名為M(MBcache)。而PPM是指訪問主存的成本。對於既定的工作負荷來説,通常是個固定的數字C。PPM乘以內存頻率和總線頻率的比值(fcore / fBus)就從總線週期(bus cycles)轉化成了處理器週期。因此PM = C * fcore / fBus。套入M(MBcache)就可以得到:
(5) Tnode = α * (1 / fcore) + M(MBcache) * (1 / fbus)
這個例子説明總線頻率(bus frequency)也是個恆量,方程式(5)可以簡化為方程式(6):
(6) Tnode = α * (1 / fcore) + β
在這裏Tcore = α * (1 / fcore),而Tmemory = β(也就是公式2裏的術語。我們把這些關鍵點關聯在一起)。
首先在模型2裏,公式5和公式6都有堅實的理論基礎,因為經分析過它是如何從公式3推理而來(它主要應用於計算機體系理論)。其次,這個模型4個硬件性能參數的3個已經包括其中。還差一個參數就是內核數量(Ncores)。
用直觀的方式來説明內核的數量,就是假設把N個內核看做是一個網絡頻率上運行的一個內核,稱之為N*fcore。那麼根據公式(6)我們大致可以推算出:
(7) Tcore ~ α / (N*fcore)
Tcore~ ( α / N) * (1 / fcore )
也可以把它寫成:
(8) αN = ( α / N)
多核處理器的第一個字母Alpha可能是單核處理器的1/N次。
通過數學推算這幾乎是完全可能的。
通常情況下我們是根據系統內核和總線頻率(bus frequencies)來衡量計算機系統性能,如公式(5)所闡述的。但是公式(5)的左邊是時間單位--這個時間單位指的是一項工作量的完成時間。這樣就能更清楚的以時間為單位説明右側的主系統參數。同時請注意內核的時鐘週期τcore(是指每次內核運行週期所需的時間)也等同於(1 / fcore)。總線時鐘(bus clock)週期也是同理。
(9) Tnode = αN * τcore + M(MBcache) * τBus
這個公式的轉化也給了一個完成時間的模型,那就是2個基本的自變量τcore和τBus呈現出直線性變化。這對使用一個簡單的棋盤式對照表對真實系統數據進行分析是有幫助的。 [3] 

高性能計算應用

曙光2000 曙光2000
大家已逐漸認同這一觀點,高性能計算機是價格在10萬元以上的服務器。之所以稱為高性能計算機,主要是它跟微機與低檔PC服務器相比而言具有性能、功能方面的優勢。高性能計算機也有高、中、低檔之分,中檔系統市場發展最快。從應用與市場角度來劃分,中高檔系統可分為兩種,一種叫超級計算機,主要是用於科學工程計算及專門的設計,如Cray T3E;另一種叫超級服務器,可以用來支持計算、事務處理、數據庫應用、網絡應用與服務,如IBM的SP和國產的曙光2000。
從市場的角度來講,高性能計算機是高技術、高利潤而且市場份額在不斷擴大的一個產業。高性能計算機在政府部門、科研等領域的廣泛應用,對增強一個國家的科技競爭力有着不可替代的作用。另外,美國歐洲的經驗已經證明,企業使用高性能計算機能夠有效地提高生產率。
高性能計算機的發展趨勢主要表現在網絡化、體系結構主流化、開放和標準化、應用的多樣化等方面。網絡化的趨勢將是高性能計算機最重要的趨勢,高性能計算機的主要用途是網絡計算環境中的主機。以後越來越多的應用是在網絡環境下的應用,會出現數以十億計的客户端設備,所有重要的數據及應用都會放在高性能服務器上,Client/Server模式會進入到第二代,即服務器聚集的模式,這是一個發展趨勢。
網格(Gird)已經成為高性能計算的一個新的研究熱點,是非常重要的新興技術。網絡計算環境的應用模式將仍然是Internet/Web,但5~10年後,信息網格模式將逐漸成為主流。在計算網格方面美國大大領先於其他國家。有一種觀點認為,美國當前對於網格研究的支持可與其70年代對Internet研究的支持相比,10年後可望普及到國民經濟和社會發展的各個領域。網格與Internet/Web的主要不同是一體化,它將分佈於全國的計算機、數據、貴重設備、用户、軟件和信息組織成一個邏輯整體。各行業可以在此基礎上運行各自的應用網格。美國開始了STAR-TAP計劃,試圖將網格擴展到全世界。
體系結構上,一個重要的趨勢是超級服務器正取代超級計算機而成為高性能計算的主流體系結構技術。高性能計算機市場的低檔產品將主要是SMP(Symmetric MultiProcessor,對稱多處理機),中檔產品是SMP、CC-NUMA(Cache Coherent-Non Uniform Memory Access,支持緩存一致性的非均勻內存訪問)和機羣,高檔產品則將採用SMP或CC-NUMA節點的機羣。在2001年左右,將會出現結合了NUMA(COMA和CC-NUMA)和機羣體系結構優點的混合式結構,稱之為Cluster-NUMA(C-NUMA)系統。可重構、可分區、可配置特性將變得越來越重要。此外還有一種新興的稱為多線程(Multithreading)體系結構將用於超級計算機中,它的代表是Tera公司的MTA系統,一台8 CPU的MTA已經成功地運行在聖地亞哥超級計算機中心。值得注意的是,所有廠家規劃的高檔系統都是機羣,已經有廠家開始研究C-NUMA結構。
美國一直是世界上最重視高性能計算機、投入最多和受益最大的國家,其研究也領先於世界。美國能源部的加速戰略計算ASCI計劃,目標是構造100萬億次的超級計算機系統、軟件和算法,在2004年真實地模擬核爆炸;白宮直屬的HECC(High-End Computing and Computations)計劃,對高性能計算的關鍵技術進行研發,並構建高性能基礎設施;Petaflops計劃開發構造千萬億次級系統的技術;最新的Ultrascale計劃目標在2010年研製萬萬億次級系統。日本計劃將於2002年研製成40萬億次的並行向量機。歐洲的強項則主要體現在高性能計算機的應用方面。
總的來説,國外的高性能計算機應用已經具有相當的規模,在各個領域都有比較成熟的應用實例。在政府部門大量使用高性能計算機,能有效地提高政府對國民經濟和社會發展的宏觀監控和引導能力,包括打擊走私、增強税收、進行金融監控和風險預警、環境和資源的監控和分析等等。
高性能計算機能為企業創造的價值是非凡的,國外的企業和用户已經充分地認識到這一點。一個證明是,20世紀90年代中期以來,國外80%以上企業的信息主管在選購機器時考慮高性能計算機,而在20世紀90年代初,這個數字只有15%。
在國內這方面的宣傳教育工作還很不夠,沒有讓企業、政府和社會充分認識到高性能計算機的益處,從而導致了一些觀念上的誤解。以往一提起高性能計算機,人們馬上就會聯想到用於尖端科學計算的超級計算機。實際上,高性能計算機90%的用途是非科學計算的數據處理、事務處理和信息服務,它早已不是象牙塔裏的陽春白雪。隨着“網絡計算”和“後PC時代”的到來,全世界將有數十億的客户端設備,它們需要連到數百萬台高性能服務器上。高性能計算機將越來越得到產業界的認同,成為重要的生產工具
此外,人們一直以來還有這樣一個認識誤區,認為高性能計算機是面向高新產業和服務業的,而傳統產業(尤其是製造業)並不需要使用。事實上,高性能計算機能夠廣泛應用於生物、信息、電子商務、金融、保險等產業,它同時也是傳統產業(包括製造業)實現技術改造、提高生產率——“電子生產率”(e-productivity)和競爭力的重要工具。高性能計算已從技術計算(即科學計算和工程計算)擴展到商業應用和網絡信息服務領域。的曙光2000-Ⅱ就瞄準了技術計算、商業應用和網絡服務這3個領域的應用。
應該説,高性能計算機在國內的研究與應用已取得了一些成功,包括曙光2000超級服務器的推出和正在推廣的一些應用領域,如航空航天工業中的數字風洞,可以減少實驗次數,縮短研製週期,節約研製費用;利用高性能計算機做氣象預報和氣候模擬,對厄爾尼諾現象及災害性天氣進行預警,國慶50週年前,國家氣象局利用國產高性能計算機,對北京地區進行了集合預報、中尺度預報和短期天氣預報,取得了良好的預報結果;此外,在生物工程、生物信息學、船舶設計、汽車設計和碰撞模擬以及三峽工程施工管理和質量控制等領域都有高性能計算機成功應用的實例。
但是總的説來,高性能計算機在國內的應用還比較落後,主要原因在於裝備不足、聯合和配套措施不力及宣傳教育力度不夠。首先,國內高性能計算機的裝機量明顯不足。1997年世界高性能計算機的銷售額美國約為220億美元,中國約為7億美元。美國的微機銷售額約佔世界市場的38%,高性能計算機佔世界的34%,均高於其GDP所佔世界份額(25%左右)。中國的微機銷售額約佔世界市場的3%,高於中國GDP的份額(2.6%);但中國高性能計算機銷售額所佔世界份額僅為1%左右,低於GDP的份額。從另一個角度看,中國的微機市場接近美國的1/10,但中國的高性能計算機市場不到美國的1/30。
裝備不足嚴重影響了高性能計算機應用的開發和人才的培養,這些反過來又影響了高性能計算機的使用和裝備。值得慶幸的是,隨着網絡化和信息化工作的深入,國內社會已開始意識到高性能計算機的重要性。1999年,中國高性能計算機的市場銷售額猛增了50%以上。
除了裝備不足之外,我認為社會各行業、各層次的合作和配合不力也是阻礙高性能計算機應用發展的重要原因。應用市場的擴展關鍵要靠聯合,在中國高性能計算機領域,系統廠商、應用軟件廠商與最終用户和服務商之間並沒有結成有效的戰略聯盟,形成優勢互補的局面。我希望看到的是,曙光、聯想、浪潮的服務器,運行着東大阿爾派、用友、同創等廠家的軟件,在新浪網、8848網上為各行業的用户提供各種服務。國家正在實施一個“國家高性能計算環境”的計劃,正朝着這方面努力。
國家863計劃主題正在實施一個“國家高性能計算環境”的項目,計劃到2000年年底在全國建設10個左右的高性能計算中心,這些中心將通過千兆位網絡互連。目標就是儘量讓全國用户免費共享全國的計算資源、信息資源和人才資源。這只是一個初期的項目,估計在2000年下半年會規劃更大的項目。值得注意的是,已經規劃的應用包括生物信息學、數字圖書館、科學數據庫、科普數據庫、汽車碰撞、船舶設計、石油油藏模擬、數字風洞、氣象預報、自然資源考察和遠程教育等領域。
2000年5月14~17日,國內將在北京組織一個“亞太地區高性能計算國際會議及展覽”,屆時全球二十幾個國家和地區的代表以及國內外主流的服務器廠商將參加會議,會議計劃圍繞一些課題做特邀報告:美國工程院院士、Microsoft資深科學家Gordon Bell將討論“後PC時代:當計算、存儲和帶寬都免費時,我們面臨什麼樣的挑戰?”,自由軟件創始人Richard Stallman 將討論“自由軟件運動及GNU/Linux”,俄羅斯科學院院士Boris Babayan將介紹俄羅斯花了6年功夫新近發明的一種電腦芯片,據稱它比Intel的Pentium Ⅲ和Itanium快幾倍,而且具有安全、防病毒功能。
IBM深度計算研究所所長Pulley Blank將介紹“深藍、基因藍以及IBM的深度計算戰略”。從會議的內容上我們能夠看出,高性能計算的範圍已超出了高端科學計算的領域。相信這次會議對國內高性能產業的發展將起到一定的推動作用。
此外,國家還有一個重大基礎研究計劃(也叫973項目)。高性能計算已經成為科技創新的主要工具,能夠促成理論或實驗方法不能取得的科學發現和技術創新。973項目中的很多項目(尤其是其中的“高性能軟件”和“大規模科學計算”項目)都與高性能計算機有着密切的關係。 [4] 
對於國內用户來説,個人桌面超級運算不再是夢想。在其工作站業務迎來10週年之際,方正科技宣佈將在中國市場推出具有超級計算能力的高性能工作站。其最新推出的旗艦機型美崙3400 2800,提供強大圖形處理與高性能計算解決方案,採用全新英特爾至強”處理器,搭載新一代NVIDIA Tesla GPU,能實現高性能的GPU超級運算,從而將工作站變身為桌面型超級計算機,滿足專業用户的高性能計算需求。
對於國內用户來説,GPU(圖形處理器)並不陌生,但對於GPU計算這一新興運算方式,可能還不熟悉。簡單來説,GPU計算即使用GPU(圖形處理器)來執行通用科學與工程計算。目前的CPU最多隻集成了4個內核,而GPU已經擁有數以百計的內核,在高密度並行計算方面擁有得天獨厚的優勢。方正科技推出的高性能計算工作站,使用CPU+GPU的異構計算模型,應用程序的順序部分在CPU上運行,而計算密集型部分則由GPU來分擔。這樣,系統計算力得到淋漓盡致的釋放,應用程序的運行速度能夠提升1-2個數量級。
GPU計算的概念一經提出,就在高性能計算領域掀起了一場前所未有的風暴。在過去4年裏,已經有累計1億顆以上的GPU被三星、摩托羅拉等公司和哈佛、斯坦福等上百所高校研究機構應用於癌症的治療和科研教學等多種領域。日本最快的超級電腦也採用了GPU計算這項技術。微軟的WIN7已經融入GPU運算功能。而下游廠商如惠普、方正、聯想等也一直積極緊跟技術潮流,積極研發GPU計算應用產品。NVIDIA的首席執行官黃仁勳曾大膽預言:“2009年是GPU引爆年,CPU+GPU的個人運算時代已經來臨。”

高性能計算發展

機羣——未來高性能的發展方向
高性能計算機的主流體系結構收縮成了三種,即SM、CC-NUMA、Cluster。在產品上,只有兩類產品具有競爭力:一是高性能共享存儲系統;二是工業標準機羣,包括以IA架構標準服務器為節點的PC機羣和以RISC SMP標準服務器為節點的RISC機羣。當前,對高性能計算機產業影響最大的就是“工業標準機羣”了,這也反映了標準化在信息產業中的巨大殺傷力。工業標準機羣採用量產的標準化部件構成高性能計算機系統,極大地提高了性能價格比,從科學計算開始逐漸應用到各個領域。
關鍵在應用
20世紀90年代以來,中國在高性能計算機的研製方面已經取得了較好的成績,掌握了研製高性能計算機的一些關鍵技術,參與高性能計算機研製的單位已經從科研院所發展到企業界,有力地推動了高端計算的發展。中國的高性能計算環境已得到重大改善,總計算能力與發達國家的差距正逐步縮小。
隨着曙光、神威、銀河、聯想、浪潮、同方等一批知名產品的出現,中國成為繼美、日之後第三個具備高端計算機系統研製能力的國家,被譽為世界未來高性能計算市場的“第三股力量”。在國家相關部門的不斷支持下,一批國產超級計算機相繼面世,大量的高性能計算系統進入教育、科研、石油、金融等領域,尤其值得一提的是曙光4000A在全球TOP500中排名進入前十,併成功應用於國家網格節點之一——上海超級計算中心
但是,從總體上講,中國高性能計算應用的研究與開發明顯滯後於高性能計算機的發展,應用的並行度普遍在百十量級,應用到更大規模的很少(並非沒有需求)。
提及摩爾定律,作為計算機發展的第一定律一直在引領IT產業的前行。不過隨着多核技術的發展和應用,摩爾定律在面臨挑戰的同時,在某些領域已經被超越。例如在日益普及的高性能計算(HPC)中。那為何摩爾定律會首先在高性能計算領域被超越?這之中又隱含着怎樣的產業趨勢?
首先從代表全球高性能計算水平和趨勢的全球高性能計算TOP500近幾年性能發展的趨勢看,無論是最大性能(全球排名第一的系統)、還是最小性能(全球排名最後)和平均性能,其發展曲線的速度是基本一致的。但與摩爾定律的發展曲線相比,則明顯處於陡勢的增長態勢。這説明這兩年來,高性能計算性能和應用的發展速度已經超越了摩爾定律。熟悉摩爾定律的人都知道,摩爾定律有三種解釋。一種是集成電路芯片上所集成的電路的數目,每隔18個月就翻一番;第二種是微處理器的性能每隔18個月提高一倍,而價格下降一半;第三種解釋是用一個美元所能買到的電腦性能,每隔18個月翻兩番。這三種解釋中業內引用最多的是第一種。但具體到高性能計算,筆者更願意用第二或者第三種來解釋。
按理説,隨着高性能計算性能的不斷提升和系統的日益龐大,高性能計算用户無論在初期的採購搭建系統,還是後期的使用中的成本都會大幅的增加,在經濟危機的特殊時期,高性能計算如此大的TCO會導致用户的減少和整體性能的下降才對。但前不久發佈的全球高性能計算TOP500證明,增長的勢頭未減,這除了市場和用户的需求外,更在於處理器廠商採用新的技術,在性能提升的同時,讓用户以更低的成本享受到更高、更多的計算性能。從這個意義上看,摩爾定律在被延續的同時也正在被超越,即在高性能計算領域,用户性能/投入比遠遠大於摩爾定律。當然這主要得益於處理器製程、架構技術、多核技術、節能技術、軟件優化和快速部署等。
例如從製程和核數上看,最新的全球高性能計算TOP500排名顯示,45納米已經佔據了絕對的主流。而多核也達到了全球TOP500的2/3。從部署的速度看,AMD剛剛發佈不久的6核就已經有兩套進入TOP500中。而英特爾正式發佈的新的Nehalem多核架構的高性能計算系統更有33套(基於這個處理器的系統)進入TOP500,其中有兩套在TOP20裏。快速的部署給用户帶來的是最新技術和性能的獲得。
當然對於用户而言,多核並非是關鍵,重要的是如何充分發揮多核的效能。這就需要相關的平台技術和軟件優化。例如在高性能計算領域,業內都聽説過“半寬板”這個標準。這個“半寬板”標準其實是英特爾在幾年前提出的,半寬的小板在加高計算密度的同時,節約了很多複用的部件,在加強高性能計算的密度同時,配合散熱的技術設計,可以提供更多的計算能力同時降低能耗。這就引出了一個新的發展方向,即高性能計算未來發展就是能耗更多被用於計算性能的提高,而不是散熱。此外,就是SSD(固態硬盤),它可以在大幅提高高性能計算系統可靠性和I/O性能的同時,還可以降低功耗。而軟件優化更是高性能計算中重中之重的部分,編譯器、函數庫以及MPI庫,所有這些可以幫助ISV能夠把多核處理器的計算性能充分發揮出來。
由此來看,在高性能計算領域,單純的處理器已經不能滿足市場和用户的需求,它們需要的是高性能計算平台級的解決技術及方案。這也是為什麼在全球高性能計算TOP500開始引入能效的主要原因。
説到能效,筆者早就聽説在業內有個與摩爾定律同樣重要的“基辛格規則”。它是以處理器業界聞名的英特爾首席技術官帕特·基辛格名字命名的。該規則的主旨是今後處理器的發展方向將是研究如何提高處理器能效,並使得計算機用户能夠充分利用多任務處理、安全性、可靠性、可管理性和無線計算方面的優勢。如果説“摩爾定律”是以追求處理性能為目標,而“基辛格規則”則是追求處理器的能效,這規則至少在高性能計算領域已經得到了驗證,而它由此帶來的是摩爾定律的被超越,即用户將會在更短的週期,以更低的價格獲得更高的能效。
人類從人力推算到高性能計算機,傾注了無數人大量的心血和努力。對於現代天氣預報和氣象研究工作,高性能計算機則佔據了極其重要的位置。
氣象工作離不開高性能計算機
隨着社會經濟的發展,政府、社會和公眾對氣象預報和服務提出了更高的要求,特別是一些特殊氣象保障任務需要預報員提供定點、定時、定量的精細氣象預報和服務。而對於現代天氣預報而言,為確保其實施的實效性和運行的穩定性,必然要求建立在數值預報基礎之上,但數值模式普遍具有計算規模巨大、高精度等特點,於是高性能計算機便成為了現代氣象研究的中流砥柱。
數值天氣預報水平的高低已成為衡量世界各國氣象事業現代化程度的重要標誌。美國國家大氣研究中心與科羅拉多大學合作,採用了IBM藍色基因超級計算機來仿真海洋、天氣和氣候現象,並研究這些現象對農業生產、石油價格變動和全球變暖等問題的影響。日本科學家研製成功了代號為“地球模擬器”的超級計算機,其主要目的就是要提供準確的全球性天氣預報,使各個國家和地區更好地防禦暴風雪、寒流和酷暑期的到來。
我國是一個幅員遼闊的國家,在氣候上呈現多層次、多樣性、多變性等特點,尤其是近幾年洪澇、乾旱等自然災害比較嚴重,及時、準確的天氣預報逐步受到重視,因此隨着地區氣象市場的逐步成熟,更高效率的高性能計算機成為了人們關注的對象。作為國產服務器第一品牌的曙光公司,一直以來就非常關注氣象領域對高性能計算機的需求。
由於採用了軟硬件一體化設計,曙光氣象專用機在硬件平台上直接移植了在中尺度數值天氣預報領域處於領先地位的NCA MM5系統,這套系統每天自動定時定點進行業務系統預報,從數據導入到氣象繪圖的整個流程自動完成,不需要人工干預;用户可以隨時監控整個系統的運行,大大節約了操作的時間。甚至不需要任何計算機系統知識的培訓,用户就可以快速掌握整個預報系統。而且該系統既可以作為業務預報系統,又可以作為氣象研究和測試的平台,一機多用,用户可以根據自己的需要進行參數設定和算法調試。系統還提供了數據保存功能,使得用户可以對以往一個月內不滿意的預報進行重新計算和分析,最大限度地滿足了氣象部門準確及時預報的需求。
氣象工作離不開高性能計算機,而且每隔三四年就有一次主機的更新,速度還要提高一個數量級。在前10年,我們還只能選擇國外品牌高性能計算機,而近幾年以曙光為代表的高性能計算機已經明顯提升了氣象服務的綜合實力。曙光機在我國氣象領域取得了非常廣泛的應用,大大促進了中國氣象科技水平的提升,為老百姓的日常出行和眾多國家重大工程提供了強有力的保障。從日常天氣預報到大型氣候研究、從陸地到海洋、從地面水文氣象到太空天氣等領域,都活躍着曙光高性能計算機的身影。 [5] 
天河一號(TH-1)全稱“天河一號超級計算機系統”,是一台由中國國防科大和天津濱海新區提供的異構超級計算機,名字“天河”意思為“銀河”。天河一號的操作系統銀河麒麟。浪潮集團也參與了這一全球超級計算機的建設工作。
2010年10月,《2010中國高性能計算機TOP100排行榜》正式對外發布,經過技術升級優化後的“天河一號”超級計算機系統,以峯值性能每秒4700萬億次、LINPACK實測值持續性能每秒2507萬億次的性能再登榜首。升級優化後的“天河一號”,配備了14336顆至強X5670處理器、7168塊基於Nvidia “Fermi”架構的Tesla M2050計算卡、2048顆國防科技大學研製的飛騰處理器以及5PB存儲設備。
天河-1A峯值性能提高了3.89倍,持續性能提高了4.45倍,其運算速度與能效均達到當前國際領先水平。升級後的“天河一號”的實測性能是此前全球最快的超級計算機美洲虎的1.425倍。與誕生於一年前的“天河一號”一期系統相比,二期系統的峯值性能和持續性能分別提高了2.89倍和3.45倍。
其峯值速度為4700TFlops,持續速度為2566TFlops(LINPACK實測值),參加2010年11月世界超級計算機TOP500排名,位列世界第一。 [6] 
根據2014年6月份TOP500的排名,中國國防科大開發的天河二號連續第三次位列世界第一,LINPACK實測速度33,862.7TFlop/s,理論峯值54,902.4TFlop/s。 [7] 
參考資料