目前,IT技术的发展日新月异,传统的计算模式已经越来越难适应当今大数据的处理以及各类工程或科学计算任务。事实上,伴随着计算机的逐步普及和半导体技术的不断进步,计算模式已经经历了几次大的变革,把这些变革总结归纳,主要包括4个阶段,即字符哑终端一主机、客户一服务器、集群计算和云计算。
1.字符哑终端一一主机
随着1964年第一台基于集成电路的通用电子计算机IBM 360问世,20世纪60~70年代,计算环境主要是主机(大型机)环境,字符哑终端一一主机成为主要的计算模式。这种计算环境主要由一台功能强大、允许多用户连接的主机(大型机)组成,它不具备客户端。多个哑终端通过网络连接到主机,并可以与主机进行通信。哑终端—般只是主机的扩展,用户从终端键盘输入的信息被传到主机,然后由主机将执行的结果以字符方式返回到终端上。哑终端上没有任何程序和数据,所有的程序和数据都集中在主机上,并在主机上运行。主机处理多个用户发出的指令时,处理的方案一般为分时,即计算机把它的运行时间分为多个时间段,并且将这些时间段平均分配给用户指定的任务,轮流地为每一个任务运行一定的时间,如此循环,直至完成所有任务。
“字符哑终端一一主机”是一种集中式的计算模式,可以实现集中管理,安全性也较好,但是,由于集中式的通信,很多任务如字处理软件的使用等就无法与主机进行交互。
2.客户一一服务器
集成电路的快速发展极大地降低了计算机的生产成本,从20世纪70年代末开始,计算机逐步进入家用市场。到了20世纪90年代,个人计算机开始普及,并且形成了相对统一的计算机操作系统,有了方便的计算机软件编程语言和工具。但是,由于个人计算机的计算和存储能力有限,仍有一些计算任务无法在单台个人计算机上完成。为此,“客户一一服务器”的计算模式逐渐兴起,它允许应用程序分别在客户工作站和服务器上执行。客户工作站向服务器发送处理请求,而服务器处理结束后返回处理结果给客户工作站。
在分布式系统的发展历程中,“客户一一服务器”模式扮演了重要角色。20世纪90年代,随着个人计算机的兴起,客户端的处理能力不断增强,促进了这一计算模式的快速发展。在这一模式中,客户端负责应用的呈现,服务器处理应用的逻辑并承担资源管理的任务。这种计算模式的好处是可以利用客户机的处理能力,降低服务器的运算负担,同时也使得针对不同个性的用户呈现不同的界面内容成为可能。然而,这种计算模式往往会造成客户瑞和服务器之间耦合紧密,可伸缩性差,服务器往往成为处理瓶颈。此外,一旦应用环境发生变化,需要改变业务逻辑,一般每个客户端的程序都要进行更新,给系统的维护和管理造成一定的困难。
3.集群计算
“客户一一服务器”计算模式可以将在单台个人计算机上无法完成的计算任务交给服务器协同来完成。但是,很多计算任务并不是单台普通的服务器能够完成的。这时,除了采用更高性能的计算机作为服务器之外,性价比更高的办法是采用计算机集群。尤其是近年来随着硬件能力激增、成本大幅下降,使得通过在电力、能源等较为便宜的地方将硬件设备集中起来实现规模效应成为可能。一些有研发实力的机构或组织开始使用大量廉价的个人计算机或普通服务器来建立集群,从而实现大规模数据中心的功能。
计算机集群通过将一维松散的计算机软件和硬件连接起来,高度紧密地协作完成大型计算工作。集群系统中的单个计算机通常被称为节点,一般通过局域网连接。在某种意义上,它们可以被看作一台计算机。然而,由个人计算机或普通服务器构成的大规模集群面临很多具有挑战性的问题,如可用性和可靠性保障。目前,一台个人计算机或普通服务器的平均无故障运行时间一般是几年,而用几千台个人计算机或普通服务器构成的集群平均几个小时就会有一个节点出现故障。这些问题对集群体系结构、硬件和系统软件设计等都提出了新的挑战。
4.云计算
集群计算将计算资源整合在一起,21世纪初,人们开始研究如何更加合理、高效地利用这样的计算资源,并以服务形式对外共享这些资源。“云计算”便在这样的思想中诞生,它是近十年来在IT领域出现并飞速发展的新技术之一。对于云计算中的“计算”一词大家并不陌生,而对于云计算中的“云”我们可以理解为一种提供资源的方式,或者说,提供资源的硬件和软件系统被统称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取、按需使用、随时扩展、按使用付费。“云计算”模式的出现是对计算资源使用方式的一种巨大的变革,有人打了个比方,从传统计算转向云计算就好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便、费用低廉。最大的不同在于,它是通过互联网进行传输的。所以对于云计算,我们可以初步理解为通过网络随时随地获取到特定的计算资源。
1.1 计算模式的演变