سند علمی

Lessons from FTM: An Experiment in Design and Implementation of a Low-Cost Fault-Tolerant System

چکیده

This report describes an experiment in the design of a general purpose fault tolerant system, FTM. The main objective of the FTM design was to implement a “low-cost” fault tolerant system that could be used on standard workstations. At the operating system level, our goal was to provide a methodology for the design of modular reliable operating systems, while offering fault tolerance transparency to user applications. In other words, porting an application to FTM had only to require compiling the source code without having to modify it. These objectives were achieved using the Mach micro-kernel and a modular set of reliable servers which implement application checkpoints and provide continuous system functions despite machine crashes. At the architectural level, our approach relies on a high performance stable storage implementation, called Stable Transactional Memory (STM), which can be implemented either by hardware or software. We first motivate our design choices, then we detail the FTM implementation at both architectural and operating system level. We comment on the reasons for the evolution of our stable memory technology from hardware to software. Finally, we present a performance evaluation of the FTM prototype. We conclude with lessons learned and give some assessments. Key-words: Fault Tolerance, Blocking Consistent Checkpointing, Stable Memory, Modular Operating System, Micro-kernel. Leçons du projet FTM : une expérimentation dans la conception d’un système tolérant les fautes de faible coût Résumé : Ce document présente une expérimentation dans la conception d’un système tolérant les fautes à vocation générale, le FTM. Notre motivation principale était la conception d’un système de faible coût pouvant être utilisé sur des stations de travail standard. En ce qui concerne le système d’exploitation, notre objectif était de développer une méthodologie de conception de systèmes d’exploitation fiables offrant la transparence de la tolérance aux fautes aux applications utilisateurs. Autrement dit, le portage d’une application sur FTM ne doit nécessiter que la compilation du logiciel source sans avoir à modifier ce dernier. Nos objectifs ont été atteints en utilisant le micro-noyau Mach et un ensemble modulaire de serveurs fiables qui implément les points de reprises des applications et offrent un service système continu, malgré la défaillance d’une machine. Au niveau de l’architecture, notre approche a reposé sur la conception d’une mémoire stable rapide pouvant être mise en œuvre soit par matériel, soit par logiciel. Nous décrivons tout d’abord nos choix de conception, puis nous présentons la mise en œuvre du FTM en ce qui concerne l’architecture et le système d’exploitation. En particulier, nous décrivons l’évolution de la technologie mémoire stable depuis sa mise en œuvre par matériel jusqu’à son implémentation par logiciel. Enfin, nous présentons une évaluation des performances du prototype qui a été réalisé au cours de cette étude. Nous concluons en tirant les leçons de ce projet. Mots-clé : tolérance aux fautes, points de reprise cohérents, mémoire stable, système d’exploitation modulaire, micro-noyau. Lessons from FTM: an Experiment in the Design and Implementation of a Low Cost Fault

اسناد مشابه