谈到占据全球证券交易的96%,信用卡交易的66%,ATM交易的80%的NonStop系统包揽了服务器、OS、SQL数据库等等软硬件,然而很少有人知道NonStop始于20世纪70年代,而谈到NonStop,就不能不说NonStop的摇篮——Tandem(天腾)电脑公司。

  Tandem(天腾)电脑公司成立于1974年,由四个惠普公司的工程师创立,他们是:James Treybig , Mike Green, Jim Katzman, and Jack Loustaunou。

Tandem(天腾)电脑公司
Tandem(天腾)电脑公司 早期
Tandem(天腾)电脑公司
Tandem(天腾)电脑公司 晚期

  他们的商业计划要求的系统不会因为“单点故障”而宕机的 ,同时与同类非容错系统相比,仅仅略微贵一些。Tandem公司认为,这是非常重要的商业模式,限制了额外的费用很重要,因为客户往往制定程序解决故障时,容错硬件的价格太高。

Entrance to Tandem Computer Headquarters in Reston, September 1982.
Tandem 天腾电脑公司 1982年

  Tandem公司的第一个系统是Tandem/16或称为T/16 (后来成为NonStop I以及其后推出的继任者,NonStop II) 。该系统的设计是在1975年完成,并在1976年出售给花旗银行。

早期的NonStop服务器产品
早期的NonStop服务器产品

  Tandem/16(或称为NonStop I)由2至16个处理器组成,每个有着约0.7 MIPS的运算能力,在内存、 I / O总线,定制的跨CPU的计算总线与 Dynabus四个部分 实现双链接。这个创造了双链接的模块,使任何单一的总线故障(包括I / O和Dynabus)并不会影响系统,仍然可以自由的调用的其他模块。

深刻影响NonStop的HP 3000系统
深刻影响NonStop的HP 3000系统

  受HP3000的影响 ,首台NonStop使用的CPU是一个基于堆栈器的16位微程序处理器,可调用16位用户寻址空间。就像HP3000一样,NonStop的CPU增加了若干便于快速存取的注册表。

  Tandem NonStop服务器系列运行的是定制的操作系统,最初称为 T /TOS ( Tandem 操作系统 ) ,但很快更名为“守护者”。这个操作系统是支持的“ NonStop服务器”方案的范例,让每一个程序是实现完全容错。与其他几个公司的容错技术相比,但只有“守护者”完全支持万无一失的交易处理。妥善组建而成的“守护者”可以在任何宕机的时候没有任何数据丢失的恢复交易处理。

Tandem NonStop Logo
Tandem NonStop Logo

  当进入包括大型主机的常规系统时代,已将一年中平均故障间隔时间缩短成为几天,但 NonStop服务器系统的目的是将宕机的时间与运行时间相比缩减至100倍以下。尽管如此,与传统系统相比,NonStop服务器的设计是仍是有价格竞争力的。

  延续 NonStop I 的, NonStop II于1981年面世,0.8 MIPS的性能略有改善,但更多的可见的升级是内存,从I代最高每个CPU 1MB,升级为2 MB,并增设了一个更新的虚拟内存系统可以大大利用的地址空间。NonStop I仅能有限的使用4个虚拟内存部分(System Data, System Code, User Data, User Code),每个限定128 kB。

早期的Nonstop系统
早期的Nonstop系统

  1983年的 NonStop TXP系统,增加了一倍多的速度为2.0 MIPS,并增加了物理内存至8MB。这些系统同样的使用了Dynabus,源于NonStopI的超越性设计使NonStop在未来得以延续。

  新登场的NonStop TXP使用了全新的光纤总线系统—FOX。像CPU模块一样,“守护者”操作系统可以为整个工作组中的其他机器中进行容错处理。

  1986年进行重大升级的NonStop VLX系统发布,VLX使用新一代的Dynabus ,速率从13 Mbit/s增为至40 Mbit/s(共计20兆位/ s的独立总线)。他们还推出了FOX II ,使网络规模从1公里增加到4公里。

