AN-Encoding Compiler: Building Safety-Critical Systems with Commodity Hardware Christof Fetzer, Ute Schiffel, and Martin S¨ ußkraut Technische Universt¨ at Dresden Department of Computer Science http://wwwse.inf.tu-dresden.de Dresden, Germany {firstname.lastname}@se.inf.tu-dresden.de Abstract. In the future, we expect commodity hardware to be used in safety-critical applications. However, in the future commodity hard- ware is expected to become less reliable and more susceptible to soft er- rors because of decreasing feature size and reduced power supply. Thus, software-implemented approaches to deal with unreliable hardware will be needed. To simplify the handling of value failures, we provide fail- ure virtualization in the sense that we transform arbitrary value failures caused by erroneous execution into fail-stop failures. The latter ones are easier to handle. Therefore, we use the arithmetic AN-code because it provides very good error detection capabilities. Arithmetic codes are suit- able for the protection of commodity hardware because guarantees can be provided independent of the executing hardware. This paper presents the encoding compiler EC-AN which applies AN-encoding to arbitrary programs. According to our knowledge, this is the first in software imple- mented complete AN-encoding. Former encoding compilers either encode only small parts of applications or trade-off safety to enable complete AN-encoding. 1 Introduction Historically, hardware reliability has been increasing with every new generation. However, one expects that in the future, decreasing feature size of hardware will not lead to more reliable but to less reliable hardware. Borkar in [8] impressively describes the effects of reduced feature sizes. Even today’s CPUs already have a variation in operating frequency of about 30% which is dealt with by using die binning. But this variability will increase further with decreasing feature sizes. Indeed, [16] shows that even today’s large computing systems—e. g., the Los Alamos Neutron Science Center—experience failures because of soft errors. The conclusion is that the uncontrollable variety of the production process will make processor designs more and more unpredictable. Furthermore, smaller transis- tors age faster and thus become faster unreliable and smaller features are more susceptible to soft errors since supply voltages decrease with decreasing feature