toplogo
Sign In

Entwicklung einer Fehlerinjektions-Benchmarking-Suite für die Bewertung von Fehlertoleranzlösungen


Core Concepts
Es gibt derzeit keinen einheitlichen Benchmarking-Standard für die Bewertung von Fehlertoleranzlösungen und Fehlerinjektionsverfahren. Bestehende Benchmarks aus anderen Domänen sind dafür nur bedingt geeignet. Es wird ein Konzept für eine dedizierte Benchmarking-Suite für den Bereich der Fehlertoleranz und Fehrelinjektion vorgeschlagen.
Abstract
Der Artikel diskutiert die Notwendigkeit einer eigenen Benchmarking-Suite für den Bereich der Fehlertoleranz und Fehrelinjektion (FT/FI). Bestehende Benchmarks aus anderen Domänen wie eingebettete Systeme oder WCET-Analyse sind dafür nur bedingt geeignet, da sie andere Zielmetriken verfolgen. Die Autoren schlagen folgende Eigenschaften für eine FT/FI-Benchmarking-Suite vor: Unterschiedliche Granularitäten: Von isolierten Algorithmen bis hin zu komplexen Systemzusammenstellungen Relevante Benchmark-Auswahl: Kategorisierung nach Programmeigenschaften und Anwendungsdomänen, um Redundanzen zu vermeiden Ressourceneffiziente Fehrelinjektion: Leichtgewichtige Infrastruktur, Konfigurierbarkeit bzgl. Laufzeit und Speicherverbrauch Selbstständiges Runtime-System: Portabilität und Vergleichbarkeit über verschiedene Studien hinweg Als Beispiel wird eine erste Analyse von Programmeigenschaften wie Anzahl dynamischer Instruktionen, Speicherzugriffe und Silent Data Corruptions für Benchmarks aus MiBench und TACLeBench gezeigt. Dabei zeigen sich bereits Unterschiede zwischen kompilierten Varianten mit und ohne Betriebssystem-Abstraktionsschicht.
Stats
Die Anzahl dynamischer Instruktionen der untersuchten Benchmarks liegt zwischen 10^3 und 10^7. Die Anzahl einzigartiger Speicherzugriffsorte liegt zwischen 10^2 und 10^6. Die Anzahl an Silent Data Corruptions variiert stark zwischen den Benchmarks.
Quotes
"Interessante Programmeigenschaften über die gezeigten hinaus sind z.B. Stack- und Heap-Nutzung, Verzweigungsverhalten oder Speicherzugriffs-Granularität." "Für die MiBench-Benchmarks dijkstra, susan, crc und cutcp zeigen die eCos-Varianten 37%-128% mehr dynamische Instruktionen als die bare-metal Varianten mit picolibc." "Die eCos-Variante von crc hat 97% mehr SDCs, 801% mehr Timeouts und 1491% mehr CPU-Exceptions im Vergleich zur picolibc-Variante."

Key Insights Distilled From

by Tianhao Wang... at arxiv.org 04-01-2024

https://arxiv.org/pdf/2403.20319.pdf
Towards a Fault-Injection Benchmarking Suite

Deeper Inquiries

Welche konkreten Programmeigenschaften sind für die Bewertung von Fehlertoleranz und Fehrelinjektion am relevantesten

Für die Bewertung von Fehlertoleranz und Fehlerinjektion sind bestimmte Programmeigenschaften besonders relevant. Dazu gehören die Anzahl der dynamischen Anweisungen, die Anzahl der Speicherzugriffsorte, die Stille-Datenkorruptionsrate (SDC) und weitere Charakteristika wie Stapel- und Heap-Nutzung, Verzweigungsverhalten und Speicherzugriffsgranularität. Diese Eigenschaften ermöglichen eine detaillierte Analyse der Fehleranfälligkeit von Programmen und sind entscheidend für die Effektivität von Fehlertoleranzmechanismen und Fehlerinjektionsansätzen.

Wie lassen sich Benchmarks so gestalten, dass sie eine möglichst vollständige Abdeckung des Fehlerraums ermöglichen

Um Benchmarks so zu gestalten, dass sie eine möglichst vollständige Abdeckung des Fehlerraums ermöglichen, sollten mehrere Maßnahmen ergriffen werden. Zunächst ist es wichtig, Benchmarks in verschiedenen Granularitäten einzubeziehen, einschließlich isolierter Algorithmusimplementierungen und integrierter Systeme, um unterschiedliche Aspekte der Fehleranfälligkeit zu erfassen. Des Weiteren sollten Benchmarks anhand relevanter Kriterien klassifiziert werden, um redundante Benchmarks zu vermeiden und eine repräsentative Experimenteinrichtung zu gewährleisten. Zudem ist es entscheidend, dass die Benchmarks ressourceneffiziente Fehlerinjektion ermöglichen, indem sie eine leichtgewichtige Infrastruktur und Konfigurierbarkeit bieten.

Wie kann eine Benchmarking-Suite entwickelt werden, die auch zukünftige Trends und Anforderungen im Bereich der Fehlertoleranz berücksichtigt

Eine Benchmarking-Suite, die auch zukünftige Trends und Anforderungen im Bereich der Fehlertoleranz berücksichtigen soll, sollte mehrere Eigenschaften aufweisen. Dazu gehören eine vollständige Abdeckung in Bezug auf praktische Anwendbarkeit und Programmeigenschaften, Benchmarks in verschiedenen Granularitäten, eine selbstständige und schlanke Laufzeitumgebung sowie eine hohe Konfigurierbarkeit. Darüber hinaus sollte die Benchmarking-Suite portabel sein und eine einfache Vergleichbarkeit der Experimentergebnisse über verschiedene Studien hinweg ermöglichen. Durch die Berücksichtigung dieser Aspekte kann eine Benchmarking-Suite entwickelt werden, die den sich wandelnden Anforderungen und Entwicklungen im Bereich der Fehlertoleranz gerecht wird.
0