• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  • Box of Pain:En ny spårare och felinjektor för distribuerade system

    Händer-före-relationen av acceptera och ansluta systemsamtal som Box of Pain härleder. Färgerna indikerar olika trådar. Box of Pain kan härleda att connect↑ sker efter accept↓, eftersom det senare orsakar det förra. Kredit:Bittman, Miller och Alvaro.

    Inom datavetenskap, distribuerade system är system med komponenter placerade på olika enheter, som kommunicerar med varandra. Även om dessa system har blivit allt vanligare, de är vanligtvis fyllda med buggar.

    Ett fåtal forskare har försökt utveckla verktyg för att hitta buggar i distribuerade system och ta bort dem, men en konkret lösning har ännu inte kommit fram. Övergripande, verktyg som "stör" exekveringar kan testa hur robust ett system är mot fel, medan verktyg som "observerar" avrättningar gör det möjligt för forskare att bättre förstå de systemomfattande effekterna av sådana fel.

    De flesta befintliga metoder och tekniker för feldetektering och felsökning är ofullständiga eller baserade på testning, vilket betyder att de kan vara till hjälp för att hitta buggar men inte för att eliminera dem. Medveten om denna lucka i litteraturen, ett team av forskare vid UC Santa Cruz har nyligen utvecklat en ny teknik, kallas Box of Pain, för spårning och felinjektion i omodifierade distribuerade system.

    "Vårt labb är besatt av feltolerans, "Peter Alvaro, en av forskarna som genomförde studien, berättade för TechXplore. "Distribuerade system, det är, system som kräver samarbete med en samling oberoende datorer för att uppfylla sitt syfte, är allestädes närvarande, men de är extremt svåra att resonera om, programmera och felsöka. Felinsprutningstekniker kan öka förtroendet för att distribuerade system faktiskt kan tolerera felen (t.ex. maskinkrascher, nätverkspartitioner, etc.) som de var utformade för att tolerera, medan observerbarhetsinfrastruktur (t.ex. spårning) kan hjälpa oss att bättre förstå hur dessa system fungerar under fel."

    Alvaros labb fokuserar främst på ett forskningsområde som kallas experimentselektion, vilket innebär att man automatiskt väljer fel som med största sannolikhet driver ett system till ett dåligt tillstånd. Han och hans kollegor använder spårningsinfrastruktur för att observera avrättningar, bygga modeller av system som producerar spår och sedan använda dessa modeller för att identifiera "intressanta" fel att injicera i ett system.

    "Tyvärr, vårt tillvägagångssätt förutsätter att systemen redan är utrustade med både spårnings- och felinsprutningsinfrastruktur; att först observera, och i slutändan störa systemexekveringen, " sa Alvaro. "I praktiken, många system är det inte, och att lägga till dessa funktioner kan vara dyrt och tidskrävande. Vi kom på oss själva och frågade vad som skulle krävas för att kunna utföra spårning och felinjektion transparent, på omodifierade system, så att vi kunde tillämpa våra felsökningsmetoder på "vilken som helst" distribuerad programvara. Box of Pain är där vi så småningom landade."

    Smärtalåda, tillvägagångssättet som utarbetats av forskarna vid UC Santa Cruz, är i huvudsak ett ramverk för att spåra ett komplext datorsystem för att bättre förstå dess beteende, simulera fel inom den och observera vad som händer när något går fel. Till exempel, Box of Pain kan simulera ett trasigt nätverk och jämföra programmens beteende med deras beteende under normala förhållanden.

    "Vår teknik gör detta genom att observera viktiga händelser i programmens beteende, som kommunikationshändelser, kraschar, och utgångsförhållanden, "Daniel Bittman, en annan forskare involverad i studien, förklarade. "Med hjälp av denna information, det skapar en förståelse för hur datorer interagerar, tillåter automatiserad buggsökningsprogramvara att experimentera med att störa system automatiskt."

    Till skillnad från andra felinsprutningssystem, Box of Pain använder ett lätt tillvägagångssätt för spårning, fokusera på att simulera effekterna av partiella misslyckanden på kommunikation snarare än att utforska själva misslyckandena. I deras studie, forskarna utvärderade sin teknik och fann att den gav mycket lovande resultat, både i att observera fel och störa distribuerade system.

    "En viktig upptäckt var vad vi kunde göra med vår något begränsade syn på ett komplext datorsystem, " sa Bittman. "Eftersom vårt mål var att förstå beteendet hos ett system transparent (det vill säga, utan att behöva göra ändringar i det system som studeras), informationen vi samlar in om det är ganska generisk."

    Enligt Bittman, ett viktigt första steg i deras forskning var att visa att de framgångsrikt kunde rekonstruera kommunikationsmönstret för ett komplext system bara genom att titta på de individuella händelserna i varje process och att detta kunde göras i realtid. Detta är avgörande eftersom forskarna ville att deras modell för felinjektion skulle tillåta dem att säga till ett system:"släpp all kommunikation mellan program A och B efter att B skickar ett meddelande till A". Om de inte kunde rekonstruera ett systems kommunikationsmönster förrän det slutade köras, dock, denna fras skulle vara omöjlig att förmedla.

    "En andra viktig upptäckt var antalet sätt på vilka en viss systemexekvering kunde skilja sig åt samtidigt som man uppnådde samma resultat, " tillade Bittman. "Flera interagerande datorer kan köras med olika hastigheter, och därför kan sättet de interagerar på vara olika mellan körningar av samma system med samma ingångar, även om resultatet av utförandet är detsamma. Detta har en olycklig konsekvens:att bestämma när ett fel ska injiceras i ett system blir mycket svårare. Dock, vi kunde ge några första bevis för att problemet, i praktiken, är inte så illa som det kan verka."

    Resultaten samlade in av Alvaro, Bittman och deras kollega Ethan Miller har betydande konsekvenser för felinjektion, eftersom deras tillvägagångssätt skulle kunna göra beslut om och utföra felinjektionsexperiment mycket lättare. Dessutom, deras studie skulle kunna informera utvecklingen av felsökningsramverk, som skulle rapportera till utvecklare med vilken konfidensnivå deras system är felfritt under särskilda omständigheter.

    "Denna forskning har bara börjat, " sa Alvaro. "i själva verket, som vi gärna erkänner i tidningen, vi har knappt ens börjat använda Box of Pain för dess uttalade syfte att hitta och isolera buggar i distribuerade system. Vi publicerade denna tidiga rapport eftersom vi var glada att berätta för samhället om utvecklingen."

    Enligt Alvaro, det finns två nyckelriktningar som deras forskning skulle kunna utvecklas ytterligare inom en snar framtid. För det första, även om deras studie ger lockande första bevis som stöder deras hypoteser, framtida studier kan behöva köra fler experimentella tester för att ytterligare utvärdera deras antaganden.

    "Vi hävdar att en distribuerad felinjektor bara behöver fokusera på störande kanter i ett systems kommunikationsgraf för att hitta de mest intressanta felen, massivt krympa den "yta" som vi måste fokusera på, " Alvaro förklarade. "Vi måste nu visa att detta är sant genom att hitta några nya buggar! Vad är mer, vi hävdar att även om utrymmet för "möjliga" avrättningar är exponentiellt stort och svårlöst att täcka, sannolikheten för olika avrättningar (på den abstraktionsnivå vi fångar i kommunikationsgrafen) sjunker mycket brant, vilket gör det möjligt att till största delen täcka detta utrymme effektivt."

    För att visa att effekten de observerade är sann och kan generaliseras över olika scenarier, forskarna kommer att behöva skala upp sina experiment till större och rikare system. I längden, de föreställer sig också en tät integration av Box of Pain med en riktad experimentväljare, såsom härstamningsdriven felinjektion, eftersom detta kan hjälpa till att generalisera denna väljare till godtyckligt distribuerade infrastrukturer.

    "Under de kommande sex månaderna planerar vårt labb att experimentera med databutiker som Cassandra, Redis och MongoDB, på meddelandeköer som Kafka och RabbitMQ, och om samordningstjänster som EtcD och Zookeeper, " tillade Alvaro. "Vi planerar också att utforska pedagogiska tillämpningar av Box of Pain, välja anpassade felinjektionsscheman för projekt som lämnats in av studenter i UC Santa Cruzs distribuerade systemkurs. Den här vägen, det kan hjälpa instruktörer att betygsätta studentprojekt och hjälpa studenter genom att ge utförliga förklaringar av eventuella buggar som den identifierar i deras program."

    Studien utförd av Alvaro, Bittman och Miller förpublicerades den arXiv och har godkänts för publicering av HotCloud 2019, en workshop om cloud computing som kommer att äga rum i juli i Renton, Washington. Denna workshop kommer att vara en fantastisk chans att be om feedback om Box of Pain från communityn för distribuerade system, som skulle kunna hjälpa forskarna att avgöra vilka vägar för framtida arbete de bör söka först.

    © 2019 Science X Network




    © Vetenskap https://sv.scienceaq.com