LARGE-SCALE PARALLEL GRAPH-BASED SIMULATIONS - MATSim
LARGE-SCALE PARALLEL GRAPH-BASED SIMULATIONS - MATSim
LARGE-SCALE PARALLEL GRAPH-BASED SIMULATIONS - MATSim
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Chapter 4<br />
Parallel Queue Model<br />
4.1 Introduction<br />
Serial computation has been around for years. With this traditional computing manner,<br />
problems run on a single computer/computing node,<br />
instructions of a program are executed one after the other by the CPU,<br />
only one instruction may be executed at a time.<br />
Data transmission through hardware, which is limited by the speed of light [83], determines<br />
the speed of a serial computer. In addition to physical constraints, there are also economic limitations<br />
since it is increasingly expensive to make a single processor faster. These limitations<br />
make it harder to build faster serial computers by saturating the performance of serial computers.<br />
Ultimately, the agent-based simulation of large scale transportation scenarios are concerned.<br />
A typical scenario would be the 24-hour (about seconds) simulation of a metropolitan area<br />
consisting of 10 million travelers. Typical computational speeds of ¡ ¢¡ traffic flow simulations<br />
with 1-second update steps are 100 000 vehicles in real time [58, 56, 68]. This results in a<br />
computation time of ¡ ¢ ¡£¢£¢<br />
¡ ¢ ¢<br />
seconds ¤ days. This number is just a rough<br />
estimate and subject to the following changes: Increases in CPU speed will reduce the number;<br />
¡ ¢ ¡ ¢£¢<br />
more realistic driving logic will increase the number; smaller time steps [64, 84] will increase<br />
the number.<br />
This means that such a traffic flow simulation running on a single computing node is too<br />
slow for practical or academic treatment of large scale problems. In addition, computer time is<br />
needed for activity generation, route generation, learning, etc. In consequence, it makes sense<br />
to explore parallel/distributed computing as an option. Parallel/distributed computing has the<br />
advantages of using non-local resources, competitive cost/performance ratio and overcoming<br />
finite memory constraint of single computers that are subject to. In parallel computing computational<br />
problems are solved by using several computing resources which may consist of a<br />
single computer with multiple processors or a number of computers connected through a network,<br />
which is called a PC cluster, or a combination of both. In order to solve a computational<br />
problem through parallel computing, one must think about (i) how to partition the tasks into<br />
subtasks, and (ii) how to provide the data exchange between the subtasks. Before explaining<br />
these issues, parallel architectures will be discussed in the following paragraphs.<br />
The categorization of parallel computers has been done in many different ways, among<br />
which Flynn’s Classical Taxonomy [83] is the one most commonly used. This classification<br />
37