Algirdas Avizienis是fault tolerance概念的创始者,他为了让人们更好的去理解高可信系统(High-confidence Systems),提出了一个基于人类免疫系统(the immune system)的概念模型。这里的介绍来自他的一篇论文Toward SystematicDesign of FaultTolerant Systems, 希望能在一种随意的氛围中介绍fault tolerance并激发我们做出更好方案的灵感。
计算机硬件(如微处理器)类比于人的身体(body),而人体所支撑的感知处理(cognitive processes)类比于计算机软件。人会生病,这时身体会产生疼痛感,这个过程类比于硬件上出错的信息被软件捕获,人会采取药物或物理治疗,而计算机软件则会做出相应的错误处理(比如,重启)。可是人的感知会让人采取许多不同的措施去治好病,这不同于目前计算机在软件层面的有限举措(往往是重启或冗余)。基于免疫系统和人的感知处理疾病的多样性,Algirdas Avizienis设想软硬件设计的多样性会有助于容忍错误。其实我个人在想,人无法改变自己的免疫系统,而我们却可以在硬件层面进行容错设计,人的感知往往是治好疾病的关键,而从软件层面实现高可信计算,除了奇偶校验、ECC、冗余替换、重启等,往往还是捉襟见肘,尤其在近阈值电压计算(Near-threshold Computing)环境下,光从软件层面已经远远不够了。