本文以《数字系统的诊断与容错》一书的合作故事为引,回顾了哈尔滨工业大学在陈光熙先生带领下,于20世纪70年代克服极端困难,成功研制中国首台容错计算机RCJ-1的艰辛历程。文章生动讲述了“部件级协同冗余”与“运算过程奇偶检测”两大核心创新的诞生,彰显了老一辈科学家“规格严格、功夫到家、求实创新、探索进取、诲人不倦、甘为人梯”的“光熙精神”的崇高境界与深远影响。
一本书与一位领路人
在哈尔滨工业大学(以下简称哈工大)计算机专业的发展历程中,有一段关于“一本书”的佳话,它不仅记录了一段学术合作的典范,更生动映照出陈光熙先生(1903—1992年)崇高的人格魅力与“光熙精神”的真谛。这本书,便是我国容错计算领域的开山之作——《数字系统的诊断与容错》。
20世纪70年代末,哈工大承担了编写中国首部容错计算教材的重任。在接到任务后,陈光熙先生深知责任重大,须集众家之长,便诚挚邀请重庆大学的故障诊断专家陈廷槐先生共同执笔。彼时已年过半百的陈廷槐先生欣然应允。从山城重庆到冰城哈尔滨,在那个交通不便的年代,每次旅程都是一次远征:需先辗转四十余小时到北京,再换乘二十多小时列车北上,全程长达六十多小时。车厢拥挤,旅途孤寂,南北气候迥异,对一位年长学者而言,是体力与意志的巨大考验。但怀揣着对学术的赤诚,陈廷槐先生数次北上,毫无怨言,其不畏艰辛、执着求真的风骨令人动容。
陈光熙先生对远道而来的老友关怀备至。他深知南方学者对北国严寒的不适,每次都会嘱咐当时年轻的我(陈先生坚持尊称我为“杨老师”):“杨老师,你务必亲自到站台迎接陈(廷槐)先生,悄悄留意他衣裳的厚薄,南方人易低估北地的寒冷啊!”这份细致入微的体贴,远超寻常礼节。他安排陈廷槐先生下榻当时哈尔滨待客规格最高的住处——马迭尔宾馆,并常亲自前去探望。两位先生在温暖的房间里品茗深谈,字斟句酌地讨论书稿。陈廷槐先生工于诗词,别后常寄诗抒怀,陈光熙先生收到后总是欣喜不已,常唤我一同欣赏,分享这份跨越山水的知音情谊。更令人动容的是,陈光熙先生曾指着珍藏的一瓶茅台酒说:“这酒我舍不得喝,留着等陈廷槐老师再来时,请他品尝,他喜欢喝酒。”这份对友人喜好的默默记挂,将他的真诚与温暖展现得淋漓尽致。
图 1 《数字系统的诊断与容错》
书稿完成后,在署名顺序上发生了一场“谦让”。陈光熙先生坚持陈廷槐先生付出辛劳且“诊断”是基础,应署名在前;陈廷槐先生则力陈陈光熙是项目主导者,理当居首。相持不下之际,陈光熙先生巧妙地问起:“陈老师,容错系统的工作流程,理应是先诊断故障,再启动容错机制吧?”在得到肯定答复后,他笑道:“正是!‘诊断’在先,‘容错’在后。这书名既为《数字系统的诊断与容错》,署名自当是您在前,我在后了。”这番基于学术逻辑的巧妙化解,既体现了对合作者的真心推重,也展现了其淡泊名利、成人之美的高尚情操。1981年6月,这本由“重庆大学陈廷槐,哈尔滨工业大学陈光熙”署名的著作正式出版,成为矗立在中国容错计算学术史上的一座丰碑。
陈光熙先生正是这样一位将人格魅力融入学术事业的领路人。作为我国计算机界的奠基人之一、哈工大的前副校长,他是哈工大容错计算机事业当之无愧的核心。他的科研生涯,始终与国家命运紧密相连。青年时代,他胸怀“实业救国”“科学救国”之志,与周恩来、邓小平等老一辈革命家同一时期远赴欧洲勤工俭学。在长达十年的异国岁月中,他以超常毅力刻苦攻读,先后修完5个专业,获得3个工程师证书。亲身经历了中华人民共和国成立前的积贫积弱,他更加坚定了追随中国共产党、以科技报国的信念。1957年,时年54岁的陈光熙先生,响应国家号召和哈工大校长李昌的邀请,毅然放弃北京优渥的生活条件,携全家来到全然陌生的北国冰城哈尔滨,投身于中国计算机事业的拓荒。
在哈工大的35年间,陈光熙先生白手起家,创建了国内最早的计算机专业之一,并率先培养中国计算机专业的本科生与研究生。55岁时,他带领团队研制成功我国第一台能说话会下棋的数字计算机;62岁时,研制成国际领先的微小型磁芯存储器;在哈工大南迁、条件极端困难的背景下,76岁已逾古稀之年的陈先生带领留守团队成功调试完成了国内最早的容错计算机——RCJ-1。这一系列开创性成就,为国家计算机科学与技术的发展奠定了重要基石。
1985年,全国首届容错学术会议在北京召开。彼时已年逾八旬且身体抱恙的陈光熙先生,怀着对事业的使命感与对后辈的期望,坚持亲赴会场。他的莅临令全场轰动。这次会议为国内容错计算领域搭建了首个高水平学术交流平台,奠定了中国容错学术共同体的坚实基础。
陈光熙先生常说:“我愿做一块垫脚石,让年轻人踏着我的肩膀去攀登科学高峰。”他进一步阐释:“这垫脚石好比摘桃子。我要做一块又高又牢的垫脚石,打好基础,让年轻人能把桃子摘下来。”他始终将培养后学视为己任,倾囊相授,并尤为重视“做人”的根本,强调“我教你做事,要先教你做人”,要求学生“诚实守信、宽人严己、己所不欲勿施于人”。他与陈廷槐先生合作著书时展现的谦逊、关怀与智慧,也是“光熙精神”的生动体现,至今仍深深滋养着哈工大计算机人的心灵。
中国首台容错计算机的诞生之路
哈工大容错计算机的历史,始于1973年。彼时,计算机技术在国内方兴未艾,而“容错”的概念更是闻所未闻。然而,领路人陈光熙先生以其非凡的远见,洞察到一个核心矛盾:计算机系统规模日益庞大,软件日趋复杂,“不可能没有错”;但许多关键任务又要求它在故障发生时“必须给出正确结果”。他掷地有声地预言:“虽然现在看,不知道哪里急需用它,但将来容错计算机肯定会发挥很重要、很关键的作用。现在开始做,为时不算太早!”正是这份穿透时代的洞察力,促使哈工大在主管部门支持下,毅然开启了这项极具前瞻性的研制工作。项目获得约100万元的科研经费,这在当时是一笔巨款,也意味着沉甸甸的责任。
研制工作启动时,正值哈工大南迁重庆的动荡时期,留守人员不足、设备短缺、环境艰苦,在陈光熙先生的指导下,胡铭曾、李仲荣等老师带领着一批留守哈尔滨的年轻教师,从“部件级协同的双模冗余系统”这一创新理念出发,克服重重困难,完全自主设计,踏上了这条充满未知的科技长征。
图 2 在RCJ容错计算机前,陈光熙先生指导胡铭曾和李仲荣
“从零开始”的探索与无处不在的困境
最大的挑战源于“无先例可循”。没有国内外的成熟模型可供参考,团队完全凭借陈光熙先生提出的“容差”(后称容错)概念蓝图,从系统架构、电路逻辑设计到最底层的机器代码/汇编程序编写,进行着前所未有的自主创新。每一个环节都需要在一片空白中反复摸索、推演和验证。环境与设备的困境更是无处不在:
元器件的“带病上岗” 当时集成电路(integrated circuit, IC)技术方兴未艾,质量极不稳定。芯片提供单位甚至开玩笑说:“你们搞容错的还怕出错?”大量未经严格验证的微小型IC带着“先天缺陷”被焊入机器,导致调试工作沦为一场旷日持久的“芯片淘汰战”——团队不得不一遍又一遍地更换故障芯片,调试的核心精力被大量消耗在基础元器件的可靠性上。
“将就”的无奈与隐患 机架插件板的插接件簧片生产出现严重错位,无法正常拔插。时间紧迫,无法返工,团队只能“将就”——两人一组,一人打手电,另一人小心翼翼地对准位置,徒手硬插。这种权宜之计为后续调试埋下了巨大隐患,机器运行时常需“拍打”才能接触,增加了故障的不确定性。
“赘余”走线与隐形风险 除了结构上的错位,印刷电路板本身也存在“先天不足”。其布线工艺远非今日这般精准可靠,板子上时常出现多余的走线,极易引发信号间的短路、串扰等问题,给繁复的整机调试工作带来额外的困扰和不确定性。团队不得不投入大量精力,仔细核查每一块板子,识别并手工清除这些多余走线,才能确保基础电路的可靠。
管理与经验不足的“暗礁”与挑战
复杂精密的容错机,在构造初期缺乏严格的管理规范,人员操作(如焊接、调试)难免存在随意性,这导致了许多令人措手不及的“暗礁”。
令人崩溃的“幽灵故障” 某块电路板时好时坏,一拍就好,再拍就坏。团队耗时一周,经历了反复拔插,甚至将整板元器件烫下重焊,几乎陷入绝望。最终才发现:一个三极管管脚上的绝缘套管内部,隐藏着一根时断时连的断脚!这个因焊接前检查疏漏造成的微小缺陷,消耗了团队巨大的精力,也深刻教训了大家“功夫到家”必须落实到每一个细节。
人力与协作的极限挑战 为赶制机壳、机架和插件板,两个班级约50名工农兵学员与老师们一同驻扎抚顺电子仪器厂车间。午休时,旁边厂房的轰鸣成了催眠曲,疲惫到极点的师生们竟能在噪声中沉沉睡去,下午再继续奋战。这种超负荷的协作,是特殊年代集体力量的写照。
五年磨一剑:调试攻坚与最终胜利
所有这些困难,最终都汇聚到最艰巨的环节——整机调试。这场攻坚战整整持续了五年。在胡铭曾、李仲荣等老师带领下,陈景春、俞瑞芝、陈楚才、高明、杨孝宗等年轻教师和学生,实行三班倒,机器不停,人员轮转。
他们需要调试复杂的逻辑模块协同,确保系统整体功能正确。
他们需要反复验证双模冗余切换机制是否能在故障发生时无缝接管。
他们需要确保基于奇偶运算的故障检测能精准、实时地捕捉到运算过程中的错误信号。
他们遭遇了层出不穷的、有时甚至是匪夷所思的故障现象,从里到外摸透了这台机器的“五脏六腑”。每一次故障的定位与排除,都是对毅力与智慧的极致考验。
终于,在1979年,曙光刺破长夜。当这台凝聚着无数人心血的容错计算机RCJ-1,通过精心编写的机器代码驱动扬声器,奏响那曲清脆的《东方红》时,现场的兴奋之情无法言表!这一刻,不仅宣告了中国首台容错计算机的诞生,更是在特殊年代奏响了一曲自力更生、攻坚克难的科技强音。尽管它后来被评价为“毛病很多,是带着病工作的”,但它的成功运行本身,就是一个震撼性的里程碑,是“光熙精神”在极端条件下光辉实践的最佳证明。
智慧结晶:破局而立的双重创新
哈工大容错计算机RCJ-1的成功,绝非偶然,其核心在于两项极具原创性、影响深远的关键技术创新:“部件级协同的双模冗余系统”与“基于奇偶运算的全域故障检测方法”。它们如同精密的双翼,共同托起了中国容错计算的首次翱翔。
部件级协同的双模冗余系统
突破传统框架的桎梏
当时主流的容错方案是“系统级协同”(即整机备份切换,如同一人休息另一人顶上)。哈工大团队创造性地提出了“部件级协同”的革命性理念。其核心在于:将整个计算机系统精心划分为多个功能模块(如运算器、控制器、存储器等),为每个关键模块都配备一个结构、功能完全相同的“孪生兄弟”作为备份,并给每个部件装上“自检单元”,将故障定位在具体部件,并可实现部件级切换。
智能切换,精准容错的机制
系统运行的核心逻辑在于:当某个模块的自检单元发现自身出现故障时,它会立即主动休息,同时它的备份兄弟“上岗接班”。这实现了局部故障、局部容错。如同一个精密的有机体拥有两个大脑、两套心肺:若左侧大脑故障,右侧大脑可立即接替思考;若左侧肺叶受损,右侧肺叶仍能维持呼吸。只要同一器官的左右备份不同时失效,系统的核心功能就能持续运行。这种设计革命性地提升了系统的生存能力和任务连续性。
相较于系统级冗余的显著优势
资源利用更高效:只须备份关键模块,无需整台计算机冗余,大幅节省硬件成本。
故障定位更精准:问题能被迅速锁定到具体故障模块,便于维护。
容错响应更敏捷:模块级切换速度远快于整机切换,系统中断时间极短。
系统可靠性更高:单一模块故障不影响其他模块工作,且避免了系统级切换时可能出现的“双点故障”(切换瞬间两个系统均失效)风险。
基于奇偶运算的全域故障检测
直击运算可靠性的核心挑战
容错系统的根基在于可靠、实时地“感知”错误。当时,数据传输过程中的错误可通过成熟的奇偶校验技术检测。然而,一个更本质、更棘手的难题悬而未决:在计算机的算术运算(如加减乘除)和逻辑运算过程中,以及最核心的控制器模块工作过程中,如何实时、有效地检测其执行结果本身是否发生了错误?如果不能精准“诊断”运算过程中的错误,后续的“容错”机制便成了无源之水、无本之木。陈光熙先生深刻指出:“容错也好,容差也好,容的就是他(检测器)发出来的错误信号,这一点十分重要。……没有这个手段,你下一步怎么容错?”这直指故障检测是容错系统的生命线。
创新性解决方案:填补核心空白
陈光熙、胡铭曾、李仲荣等先生将奇偶校验的原理,深度融入了运算逻辑的核心层面,设计了一套精巧的并行机制:计算机在执行每一项算术或逻辑操作的同时,会并行执行一项基于相同操作数的“奇偶运算”。此运算独立于主运算逻辑,专门生成一个奇偶预测值。无故障情况下,主运算结果的奇偶性应与这个并行产生的“奇偶预测值”满足预设的数学关系。
由于控制器没有逻辑运算,也没有算术运算功能,几位先生采用微程序控制把控制过程变成数据顺序,创造性地解决了控制器的校验检测问题。
实时诊断,奠定容错基石
“运算”与“校验”双轨并行。一旦奇偶校验的结果与并行产生的奇偶预测值不符,故障检测机制会立即发出明确的错误警报信号,清晰地表明:“本次运算过程出现了偏差!”这为后续毫秒级启动纠错机制或无缝切换到冗余模块,提供了精确、可靠的触发依据。
这套方法突破性地将故障检测范围从数据传输扩展到了核心的运算单元,实现了对计算机“思维活动”(运算过程)的实时、有效监控。它为构建真正可靠的容错系统提供了坚实而普适的理论基础与实践方法,其原理可广泛应用于各类需要高可靠计算的场景。
思想之光与实践之果:双重创新的耦合与价值
“部件级协同的双模冗余系统”与“基于奇偶运算的全域故障检测方法”这两项创新紧密耦合、相互成就。
“部件级协同”提供了容错的架构框架和资源保障(冗余模块),定义了“在哪里容错”和“用什么容错”。
“基于奇偶运算的检测”则提供了精准触发容错动作的“神经末梢”和决策依据(错误信号),解决了“何时容错”和“因何容错”的核心问题。
它们共同构成了RCJ-1的核心技术骨架和独特竞争力。不仅让RCJ-1得以成功,更深远的意义在于为整个容错计算领域贡献了一种全新的、有效的设计范式,展现了哈工大团队从问题本质出发的原创精神和化繁为简的工程智慧。
容错计算技术的后续发展
哈工大容错计算机(RCJ-1)的艰难诞生与成功运行,不仅是中国在容错计算领域“零的突破”,更如同点亮了一盏明灯,照亮了后续探索的道路。在“光熙精神”感召下,哈工大计算机人持续深耕容错计算领域,取得了一系列突破性进展,同时为国家培养输送了一批又一批兼具深厚理论基础与卓越实践能力的科研骨干。这份精神,早已融入哈工大计算机人的血脉,成为推动我国计算机事业不断攀登高峰的永恒动力。
在容错计算机成功的基础上,哈工大团队创新性地同步研制了“故障注入器”这一关键评测工具。这项极具前瞻性的工作,源于陈光熙先生提出的如何科学评测容错能力的思考。故障注入器如同“矛”,能够精准模拟数字传输、存储、逻辑运算等环节中各种类型的故障;而容错计算机则是“盾”,负责检测、诊断并容忍这些注入的故障。这套工具能够主动地、精准地向系统注入各类模拟故障(如数据传输错误、存储位翻转、逻辑运算出错等),用以检验容错机制(“盾”)的有效性。这种“矛”“盾”兼备的独特能力,使得研究人员能够定量评估系统的容错极限与可靠性。哈工大是国内故障注入器研制的开创者,其技术长期保持独特优势。这一工具不仅为哈工大自身的容错研究提供了强大支撑,更被国内多家重要计算机系统评测单位(尤其是高可靠性领域)广泛采用,甚至在关键软件系统的评测中发现了致命隐患,为国家安全做出了直接贡献,其相关研究与应用至今仍在延续。
回首这段历程,陈光熙先生的远见卓识,胡铭曾、李仲荣等先生的实干担当,以及全体师生的智慧奉献,共同成就了哈工大的容错计算机事业。他们所彰显的“光熙精神”——规格严格、功夫到家、求实创新、探索进取、诲人不倦、甘为人梯——早已深深融入哈工大计算机人的血脉,成为推动一代代学子为国家科技自强而奋斗的永恒动力。
(本文系杨孝宗口述,哈工大FTCL团队成员整理,部分RCJ-1亲历者及尤为关心此文的老师们提供了宝贵意见,各方鼎力合作完成。)
杨孝宗
CCF高级会员、容错计算专委会资深委员,首届CCF容错计算终身成就奖获得者。哈尔滨工业大学教授。主要研究方向为计算机系统结构、容错计算技术、故障注入技术、可穿戴计算技术。xzyang@hit.edu.cn
本文发表于2026年第1期《计算》
点击“阅读原文”,加入CCF。
