Spelling suggestions: "subject:"compact"" "subject:"kompact""
1 |
Simulating Distributed Executions in Kompact / Simulering av distribuerad exekvering i KompacMallo Bakken, Johan January 2022 (has links)
Distributed systems are complex systems that offer highly scalable and reliable services. With that complexity comes the difficulty of developing and testing such systems as they are highly non-deterministic. Approaches like model checking are used to verify models of distributed systems formally, but the insufficient correlation between model and implementation, as well as the state-explosion problem, makes this approach sub-optimal. In real-world systems, transient sequences of events could result in failures, but these events can be both difficult to detect and reproduce. This thesis addresses the problem of testing distributed systems by proposing a way to test these systems through a discrete event simulator that is integrated into the distributed runtime Kompact. The simulator can run on real message-passing implementations and provides precise control over a simulation through what is referred to as fine-grained sequences of events. The flexibility of the simulator is demonstrated by using it to simulate and reproduce faulty behavior in the Raft consensus algorithm. Through state monitoring, the state transitions of such a simulation allow us to analyze and suspect the occurrence of liveness issues. / Distribuerade system är komplexa system som erbjuder mycket skalbara och pålitliga tjänster. Med den komplexiteten kommer svårigheten att utveckla och testa sådana system eftersom de är mycket icke-deterministiska. Tillvägagångssätt som model kontroll används för att verifiera modeller av distribuerade system formellt, men otillräcklig korrelation mellan modell och implementering, liksom tillståndsexplosionsproblem, gör detta tillvägagångssätt suboptimalt. I den verkliga världen system, kan övergående händelseförlopp resultera i fel, men dessa händelser kan vara både svåra att upptäcka och reproducera. Denna avhandling tar upp problemet med att testa distribuerade system genom att föreslå ett sätt att testa dessa system genom en diskret händelsesimulator som är integrerad i den distribuerade runtime Kompact. Simulatorn kan köras på riktiga meddelande-passerar implementeringar och ger exakt kontroll över en simulering genom vad som kallas finkorniga händelseförlopp. Flexibiliteten hos simulatorn demonstreras genom att använda den för att simulera och reproducera felaktiga beteende i konsensusalgoritm Raft. Genom statlig övervakning, staten övergångar av en sådan simulering gör att vi kan analysera och misstänka händelsen av livlighetsfrågor.
|
2 |
Low-latency transport protocols inactor systems : Performance evaluation of QUIC in Kompact / Låg-latens transportprotokoll i aktörsystem : Prestandautvärdering av QUIC i KompactGunnlaugsdóttir, Jódís January 2023 (has links)
Developers widely use actor frameworks to build highly distributed systems. However, modern actor frameworks are limited in their network implementations, with Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) being the main protocols used for network communication. This thesis investigates the use of specialized network protocols to improve the performance of actor frameworks in distributed systems. Message-passing, while commonly based on TCP, needs more performance and security than other protocols; therefore, the focus will be on different low-latency transport protocols that could substitute TCP. This work examines actor communication at the transport layer, considering the constraints of the deployment that often dictate the choice of a transport protocol. We explore how Quick UDP Internet Connections (QUIC), a low-latency transport protocol, affects actor systems performance and reliability by investigating the benefits of replacing TCP with QUIC in Kompact, a component-actor hybrid framework. We provide an overview of other low-latency protocols that fit various actor frameworks and implement QUIC in the networking layer of Kompact. Thereof, we evaluate the performance of QUIC, UDP and TCP in two different scenarios, such as file transfers outside of actor systems and ping-pong latency measurements within Kompact. The results show that glsquic outperforms TCP for larger file transfers outside actor systems, accomplishing higher throughput and faster download times. However, in the Kompact benchmark, QUIC did not outperform TCP due to issues with QUIC’s event loop implementation. The study also highlights the importance of proper synchronization between event loops in distributed systems. The findings suggest that QUIC has the potential to improve performance and reliability in actor systems by reducing latency and enhancing reliability through features such as multiplexing and connection migration. / Utvecklare använder i stor utsträckning actor-ramverk för att bygga väldigt distribuerade system. Moderna actor-ramverk är dock begränsade i sina nätverksimplementationer, med TCP och UDP som de huvudsakliga protokollen för nätverkskommunikation. Denna avhandling undersöker användningen av specialiserade nätverksprotokoll för att förbättra prestandan hos actor-ramverk i distribuerade system. Meddelandehantering, som vanligtvis är baserad på TCP, kräver högre prestanda och säkerhet än andra protokoll. Därför kommer fokus att ligga på olika låg-latens transportprotokoll som kan ersätta TCP. Denna undersökning undersöker actor-kommunikation på transportlagret, med hänsyn till de begränsningar som ofta dikterar valet av transportprotokoll. Vi utforskar hur QUIC, ett låg-latens transportprotokoll, påverkar prestanda och tillförlitlighet i actor-system genom att undersöka fördelarna med att ersätta TCP med QUIC i Kompact, ett komponent-actor hybrid-ramverk. Vi ger en översikt över andra låg-latens protokoll som passar olika actor-ramverk och implementerar QUIC i nätverkslagret av Kompact. Därigenom utvärderar vi prestandan för QUIC, UDP och TCP i två olika scenarier, såsom filöverföringar utanför actor-system och ping-pong-latensmätningar inomKompact. Resultaten visar att QUIC överträffar TCP för större filöverföringar utanför actor-system, uppnår högre genomströmning och snabbare nedladdningstider. Men i Kompact-benchmarken överträffade QUIC inte TCP på grund av problem med QUICs event-loop-implementering. Studien belyser också vikten av korrekt synkronisering mellan event-loops i distribuerade system. Resultaten antyder att QUIC har potential att förbättra prestanda och tillförlitlighet i actor-system genom att minska latens och förbättra tillförlitligheten genom funktioner som multiplexing och anslutningsmigration.
|
Page generated in 0.0339 seconds