巨型機
超大型電子計算機
巨型機(巨型計算機,supercomputer)是一種超大型電子計算機。
具有很強的計算和處理數據的能力,主要特點表現為高速度和大容量,配有多種外部和外圍設備及豐富的、高功能的軟體系統。
巨型計算機實際上是一個巨大的計算機系統,主要用來承擔重大的科學研究、國防尖端技術和國民經濟領域的大型計算課題及數據處理任務。如大範圍天氣預報,整理衛星照片,原子核物的探索,研究洲際導彈、宇宙飛船等,制定國民經濟的發展計劃,項目繁多,時間性強,要綜合考慮各種各樣的因素,依靠巨型計算機能較順利地完成。
對巨型計算機的指標一些國家這樣規定:首先,計算機的運算速度平均每秒1000萬次以上;其次,存貯容量在1000萬位以上。如我國研製成功的"銀河"計算機,就屬於巨型計算機。巨型計算機的發展是電子計算機的一個重要發展方向。它的研製水平標誌著一個國家的科學技術和工業發展的程度,體現著國家經濟發展的實力。一些發達國家正在投入大量資金和人力、物力,研製運算速度達幾百億次的超級大型計算機。
在一定時期內速度最快、性能最高、體積最大、耗資最多的計算機系統。巨型計算機是一個相對的概念,一個時期內的巨型機到下一時期可能成為一般的計算機;一個時期內的巨型機技術到下一時期可能成為一般的計算機技術。現代的巨型計算機用於核物理研究、核武器設計、航天航空飛行器設計、國民經濟的預測和決策、能源開發、中長期天氣預報、衛星圖像處理、情報分析和各種科學研究方面,是強有力的模擬和計算工具,對國民經濟和國防建設具有特別重要的價值。
據統計,計算機的性能與使用價值的平方成正比,即所謂平方律。按照這一統計規律,計算機性能越高,相對價格越便宜。因此,隨著大型科學工程對計算機性能要求的日益提高,超高性能的巨型計算機將獲得越來越大的經濟效益。
巨型機主機由高速運算部件和大容量快速主存貯器構成。由於巨型機加工數據的吞吐量很大,只有主存是不夠的,一般有半導體快速擴充存貯器和海量(磁碟)存貯子系統來支持。對大規模數據處理系統的用戶,常需大型聯機磁帶子系統或光碟子系統作為大量信息數據進/出的媒介,。巨型機主機一般不直接管理慢速的輸入/輸出(I/O)設備,而是通過I/O介面通道聯結前端機,由前端機做I/O的工作,包括用戶程序和數據的準備、運算結果的列印與繪圖輸出等。前端機一般用小型機。I/O的另一種途徑是通過網路,網上的用戶藉助其端機(微機、工作站、小型大型機)通過網來使用巨型機,I/O均由用戶端機來做。網路方式可大大提高巨型機的利用率。
巨型計算機的速度
“天河一號”為我國首台千萬億次超級計算機。計劃從2010年9月開始進行系統調試與測試,並分步提交用戶使用。
它每秒鐘1206萬億次的峰值速度,和每秒563.1萬億次的Linpack實測性能,使這台名為“天河一號”的計算機位居同日公布的中國超級計算機前100強之首,也使中國成為繼美國之後世界上第二個能夠自主研製千萬億次超級計算機的國家。
50年代中期的巨型機有,UNIVAC公司的LARC機和IBM公司的Stretch機。這兩台計算機分別採用了指令先行控制、多個運算單元、存儲交叉訪問、多道程序和分時系統等并行處理技術。60年代的巨型機有CDC6600機和7600機,它們都配置有多台外圍處理機,主機的中央處理器含有多個獨立并行的處理單元。70年代出現了現代巨型計算機,其指令執行速度每秒已達5000萬次以上,或每秒可獲得2000萬個以上的浮點結果。
現代巨型機經歷了三個發展階段。第一階段有美國ILLIAC-Ⅳ(1973年)、STAR-100(1974年)和ASC(1972年)等巨型機。ILLIAC-Ⅳ機是一台採用64個處理單元在統一控制下進行處理的陣列機,后兩台都是採用向量流水處理的向量計算機。1976年研製成功的CRAY-1機標誌著現代巨型機進入第二階段。這台計算機設有向量、標量、地址等通用寄存器,有12個運算流水部件,指令控制和數據存取也都流水線化;機器主頻達80兆赫,每秒可獲得8000萬個浮點結果;主存儲器容量為100~400萬字(每字64位),外存儲器容量達109~1011字;主機櫃呈圓柱形,功耗達數百千瓦;採用氟里昂冷卻。圖中為這種機器的邏輯結構。中國的“銀河“億次級巨型計算機(1983年)也是多通用寄存器、全流水線化的巨型機。運算流水部件有18個,採用雙向量陣列結構,主存儲器容量為200~400萬字(每字64位),並配有磁碟海量存儲器。這些巨型機的系統結構都屬於單指令流多數據流(SIMD)結構。80年代以來,採用多處理機(多指令流多數據流MIMD)結構、多向量陣列結構等技術的第三階段的更高性能巨型機相繼問世。例如,美國的CRAY-XMP、CDCCYBER205,日本的S810/10和20、VP/100和200、S×1和S×2等巨型機,均採用超高速門陣列晶元燒結到多層陶瓷片上的微組裝工藝,主頻高達50~160兆赫以上,最高速度有的可達每秒5~10億個浮點結果,主存儲器容量為400~3200萬字(每字64位),外存儲器容量達1012字以上。
還有一類專用性很強的巨型機。例如,美國哥德伊爾宇航公司的巨型并行處理機MPP,由16384個處理器組成128×128的方陣,專用於衛星圖像信息的高速處理,8位整數加的處理速度可達每秒60億次,32位浮點加可達每秒1.6億次。英國ICL公司研製的分散式陣列處理機專用系統DAP,由4096個一位微處理器和一台大型系列機2900組成,最高速度可達每秒1億個64位的浮點結果。
并行處理是巨型機技術的基礎。為提高系統性能,現代巨型機都在系統結構、硬體、軟體、工藝和電路等方面採取各種支持并行處理的技術。
為便於高速并行處理,中央處理器的數據類型除傳統的各類標量外,都增加了向量或數組類型。向量或數組運算的實質,是相繼或同時執行一批同樣的運算,而標量運算只處理一個或一對操作數,故向量運算速度一般比標量運算速度快得多。
現代巨型機硬體大多採用流水線、多功能部件、陣列結構或多處理機等各種技術。流水線是把整個部件分成若干段,使眾多數據能重疊地在各段操作,特別適於向量運算,性能-價格比高,應用普遍。多功能部件可以同時進行不同的運算,每個部件內部又常採用流水線技術,既適合向量運算又適合標量運算。中國的“銀河”機和日本的VP/200、S810/20機進一步將每個向量流水部件或向量處理機加倍,組成雙向量陣列,又把向量運算速度提高了兩倍。美國CYBER-205機的向量處理機可按用戶需要組成一、二或四條陣列式的流水線,技術上又有所發展。多處理機系統以多台處理機并行工作來提高系統的處理能力,各台處理機可以協作完成一個作業,也可以獨立完成各自的作業。每台處理機內部也可採用各種適宜的并行處理技術。在任務的劃分與分配、多處理機之間的同步與通信和互連網路的效益等方面,多處理機系統尚存在不少問題有待解決。現代巨型機採用的主要還是雙處理機系統(如CRAY-XMP)和四處理機系統(如HEP)。
為降低存儲流量和頻帶寬度的要求,並解決短向量運算速度低的問題,第二階段的巨型機採取了向量寄存器技術。CRAY-1機設有8個向量寄存器,所有向量運算指令都面向向量寄存器和其他通用寄存器。為更有力地支持各運算流水部件高度并行地進行各自的向量運算,日本的VP/100和S810等第三階段的巨型機設有龐大的向量寄存器,總容量達64K位元組。
標量運算速度對巨型機系統綜合速度的影響極大。為此,除增設標量寄存器、標量後援寄存器或標量高速緩衝存儲器以及採用先進的標量控制技術(如先行控制等)外,還可採用專作標量運算的功能部件和標量處理機等技術。例如,CRAY-1機的多功能部件中,有6個專作標量和地址運算,3個兼作標量浮點運算,標量運算速度可達每秒2000萬次以上;CYBER205機專設標量處理機,含5個運算部件,標量運算速度可達每秒5000萬次以上。在提高向量運算速度的同時,進一步提高標量運算速度,儘可能縮小兩者的差距,已成為改善巨型機系統性能的重要研究課題。
為使複雜系統的三維處理成為可能,要求主存儲器能容納龐大的數據量。80年代的巨型機容量已達256兆位元組。為與運算部件的速度相匹配,主存儲器必須大大提高信息流量。為此,主要的措施是:①採取較成熟的多模塊交叉訪問技術,模塊數量一般取2n,有的巨型機採用素數模新技術,以盡量避免向量訪問的衝突;②不斷減小每個模塊的存取周期,如CRAY-XMP機的存取周期為38納秒,S810機雖用靜態MOS存儲器,也只有40納秒,與雙極存儲相當;③增加主存儲器的訪問埠,如CRAY-XMP機的每台處理機與CRAY-1機相比,訪問埠由一個增加到四個,解決了存儲訪問的瓶頸問題。
巨型機不但配有數量較多的輸入輸出通道,如16~32個,而且具有較高的通道傳輸率。如CRAY-XMP機除一般通道外,還有兩個傳輸率為每秒100兆位元組的通道和一個傳輸率高達每秒1250兆位元組的通道。
固態海量存儲器為適應特大算題的大量數據在主存儲器和外存儲器之間的頻繁調度,新型的巨型機採用固態海量存儲器作為超高速外存儲器。CRAY-XMP機的固態存儲器採用MOS技術,容量為64~256兆位元組,傳輸率比磁碟快50~100倍。S810機的固態存儲器容量為256~1024兆位元組,傳輸率達每秒1000兆位元組。
巨型機的邏輯電路都採用超高速ECL電路,門級延遲約為0.25~0.5納秒,晶元門數為幾十至一千以上;1984年日本已研製成功4K門陣列常溫砷化鎵晶元,級延遲約為50皮秒;用於向量寄存器的超高速雙極隨機存取存儲器的訪問時間為3.5~5.5納秒。
縮短機內走線長度和提高機器主頻,是提高巨型機速度的基礎。現代巨型機主頻有的已達250兆赫以上。為此,除提高晶元的集成度和速度外,還採用微組裝等高密度多層組裝工藝。由此而來的散熱問題很突出,需要採取特殊的冷卻措施。
并行演演算法和軟體技術為充分發揮巨型機的系統性能,必須研究各種并行演演算法並研製并行化的軟體系統。針對特大型科學計算的特點,巨型機通常配置如下軟體:具有多重處理能力的批處理分散式操作系統、高效的彙編語言、向量FORTRAN或PASCAL、ADA語言和向量識別器、并行化標準子程序庫、科學子程序庫和應用程序庫、系統實用程序、診斷程序等。