Discrete event simulation is the most suitable type of simulation for analyzing a complex system where changes happen at discrete time instants. Discrete event simulation is a major experimental methodology in several scientific and engineering domains. Unfortunately, a conventional discrete event simulator cannot meet with increasing demands of computational or the structural complexities of modern systems such as peer-to-peer (P2P) systems; therefore parallel discrete event simulation has been a focus of researchers for several decades. Unfortunately, no simulator is regarded as a standard which can satisfy the demands of all kinds of applications. Thus while given a simulator yields good performance for a specific kind of applications, it may failed to be efficient for other kinds of applications. Furthermore, although technological advancements have been made in the multi-core computing hardware, none of the mainstream P2P discrete event simulators is designed to support parallel simulation that exploits multi-core architectures. The proposed HydraNetSim parallel discrete event simulator (PDES) is a step toward addressing these issues. Developing a simulator which can support very large numbers of nodes to realize a massive P2P system, and can also execute in parallel is a non-trivial task. The literature review in this thesis gives a broad overview of prevailing approaches to dealing with the tricky problems of simulating a massive, large, and rapidly changing system, and provides a foundation for adopting a suitable architecture for developing a PDES. HydraNetSim is a discrete event simulator which allows parallel simulation and exploits the capabilities of parallelization of modern computing hardware. It is based on a novel master/slave paradigm. It divides the simulation model into a number of specific slaves (a cluster of processes) considering the number of cores provided by the underlying computing hardware. Each slave can be assigned to a specific CPU on a different core. Synchronization of the slaves is achieved by proposing a variant of the classic Null-Message Algorithm (NMA) with a focus on keeping the synchronization overhead as low as possible. Furthermore, HydraNetSim provides log information for debugging purposes and introduces a new mechanism of gathering and writing simulation results to a database. The experimental results show that the sequential counterpart of HydraNetSim (SDES) takes 41.6% more time than HydraNetSim-2Slave and 23.6% than HydraNetSim-3Slave. HydraNetSim-2Slave is 1.42 times faster, consumes 1.18 times more memory, and supports 2.02 times more nodes than a sequential discrete event simulator (SDES). Whereas, HydraNetSim-3Slave executes 1.24 times faster, consumes 2.08 times more memory, and supports 3.04 times more nodes than SDES. The scaling factor of HydraNetSim is ⌈(β-1)*102.04%⌉ of the maximum numbered of nodes supported by SDES; where β is the number of slaves. / Diskret händelsesimulering är den mest passande typen av simulering för att analysera ett komplext system där förändringar sker i diskreta tidpunkter. Diskret händelsesimulering är en stor experimentell metod i flera vetenskapliga och tekniska områden. Tyvärr kan en konventionell diskret händelse simulator uppfyller inte med ökande krav på beräkningsprogram eller strukturella komplexiteten av moderna system som peer-to-peer (P2P) system, och därför parallellt diskret händelse simulering har varit ett fokus för forskare under flera årtionde. Tyvärr ingen simulator ansåg som en standard som kan uppfylla kraven på alla typer av applikationer. Så samtidigt få en simulator ger bra prestanda för en specifik typ av applikationer kan det inte vara effektivt för andra typer av applikationer. Även om tekniska framsteget har gjorts i multi-core datorhårdvara, är ingen av de vanliga P2P händelsestyrd simulatorer för att stödja parallella simulering som utnyttjar flera kärnor arkitekturer. Den föreslagna HydraNetSim parallella diskret händelse simulator (PDES) är ett steg mot att fokusera på dessa frågor. Utveckla en simulator som kan stödja ett mycket stort antal noder för att realisera en massiv P2P-system, och kan även utföra parallellt är en icke-trivial uppdrag. Litteraturstudien i denna tesen ger en bred översikt över aktuell metoder för att hantera de svåra problem som simulerar en massiv, stor och snabbt ändra system och ger en grund för att adoptera en passande struktur för att utveckla ett PDES. HydraNetSim är en diskret händelse simulator som gör det möjligt parallellt simulering och utnyttjar funktionerna i parallellisering av modern datorhårdvara. Det är baserat på en ny master / slav paradigm. Den delar simuleringsmodellen i ett antal specifika slavar (ett kluster av processer) med tanke på antalet kärnor som tillhandahålls av den underliggande datorhårdvara. Varje slav kan tilldelas en specifik CPU på en annan kärna. Synkronisering av slavarna uppnås genom att föreslå en variant av det klassiska Null-Message Algorithm (NMA) med fokus på att hålla simuleringen overhead så lågt som möjligt. Dessutom ger HydraNetSim log information för felsökning ändamål och inför en ny mekanism för att samla in och skriva simuleringar resultat till en databas. De experimentella resultaten visar att den sekventiella motsvarigheten till HydraNetSim (SDES) tar 41,6% mer tid än HydraNetSim-2Slave och 23,6% mindre än HydraNetSim-3Slave. HydraNetSim-2Slave är 1,42 gånger snabbare, förbrukar 1,18 gånger mer minne, och stöder 2.02 gånger fler noder än en sekventiell händelsestyrd simulator (SDES). I HydraNetSim-3Slave kör 1.24 gånger snabbare, förbrukar 2,08 gånger mer minne, och stöder 3,04 gånger fler noder än SDES. Skalfaktorn av HydraNetSim är ⌈(β-1)*102.04%⌉ av den maximala numrerade noder som stöds av SDES; där β är antalet slavar.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-98905 |
Date | January 2012 |
Creators | Fahad Azeemi, Muhammad |
Publisher | KTH, Kommunikationssystem, CoS |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | Trita-ICT-EX ; 2012:125 |
Page generated in 0.003 seconds