最近我 Google 了很多关于 PC 服务器和小型机的文章,对于两者之间的区别也有了清晰的认识。在英文里这两位都叫 Server(服务器),小型机是国内的习惯称呼。什么是服务器呢?从理论定义来看,服务器是网络环境中的高性能计算机,它侦听网络上其它计算机(客户机)提交的服务请求,并提供相应的服务。为此,服务器必须具有承担服务并且保障服务质量的能力。
但是这样来解释仍然显得较为深奥模糊,其实服务器与个人电脑的功能相类似,均是帮助人类处理信息的工具,只是二者的定位不同,个人电脑(简称为 Personal Computer,PC)是为满足个人的多功能需要而设计的,而服务器是为满足众多用户同时在其上处理数据而设计的。而多人如何同时使用同一台服务器呢?这只能通过网络互联,来帮助达到这一共同使用的目的。
我们再来看服务器的功能,服务器可以用来搭建网页服务(我们平常上网所看到的网页页面的数据就是存储在服务器上供人访问的)、邮件服务(我们发的所有电子邮件都需要经过服务器的处理、发送与接收)、文件共享&打印共享服务、数据库服务等。而这所有的应用都有一个共同的特点,他们面向的都不是一个人,而是众多的人,同时处理的是众多的数据。所以服务器与网络是密不可分的。可以说离开了网络,就没有服务器;服务器是为提供服务而生,只有在网络环境下它才有存在的价值。而个人电脑完全可以在单机的情况下完成主人的数据处理任务。
下面我来总结一下 PC 服务器和小型机之间的区别:
PC 服务器则主要指基于 Intel 处理器的架构,是一个通用开放的系统。 而不同品牌的小型机架构大不相同,使用 RISC、MIPS 处理器,像美国 Sun、日本 Fujitsu 等公司的小型机是基于 SPARC 处理器架构,而美国 HP 公司的则是基于 PA-RISC 架构,Compaq 公司是 Alpha 架构,IBM 和 SGI 等的也都各不相同;I/O 总线也不相同,Fujitsu 是 PCI,Sun 是 SBus,等等,这就意味着各公司小型机机器上的插卡,如网卡、显示卡、SCSI 卡等可能也是专用的;
小型机操作系统一般是基于 Unix 操作系统的,像 Sun、Fujitsu 是用 Sun solaris,HP 是用 HP-UX,IBM 是 AIX,等等,所以小型机是封闭专用的计算机系统。使用小型机的用户一般是看中 Unix 操作系统的安全性、可靠性和专用服务器的高速运算能力,虽然小型机的价格是 PC 服务器的好几倍。
PC 服务器一般用的操作系统是安全性、可靠性稍差的 Windows Server 系列。另外,PC 服务器还可以支持现在流行的 Linux、SCO UNIX、Solaris for x86 等 Unix 操作系统,对于文件和打印服务器 Novell NetWare 操作系统也是一个不错的选择。相对而言,PC 服务器具有较高的性能价格比,通用性是其最大的一个优点,会使用 PC 机就可以很容易地使用 PC 服务器,它的硬件结构与 PC 机差不多,用户心里有底;它的操作系统一般是 Windows Server,又对用惯 Windows 的用户来说容易掌握,而且应用软件也更丰富。另外,价格便宜也是 PC 服务器的优势,价位处于 PC 机与昂贵的小型机之间,具有最佳的性能价格比。(注意:PC Server 跟 PC 机是不同的概念。)
CISC 架构主要指的是采用英特尔架构技术的服务器,即我们常说的“PC 服务器”; RISC 架构的服务器指采用非英特尔架构技术的服务器,如采用 Power PC、Alpha、PA-RISC、SPARC 等 RISC CPU 的服务器。
CISC 是英文“Complex Instruction Set Computer”的缩写,中文意思是“复杂指令集”,它是指英特尔生产的 x86(Intel CPU 的一种命名规范)系列 CPU 及其兼容 CPU(其他厂商如 AMD,VIA 等生产的 CPU),它基于 PC 机(个人电脑)体系结构。。CISC 代表性是大家非常了解的 x86,这类处理器是非常典型的,它的特点是主频非常高,但是效率非常低,散热量非常大。CISC 型 CPU 目前主要有 Intel 的服务器 CPU 和 AMD 的服务器 CPU 两类。
RISC 是英文“Reduced Instruction Set Computing ” 的缩写,中文意思是“精简指令集”。它是在 CISC(Complex Instruction Set Computer)指令系统基础上发展起来的,相对于 CISC 型 CPU ,RISC 型 CPU 不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,架构在同等频率下,采用 RISC 架构的 CPU 比 CISC 架构的 CPU 性能高很多,这是由 CPU 的技术特征决定的。RISC 型 CPU 与 Intel 和 AMD 的 CPU 在软件和硬件上都不兼容。
RISC 和 CISC 两种架构,设计的理念完全不同,所以中间的主频没有任何可比性,最重要看实际的性能。
非 x86 服务器:包括大型机、小型机和 UNIX 服务器,它们是使用 RISC(精简指令集)或 EPIC 处理器,并且主要采用 UNIX 和其它专用操作系统的服务器,精简指令集处理器主要有 IBM 公司的 POWER 和 Power PC 处理器,SUN 与富士通公司合作研发的 SPARC 处理器、EPIC 处理器主要是 HP 与 Intel 合作研发的安腾处理器等。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统中。
x86 服务器:又称 CISC(复杂指令集)架构服务器,即通常所讲的 PC 服务器,它是基于 PC 机体系结构,使用 Intel 或其它兼容 x86 指令集的处理器芯片和 Windows 操作系统的服务器,如 IBM 的 System x 系列服务器、HP 的 Proliant 系列服务器等。 价格便宜、兼容性好、稳定性差、不安全,主要用在中小企业和非关键业务中。
从当前的网络发展状况看,以“小、巧、稳”为特点的 x86 架构的 PC 服务器得到了更为广泛的应用。
在低端市场,小型机完全处于劣势,但是到了高端,形势开始逆转,只有小型机才能负担得起繁重的处理任务(当然还有 Mainframe 大型机)。
如果是单一 CPU,PC 服务器所用的 Intel Xeon 或者 AMD Opteron 并不比小型机所使用的 CPU 性能差。但是在 PC 服务器上发布的操作系统最多支持16颗 CPU(最新的一些操作系统也可以支持更多的 CPU,甚至于 UNIX 达到相同的支持度)。
与此对比,在小型机上,一台机器集成的 CPU 总数已经达到了几十到几百颗。尽管当CPU增加后,处理能力不能完全实现线性增长,但毋庸置疑,在相近主频和制造工艺、技术的情况下,80个CPU比8个CPU总要快得多。
不仅仅是硬件处理能力,操作系统自身的管理能力很重要,能够将数十个 CPU 充分调动起来,发挥每颗 CPU 的能力,本身就需要非常复杂的技术。另外,操作系统还要对一些内存的进程进行管理,如果某个进程有问题(例如死循环),可能会把系统的资源耗尽。UNIX 在设计之初就是为了更好地协调多用户、多进程之间调度而设计的,通常可以更好的控制这些耗资源的进程,在各个进程之间合理地分配 CPU 处理能力。最后,UNIX 一般也不提供很复杂的多媒体、图形界面,而这些绚丽的用户界面确是 CPU 和内存消耗的大户。
处理能力强不仅仅靠 CPU,CPU 仅代表计算能力,CPU 还需要 I/O 支持,如果机器不能及时接受请求,计算完成后无法返回结果、不能保存,计算能力再强也无用武之地,或只能用于特定的计算领域。一般小型机体系设计最多都可以支持一百个以上的 I/O 通道卡,可以提供足够的带宽将处理结果从网络发送出去或者保存到磁盘,同时还能够接受新任务。几乎没有哪个 PC 服务器插了10块以上的 I/O 卡,当业务量大的时候,及时 CPU 忙得开,I/O 也处理不来。
并不是随随便便就可以增加处理卡数量的,I/O 控制器,总线带宽制约了可以插接的 I/O 卡、内存和 CPU 的数量。因此小型机往往采用特殊的技术,来实现近乎疯狂的扩展能力。与之对比,PC 和PC 服务器则更多的考虑兼容性的问题,可以插接各种第三方的接口卡,看重种类而不是数量,因此在接口上就不能采用很特殊的技术,要大众化,要兼容,性能自然大打折扣。这些兼容卡也是的硬件设备和操作系统更难以保证稳定可靠。通常小型机的接口卡种类也不算少,但与 PC 相比,则几乎都是各自生产自己的接口卡,经过整体长时间测试后才能出厂,因此可靠性比较好。PC 则不然,采用大家遵守同一标准的设计、生产方式生产,各自测试自己的稳定性,互联测试也以兼容性和性能为主,稳定性只要不太差,都可以接受。
由于小型机性能,可靠性和扩展性的原因,更多地被用在一些要求苛刻的商业环境里,例如银行、通信的计费、账务部门,生产流水线控制。在这些领域,要求7*24小时连续运行,单机达到全年99.9%以上的可用性(全年累计停机时间不超过50小时,包括计划内的检修和计划外的设备故障)双机达到99.99%(全年53分钟以内的业务中断时间)。