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

大型機

鎖定
大型機,或者稱大型主機,英文名mainframe。大型機使用專用的處理器指令集、操作系統應用軟件。大型機一詞,最初是指裝在非常大的帶框鐵盒子裏的大型計算機系統,以用來同小一些的迷你機和微型機有所區別。大多數時候它卻是指system/360 開始的一系列的IBM計算機。這個詞也可以用來指由其他廠商,如Amdahl, Hitachi Data Systems (HDS) 製造的兼容的系統。有些人用這個詞來指IBMAS/400 或者iSeries 系統,這種用法是不恰當的;因為IBM自己也只把這些系列的機器看作中等型號的服務器,而不是大型機。 [1] 
中文名
大型機
外文名
mainframe
別    名
大型主機
構    成
專用的處理器指令集、操作系統應用軟件
生產企業
IBMUNISYS
性    質
計算機系統

大型機作用

80年代以來,網絡化和微型化的日趨明顯,傳統的集中式處理和主機/啞終端模式越來越不能適應人們的需求,在這種情況下,傳統的大型機和小型機都陷入了危機。為了應對危機,一些大型機和小型機改變了原先的一些功能和模式,加入以C/S模式為特點的服務器陣營,重新適應了人們的需求。 在微型計算機UNIX服務器、集羣技術、工作站的衝擊下,不能適應這種變化的傳統小型機已經淘汰,而IBM大型主機卻長盛不衰,這其中主要的原因是:RAS(Reliability, Availability, Serviceability 高可靠性、高可用性、高服務性),I/O處理能力以及ISA。
今日而言,大型主機在MIPS(每秒百萬指令數)已經不及微型計算機(microcomputer),但是它的I/O能力、非數值計算能力、穩定性、安全性卻是微型計算機所望塵莫及的。
大型主機和超級計算機(舊稱巨型機)的主要區別:
  1. 大型主機使用專用指令系統和操作系統,超級計算機使用通用處理器及UNIX或類UNIX操作系統(如linux)。
  2. 大型主機長於非數值計算(數據處理),超級計算機長於數值計算(科學計算)。
  3. 大型主機主要用於商業領域,如銀行和電信,而超級計算機用於尖端科學領域,特別是國防領域。
  4. 大型主機大量使用冗餘等技術確保其安全性及穩定性,所以內部結構通常有兩套。而超級計算機使用大量處理器,通常由多個機櫃組成。
  5. 為了確保兼容性,大型主機的部分技術較為保守。

大型機現狀

生產大型主機的企業有IBMUNISYS。IBM生產的大型機在其服務器產品線中被列為Z系列。該系列服務器的主機通常為一個大機櫃,通過原生和虛擬方式可運行多種操作系統,其中最典型的操作系統是IBM大型機的專用文字界面操作系統Z/OS。IBM大型機的中央處理器是一塊巨大的陶瓷MCM模塊,其內部的多層佈線基板上貼裝有多個集成電路芯片,使用基於z/Architecture架構的CISC指令集SUN公司和HP公司不生產一般意義上的大型主機,但生產性能和用途類似於IBM大型主機的高端UNIX服務器,這些服務器通常稱作為大型機級服務器。

大型機性能提升

減少大型機CPU消耗是個重要工作。節約每個CPU週期,不僅可以延緩硬件升級,還可以降低基於使用規模的軟件授權費。
IBM Language Environment (LE)編輯器和運行時提供了很多優化選項——從而無須修改源代碼。

大型機編譯時間選項

通過LE編譯器優化,大型機程序員可以調整目標代碼,充分發揮某個處理器家族計算性能。
ARCH(架構)是一個編輯器選項。ARCH級會指示編譯器生成含有針對目標處理器進行性能優化的機器指令目標代碼。ARCH重要性日益增加,因為IBM已經推出了數代服務器,都包含了針對性能優化設計的指令集。
另一種選擇是TUNE,告訴編輯器安排機器指令順序,確保能夠利用處理器的指令管道與緩存優勢。
程序員需要為生產線上最古老的處理器系列進行優化。挑錯ARCH選項,並且操作異常(0C1s)可能會導致壞的TUNE,並降低性能。
雖然這些選項通常來説只專門針對C++編譯器,但IBM已經將其擴展到COBOL與PL/1高級語言。

大型機運行時選項

IBM lE同樣提供了多種運行時選項,可以提高大型機性能。
以下是選項指定的層次結構:
  • 運行時選項在程序中調用中指定
  • 使用用户選項(UOPT)控制會話(CSECT)連接選項到程序
  • 區域選秀(ROPT)模塊
  • CEEPRMxx PARMLIB成員中的全局選項集
