Under de senaste åren, Stream Processing Engines (SPE) har dykt upp som en ny klass av mjukvarusystem, vilket möjliggör låg latency bearbetning av strömmar av data som anländer till hög hastighet. När SPE-bolag mognar och används i övervakningsapplikationer som kontinuerligt måste köras (t.ex. i nätverkssäkerhetsövervakning) uppstår en stor utmaning: SPE-bolag måste kunna hantera olika programvara och maskinvarufel som uppstår, maskera dem för att ge hög tillgänglighet (HA). I den här artikeln utvecklar, implementerar och utvärderar vi DPC (Delay, Process, and Correct), ett protokoll för att hantera kraschfel i processnoder och nätverksfel i en distribuerad SPE. Liksom tidigare metoder för HA, DPC använder replikering och masker många typer av nod och nätverksfel. I närvaro av nätverkspartitioner står konstruktören av alla replikeringssystem inför ett val mellan att tillhandahålla tillgänglighet eller datakonsistens över replikerna. I DPC görs detta val tydligt: användaren anger en tillgänglighetsbegränsning (inget resultat bör försenas med mer än en angiven fördröjningströskel även vid fel om motsvarande indata finns tillgänglig), och DPC försöker minimera den resulterande inkonsekvensen mellan repliker (varav inte alla kan ha sett indata) samtidigt som den angivna fördröjningströskeln uppnås. Även begreppsmässigt enkelt, DPC-protokollet tolererar förekomsten av flera samtidiga fel samt eventuella ytterligare fel som inträffar under återhämtning. Denna artikel beskriver DPC och dess genomförande i Borealis SPE. Vi visar att DPC gör det möjligt för en distribuerad SPE att upprätthålla låg latent behandling hela tiden, samtidigt som man uppnår eventuell konsekvens, där applikationer så småningom får den kompletta och korrekta utflöden. Dessutom visar vi att det, oberoende av systemstorlek och felplats, är möjligt att hantera fel nästan upp till den användarspecificerade bunden på ett sätt som uppfyller den nödvändiga tillgängligheten utan att införa någon inkonsekvens.
Balazinska m.fl. REF presenterar DPC (Delay, Process, and Correct) -ett replikeringsprotokoll för att tolerera processnoder och nätverksfel.
Fault-tolerance in the borealis distributed stream processing system
{'venue': 'TODS', 'journal': None, 'mag_field_of_study': ['Computer Science']}