01.01.2015 Views

LARGE-SCALE PARALLEL GRAPH-BASED SIMULATIONS - MATSim

LARGE-SCALE PARALLEL GRAPH-BASED SIMULATIONS - MATSim

LARGE-SCALE PARALLEL GRAPH-BASED SIMULATIONS - MATSim

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!