一台叫Harvest的计算机,冷战期间给NSA破译密码用了14年,官方说法是它比同期计算机快200倍。这个数字被反复引用了六十多年,但翻一遍解密档案会发现,"200倍"从来不是全面结论——它只是某一类任务在最理想情况下的峰值,换成排序这种日常工作,提速缩水到50到100倍,某些场景甚至只有2倍。传奇讲了一半,剩下一半是延期超支的工程窘境。
机器长什么样
IBM在1958年拿下NSA合同,交付一套组合系统:通用主机Stretch(IBM 7030)做前端,后面挂一个专为密码分析定制的流处理协处理器,外加一套自动化磁带库Tractor。整套系统官方编号IBM 7950,1962年交付,一路运转到1976年——横跨古巴导弹危机、越战和赫尔辛基协议。
协处理器不是通用CPU,它只认一套固定流程,让数据流P和Q从内存里连续淌过,逐字节比对、查表、运算,结果写成第三条流R。内存按位寻址,不受字节边界束缚,这在当时相当罕见。Tractor磁带库能自动调取近480盘磁带,免去人工换带,是已知最早的全自动磁带库之一。这套"通用机+专用加速器"的搭法,今天回头看很像CPU外挂GPU的路数,只是早了半个多世纪。
"快200倍"经不起细看
这句话最早出自NSA 1957年的内部性能评估,原意是"针对某个代表性问题最高可达200倍",而不是全面碾压。评估写得很清楚:提速幅度因任务类型浮动,区间是2倍到200倍;放到排序这种常规工作上,相对老式的IBM 705,提升幅度只有50到100倍。
外界记住的永远是最大的那个数字。一句"快200倍"比一句"部分任务快2到200倍不等"好传播得多。两者之间的落差,恰好说明了保密机构对外叙事的惯常做法:留下最亮的数字,模糊掉修饰它的那句限定语。
传奇背后是延期和超支
解密档案里还有一段公众叙事很少提的内容:Harvest交付延迟约15个月,成本超支约32%,而它最初设计要具备的多道程序处理能力,从头到尾都没实现过。
"It's beautiful, but it doesn't work"——NSA员工参观时的调侃
这句吐槽某种程度上比后来所有的技术总结都诚实。一台耗资巨大、延期超支、核心设计目标没达成的机器,靠什么撑了14年?答案大概率不是性能碾压,而是它确实解决了当时无可替代的问题——批量处理海量截获电文这件事,NSA手里没有更好的选择。稀缺性,比参数更能决定一台机器的寿命。
退役不是因为过时,是零件没了
Harvest没有被更快的机器淘汰,它是被自己的磁带库拖垮的。据参与项目的IBM工程师Fran Allen回忆,Tractor系统里有个机械部件到后期已经没法再制造或替换,这直接导致了1976年的退役。技术生命结束的方式,往往不是理念过时,而是某个具体零件停产。
- 提醒.越是独一无二的定制系统,越依赖一条脆弱、不可替代的供应链
另一处细节也值得记一笔。IBM为Harvest专门开发的编程语言Alpha,官方手册说这是缩写,但Allen本人在口述历史里说,这个名字其实没有缩写含义。两种说法都留在史料里。连Tractor磁带库的容量,NSA档案说是440亿字符,史密森尼博物馆的记录写的是600亿——解密档案不是铁板一块的真相仓库,它自己内部也在打架。
一台机器,两种讲法
Harvest值得被记住,不是因为它证明了专用硬件永远吊打通用计算,而是因为它同时摆出了两件互相矛盾的事:定制加速架构确实能在特定任务上把性能拉到通用机器够不着的地方,这种定制也天然带着延期、超支和单点故障的代价。今天的AI加速芯片走的仍是同一条路——用专用换效率,拿通用性和维护性去抵押。
《左传》说"其兴也勃焉,其亡也忽焉",Harvest的忽然停摆印证的其实是更朴素的一条:再厉害的系统,也拗不过一个造不出来的零件。