CBLPSHOPOPS的常規處理條件,存儲初始化與堆棧大小是運行時優化選項,尤其在CICS環境中。
CBLPSHPOPS。CBPSHPOPS控制LE在進入或退出COBOL運行時時,是否執行PUSH HANDLE與POP HANDLE CICS命令。PUSH HANDLE命令PUSH HANDLE命令用棧保存所有尚未處理的條件,而POP則將句柄條件從前推動。如果任何條件在有未處理句柄的情況下被提出,那麼控制會切換到HANDLE命令指定的錯誤運行時。
關閉CBPSHPOPS選項可以節約CPU週期,避免額外的PUSH與POP命令。然而,如果沒有CBPSHPOPS,在較低模塊提出的條件可能會滲透到沒有錯誤準備的高級處理運行時。只有在分析與測試後才改變配置。
存儲初始化。STORAGE選項通一些參數控制內存初始化,例如新申請的堆段參數,LE釋放的堆段參數以及初始化棧或當控制進入運行時進行自動存儲。
堆初始化往往是CPU週期方面最廉價的成本。初始化棧存儲則更昂貴,雖然成本取決於子程序調用次數。除非你為國家安全局工作,否則不要使用erase-on-free 清除選項。
要避免LE內存共同初始化,遵循編程最佳實踐,假定存儲是為初始化的,除非在程序中有另外明確指出。
棧和堆大小。LE有自己的內存管理器,其目的是減少程序找操作系統或CICS申請更多存儲的次數。 LE在大塊中獲得內存,再根據需要細分。當塊無法滿足存儲要求時, LE會調用操作系統或CICS申請另一個塊。一個初始化堆或棧存儲的明智選擇將減少調用操作系統內存管理次數並降低CPU使用率。
選擇初始塊大小是一門超越科學的藝術。分塊過小會增加CPU使用,但分塊過大可能會降低存儲使用。
在大存儲塊中的碎片在混合應用程序中相當麻煩。對於一個虛擬的應用程序,某程序從堆存儲塊中申請512KB大小的堆,而另一個程序可能會在相同時間申請從1MB堆塊中獲得32字節的堆。隨着程序運行,第一個程序獲得512KB並調用另外那個獲得32字節的程序。當第一個程序試圖獲得512KB時,LE無法通過現有的塊滿足需求,而必須申請另外一個塊。這意味着有幾乎0,5MB的存儲沒有被使用。
在選擇初始堆和棧大小時,先研究應用程序行為。同樣為CICS在每個用户存儲分段的開頭與結尾設置8字節“崩潰區”。一個4-K IBM LE事務請求(GETMAIN)實際佔用4,112字節,這將導致CICS存儲碎片。堆CICS來説,使用4,080字節,非常適合一個4-K頁。LE同樣使用一些新的存儲用來滿足自己使用控制,這也進一步降低了留給程序的可用空間。

大型機成果展示

第一個採用集成電路工藝的IBM360
1958年,IBM發佈第一台全部採用晶體管制造的計算機RCA501。1959年,IBM公司相繼推出了7070、7090等大型晶體管計算機和I401、I620等中小型晶體管計算機。1964年,IBM再接再厲,研製成功世界上第一個採用集成電路工藝的IBM360系列計算機。如圖1所示。
圖1 圖1
這一時期的計算機費用昂貴,基本上只能為國防、金融、交通、能源等國家部門和支柱產業提供數據處理服務。例如IBM360的研製成本高達50億美元,甚至是第一顆原子彈造價 的2.5倍。
為了解決這個問題,當時的學者提出了效用計算(utility computing)的概念,其思想淵源來自於電力行業。當白熾燈和發電機問世之後,雖然理論上家家户户都可以實現照明瞭,但是這需要各家各户都要配置並維護一台發電機,顯然無論在經濟上還是技術上都是不可行的。為此,科學家和工程師們又相繼發明了發電廠、直流供電系統和交流供電系統,最終電廠和遠距離交流供電系統構成了電力行業的核心技術並延續至今。
今天我們打開電燈照明或者啓動空調取暖時,並不關心其背後是哪個發電廠提供的電力能源,只要按照每月電錶的讀數按時繳納用電費用就可以享受電力帶來的服務了。除了電力,我們日常生活中經常用到的管道煤氣、自來水、固定電話等公共服務都採用了這種方式,那麼計算服務或者按今天的話來説信息技術服務能否按照這種方式發展呢?這就是效用計算的理念。
為了使得一台大型機能夠同時為多個客户提供服務,IBM公司在軟件上採用了分時複用和虛擬化的設計思想,使得多個客户在同時使用同一台大型機時,就好像將其分割成了多個小型化的虛擬主機,這其實就是效用計算的雛形。
參考資料
  • 1.    宋迪.大型機:雲時代再放活力[J].中國傳媒科技,2012,(第C1期).