{"title":"SPaDES/Java: object-oriented parallel discrete-event simulation","authors":"Y. M. Teo, Y. Ng","doi":"10.1109/SIMSYM.2002.1000160","DOIUrl":null,"url":null,"abstract":"We describe the design, implementation and performance optimizations of SPaDES/Java, a process-oriented discrete-event simulation library in Java that supports sequential and parallel simulation. Parallel event synchronization is facilitated through a hybrid carrier-null, demand-driven flushing conservative null message mechanism. Inter-processor message communication is coordinated by a shared persistent memory implemented using Java Jini/JavaSpaces. We present the stepwise performance optimizations we have carried out, focusing mainly on reducing the cost of multithreading, null message synchronization overhead, and the cost of inter-processor communication. Two benchmark programs consisting of an open linear pipeline system and PHOLD representing a closed system are used. For PHOLD(16/spl times/6, 16), our optimization reduces the null message ratio from 0.94 to 0.29 on eight processors. Based on our time and space instrumentation, we observed that the memory cost of null message synchronization accounts for less than 10% of the total memory required by the PHOLD simulation.","PeriodicalId":198576,"journal":{"name":"Proceedings 35th Annual Simulation Symposium. SS 2002","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2002-04-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"11","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings 35th Annual Simulation Symposium. SS 2002","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SIMSYM.2002.1000160","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 11
Abstract
We describe the design, implementation and performance optimizations of SPaDES/Java, a process-oriented discrete-event simulation library in Java that supports sequential and parallel simulation. Parallel event synchronization is facilitated through a hybrid carrier-null, demand-driven flushing conservative null message mechanism. Inter-processor message communication is coordinated by a shared persistent memory implemented using Java Jini/JavaSpaces. We present the stepwise performance optimizations we have carried out, focusing mainly on reducing the cost of multithreading, null message synchronization overhead, and the cost of inter-processor communication. Two benchmark programs consisting of an open linear pipeline system and PHOLD representing a closed system are used. For PHOLD(16/spl times/6, 16), our optimization reduces the null message ratio from 0.94 to 0.29 on eight processors. Based on our time and space instrumentation, we observed that the memory cost of null message synchronization accounts for less than 10% of the total memory required by the PHOLD simulation.