Energin begränsar i allt högre grad modern datorutrustning, men att skydda beräkningar och data mot fel kostar energi. Detta håller i alla skalor, men särskilt för de största parallella datorer som byggs och planeras idag. Eftersom processorn räknar fortsätter att växa, kommer kostnaden för att säkerställa tillförlitlighet konsekvent under hela en ansökan att bli outhärdlig. Många algoritmer behöver dock endast tillförlitlighet för vissa data och faser av beräkning. Detta tyder på en algoritm och system codesign tillvägagångssätt. Vi visar att om systemet låter applikationer tillämpa tillförlitlighet selektivt, kan vi utveckla algoritmer som beräknar rätt svar trots fel. Dessa "feltoleranta" iterativa metoder konvergerar antingen så småningom, i en takt som försämrar graciöst med ökad felfrekvens, eller returnerar en tydlig felindikering i det sällsynta fallet att de inte kan konvergera. Dessutom lagrar de de flesta av sina data på ett otillförlitligt sätt och tillbringar större delen av sin tid i opålitligt läge. Vi visar detta för det specifika fallet med upptäckta men okorrigerbara minnesfel, som vi hävdar är representativa för alla typer av fel. Vi utvecklade en cross-layer applikation / operativsystem ram som avlyssnar och rapporterar okorrigerbara minnesfel till programmet, snarare än att döda programmet, som nuvarande operativsystem gör. Ansökan kan i sin tur markera minnestilldelningar som föremål för sådana fel. Med hjälp av detta ramverk skrev vi en feltolerant iterativ linjär lösare med hjälp av komponenter från biblioteket Trilinos lösare. Vår lösare utnyttjar hybridparallalism (MPI och trådar). Det utför precis lika bra som andra lösare om inga fel uppstår, och konvergerar där andra lösare inte i närvaro av fel. Vi visar konvergensresultat för representativa testproblem. Det kommande arbetet kommer att omfatta resultattester.
I dokumentet Ref tas också upp problemet med att utforma en feltolerant linjär lösning.
Fault-tolerant linear solvers via selective reliability
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science', 'Mathematics']}