Dynabus示意图
Dynabus示意图

  与NonStop VLX 伴随推出的是NonStop CLX , 一个小型机尺寸的用于更小应用规模设施。 与较早的NonStop TXP相比,CLX拥有大致相同的性能,但小得多,也更便宜。在CLX生产历程中,这台系统提升了相当多的性能,并且形成与VLX的竞争,1991年的CLX 800相比VLX只有约20%的性能差距,其他主要区别是扩展能力比较有限。

  1986年Tandem(天腾)还推出了第一款容错SQL数据库—— NonStop SQL 。NonStop SQL包括了一些基于“守护者”的新功能 ,以确保跨越节点数据的有效性。 在节点增长数量与性能的线性指标上,NonStop SQL是相当领先的,而当时,大多数数据库往往在两个处理器时,性能已经趋向平稳。后继的版本发布于1989年,用于增值交易,在节点增加发方面,仍然在当时可圈可点。后来,SQL数据库组首次进入微软的SQL的发展计划。结果之一就是这种合作推动了微软的集群系统技术。

  NonStop Cyclone(NonStop暴风)于1989年发布,引入新的超标量 CPU设计。 尽管类似之前的系统,但快得多。总体来看NonStop暴风约是CLX 800 4倍性能。

  在1991年,Tandem发布了Cyclone/R和CLX/R ,基于MIPS R3000处理器 ,利用现有的RISC处理器来改进的成本和性能。前期就公布了软件模拟器和操作系统,这使得在Cyclone/R和CLX/R进入市场前编译器都已经就绪。静态对象代码编译程序可以接受较早基于堆栈的CPU设计和生产优化的MIPS代码。依靠独特的Tandem(天腾)架构,这些工具提供所有软件,包括程序的无缝迁移。这些运行真实并具有性能的软件模拟器意味着,不需要重新对程序员进行额外的培训,就进行调试。

1991年 NonStop引入MIPS R3000处理器
1991年 NonStop引入MIPS R3000处理器

  1993年,使用MIPS R4400处理器的NonStop Himalaya K(NonStop喜马拉雅K系列)系列交付使用。下一年,POSIX兼容环境、开放式系统服务(OSS)被加入操作系统。在提供和支持这两个新功能后,“守护者”操作系统被命名为NonStop内核(NSK)。

NonStop Himalaya K系列
NonStop Himalaya K系列

  在1997年Tandem发布了NonStop Himalaya (NonStop喜马拉雅)S系列。NonStop喜马拉雅S系列是NonStop家族中第一个改变了基本架构的系统,让I / O和跨处理器之间的通讯以新技术ServerNet进行互连。尽管Dynabus和FOX连线让CPU组合环网 ,但ServerNet是首个真正运行在更高速率下的点对点网络。ServerNet还被用在后来的InfiniBand行业标准。S系列机器继续使用MIPS处理器,包括R4400和R10000 。

NonStop Himalaya S系列
NonStop Himalaya S系列

NonStop使用的ServerNet示意图
NonStop使用的ServerNet示意图

  从使用MIPS处理器开始,NonStop所有的系统是基于商业微处理器,内部电路并不进行全面检查。为了保证正确的计算,每个逻辑处理器有两个微处理器进行作业同步 。如果结果出现不一致,则该处理器被认为是错误并立即停止。在这个时间点上“守护者”会将任务转移到另一个处理器,在以前的系统,保证错误数据不会写入并造成硬件错误。

  另外一种做法是用计算机家族,也就是Integrity产品线。这些计算机使用冗余的CPU运行相同的指令流。当检测到一个故障(例如,同步错误),失败的模块已停用,但多余的模块继续处理让指令流不中断。由于这主要是在硬件层面的处理,需要与略加修改的常规操作系统同时操作;为数据完整而需要使用Unix的变种:比如 NonStop UX操作系统,而不是“守护者”。

  Integrity产品线发布于1988年,显然是针对服务器的容错技术而开发,Tandem的一些Intergrity服务器还被卖给IBM重新标记为IBM System/88出售。虽然有别于NonStop服务器产品线,但其完整性的设计也是基于MIPS处理器。

  Integrity S4000在1995年发布,这也是Integrity产品线第一次使用ServerNet和走向硬件共享型设计的NonStop产品线。

  1997年Tandem(天腾)被康柏公司收购。2002年康柏又被惠普所收购了,这也将Tandem和NonStop带回起始的根源。

Compaq公司
Compaq公司

惠普公司
惠普公司

  自从被惠普收购后,Integrity产品线已经转向安腾处理器,也就是Integrity NonStop服务器。“Integrity(原意:诚信)”也成为所有惠普基于安腾的服务器的名称。

最新的Integrity NonStop刀片服务器
最新的Integrity NonStop刀片服务器

  原来的NSK操作系统,现在称之为NonStop OS,将继续作为基础软件环境的NonStop服务器,并已扩大到支持包括Java并结合像Visual Studio和 Eclipse等流行开发工具的通用软件平台 。