AAU Student Projects - visit Aalborg University's student projects portal
A master's thesis from Aalborg University
Book cover


Black One Sugar: A Fault Tolerant Virtual Machine

Translated title

Black One Sugar: En Fejl Tolerant Virtuel Maskine

Authors

;

Term

4. term

Education

Publication year

2014

Submitted on

Pages

85

Abstract

This thesis addresses the increasing vulnerability to single-event upsets as transistor sizes shrink and radiation exposure rises, particularly in space. It presents the design and implementation of a software-only, fault-tolerant virtual machine aimed at high availability, guided by formal semantics for both the language and an explicit fault model. The approach integrates established techniques: Hamming codes for error detection/correction, AN-codes to protect stored values, increased Hamming distance for instruction opcodes, and integrity checks for metadata and computed values. These techniques are selected based on prior analysis and inserted at well-defined points in the VM. Three versions of the system are implemented and compared to assess runtime overhead. In addition, an aspect-oriented fault injection framework is developed to introduce faults at predefined locations for systematic evaluation of resilience. The thesis outlines the benchmarking setup, reports observed behavior under injected faults and performance costs, discusses results and limitations, and proposes improvements and directions for future work.

Denne afhandling adresserer den stigende sårbarhed over for enkeltstående hændelsesfejl (single-event upsets), som opstår i takt med mindre transistorer og højere strålingsniveauer, især i rummet. Vi beskriver design og implementering af en software-baseret, fejltolerant virtuel maskine med målet om høj tilgængelighed, styret af formelle semantikker for både sproget og et eksplicit fejlmodel. Fejltolerancen bygger på velkendte teknikker: Hamming-koder til fejldetektion/-korrektion, AN-koder til at beskytte lagrede værdier, øget Hamming-afstand for instruktioners opkoder samt integritetskontrol af meta-data og beregnede værdier. Teknikkerne er udvalgt på baggrund af tidligere analyse og integreret i nøje afgrænsede områder af den virtuelle maskine. Vi implementerer tre versioner af systemet og sammenligner dem for at måle kørselsoverhead. Derudover udvikles et fejlindsprøjtningsframework baseret på aspektorienteret programmering, som kan injicere fejl i foruddefinerede punkter for systematisk at evaluere robusthed. Afhandlingen præsenterer testopsætning og benchmarks, gennemgår observeret adfærd under indsprøjtede fejl og driftsomkostninger, diskuterer resultater og begrænsninger og skitserer forslag til forbedringer og fremtidigt arbejde.

[This apstract has been generated with the help of AI directly from the project full text]