LARGE-SCALE PARALLEL GRAPH-BASED SIMULATIONS - MATSim
LARGE-SCALE PARALLEL GRAPH-BASED SIMULATIONS - MATSim
LARGE-SCALE PARALLEL GRAPH-BASED SIMULATIONS - MATSim
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4 Parallel Queue Model 37<br />
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />
4.1.1 Message Exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />
4.1.2 Domain Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />
4.2 Parallel Computing in Transportation Simulations . . . . . . . . . . . . . . . . 40<br />
4.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />
4.3.1 Handling Domain Decomposition . . . . . . . . . . . . . . . . . . . . 41<br />
4.3.2 Handling Message Exchanging . . . . . . . . . . . . . . . . . . . . . . 42<br />
4.3.3 Communication Software . . . . . . . . . . . . . . . . . . . . . . . . 42<br />
4.4 Theoretical Performance Expectations . . . . . . . . . . . . . . . . . . . . . . 44<br />
4.5 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />
4.5.1 Comparison of Different Communication Hardware: Ethernet vs. Myrinet 48<br />
4.5.2 Comparison of Different Communication Software: MPI vs. PVM . . . 50<br />
4.5.3 Comparison of Different Packing Algorithms . . . . . . . . . . . . . . 51<br />
4.5.4 Different Domain Decomposition Algorithms . . . . . . . . . . . . . . 55<br />
4.6 Conclusions and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />
4.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />
5 Coupling the Traffic Simulation to Mental Modules 60<br />
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />
5.2 Coupling Modules via Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />
5.2.1 Description of a Framework . . . . . . . . . . . . . . . . . . . . . . . 60<br />
5.2.2 Performance Issues of Reading an Events File . . . . . . . . . . . . . . 63<br />
5.2.3 Performance Issues of Plan Writing . . . . . . . . . . . . . . . . . . . 67<br />
5.3 Other Coupling Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />
5.3.1 Module Coupling via Subroutine Calls . . . . . . . . . . . . . . . . . 68<br />
5.3.2 Module Coupling via Remote Procedure Calls (e.g. CORBA, Java RMI) 69<br />
5.3.3 Module Coupling via WWW Protocols . . . . . . . . . . . . . . . . . 70<br />
5.3.4 Module Coupling via Databases . . . . . . . . . . . . . . . . . . . . . 70<br />
5.3.5 Module Coupling via Messages . . . . . . . . . . . . . . . . . . . . . 72<br />
5.4 Conclusions and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 72<br />
5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />
6 Events Recorder 74<br />
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />
6.2 The Competing File I/O Performance for Events . . . . . . . . . . . . . . . . . 76<br />
6.3 Other Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br />
6.4 Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />
6.5 Test Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />
6.6 Raw vs. XML Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />
6.7 Buffered vs. Immediate Reporting of Events . . . . . . . . . . . . . . . . . . . 79<br />
6.7.1 Reporting Buffered Events . . . . . . . . . . . . . . . . . . . . . . . . 79<br />
6.7.2 Immediately Reported Events . . . . . . . . . . . . . . . . . . . . . . 79<br />
6.8 Theoretical Expectation for Buffered Events . . . . . . . . . . . . . . . . . . . 79<br />
6.8.1 Packing Time Prediction . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />
6.8.2 Sending and Receiving Time Prediction . . . . . . . . . . . . . . . . . 82<br />
6.8.3 Unpacking Time Prediction . . . . . . . . . . . . . . . . . . . . . . . 83<br />
6.8.4 Writing Time Prediction . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />
6.8.5 Performance Prediction for Buffered Events: Putting it together . . . . 84<br />
v