网站地图
大型机

大型机,或者称大型主机,英文名mainframe。大型机使用专用的处理器指令集、操作系统和应用软件。大型机一词,最初是指装在非常大的带框铁盒子里的大型计算机系统,以用来同小一些的迷你机和微型机有所区别。大多数时候它却是指system/360 开始的一系列的IBM计算机。这个词也可以用来指由其他厂商,如Amdahl, Hitachi Data Systems (HDS) 制造的兼容的系统。有些人用这个词来指IBM的AS/400 或者iSeries 系统,这种用法是不恰当的;因为即使IBM自己也只把这些系列的机器看作中等型号的服务器,而不是大型机。 [1]

80年代以来,网络化和微型化的日趋明显,传统的集中式处理和主机/哑终端模式越来越不能适应人们的需求,在这种情况下,传统的大型机和小型机都陷入了危机。为了应对危机,一些大型机和小型机改变了原先的一些功能和模式,加入以C/S模式为特点的服务器阵营,重新适应了人们的需求。 在微型计算机、UNIX服务器、集群技术、工作站的冲击下,不能适应这种变化的传统小型机已经淘汰,而IBM大型主机却长盛不衰,这其中主要的原因是:RAS(Reliability, Availability, Serviceability 高可靠性、高可用性、高服务性),I/O处理能力以及ISA。

今日而言,大型主机在MIPS(每秒百万指令数)已经不及微型计算机(microcomputer),但是它的I/O能力、非数值计算能力、稳定性、安全性却是微型计算机所望尘莫及的。

大型主机和超级计算机(旧称巨型机)的主要区别:

大型主机使用专用指令系统和操作系统,超级计算机使用通用处理器及UNIX或类UNIX操作系统(如linux)。

大型主机长于非数值计算(数据处理),超级计算机长于数值计算(科学计算)。

大型主机主要用于商业领域,如银行和电信,而超级计算机用于尖端科学领域,特别是国防领域。

大型主机大量使用冗余等技术确保其安全性及稳定性,所以内部结构通常有两套。而超级计算机使用大量处理器,通常由多个机柜组成。

为了确保兼容性,大型主机的部分技术较为保守。

生产大型主机的企业有IBM和UNISYS。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 IBM360

这一时期的计算机费用昂贵,基本上只能为国防、金融、交通、能源等国家部门和支柱产业提供数据处理服务。例如IBM360的研制成本高达50亿美元,甚至是第一颗原子弹造价 的2.5倍。

为了解决这个问题,当时的学者提出了效用计算(utility computing)的概念,其思想渊源来自于电力行业。当白炽灯和发电机问世之后,虽然理论上家家户户都可以实现照明了,但是这需要各家各户都要配置并维护一台发电机,显然无论在经济上还是技术上都是不可行的。为此,科学家和工程师们又相继发明了发电厂、直流供电系统和交流供电系统,最终电厂和远距离交流供电系统构成了电力行业的核心技术并延续至今。

今天我们打开电灯照明或者启动空调取暖时,并不关心其背后是哪个发电厂提供的电力能源,只要按照每月电表的读数按时缴纳用电费用就可以享受电力带来的服务了。除了电力,我们日常生活中经常用到的管道煤气、自来水、固定电话等公共服务都采用了这种方式,那么计算服务或者按今天的话来说信息技术服务能否按照这种方式发展呢?这就是效用计算的理念。

为了使得一台大型机能够同时为多个客户提供服务,IBM公司在软件上采用了分时复用和虚拟化的设计思想,使得多个客户在同时使用同一台大型机时,就好像将其分割成了多个小型化的虚拟主机,这其实就是效用计算的雏形。


相关文章推荐:
操作系统 | 应用软件 | IBM | 服务器 | 小型机 | 微型计算机 | 工作站 | 指令 | 巨型机 | 处理器 | UNIX操作系统 | 冗余 | IBM | UNISYS | CPU | CICS |
相关词汇词典