Pedal to the Bare Metal: Road Traffic Simulation on FPGAs Using High-Level Synthesis

The performance of Agent-based Traffic Simulations (ABTS) has been shown to benefit tremendously from offloading to accelerators such as GPUs. In the search for the most suitable hardware platform, reconfigurable hardware is a natural choice. Some recent work considered ABTS on Field-Programmable Gate Arrays (FPGAs), yet only implemented simplified cellular automaton-based models. The recent introduction of support for high-level synthesis from C, C++, and OpenCL in FPGA tool chains allows FPGA designs to be expressed in a form familiar to software developers. However, the performance achievable with this approach in a simulation context is not well-understood. In this work, to the best of our knowledge, we present the first FPGA-accelerated ABTS based on widely-accepted microscopic traffic simulation models, and the first to be generated from high-level code. The achieved speedup of up to 24.3 over a sequential CPU-based execution indicates that recent FPGA toolchains allow simulationists to unlock the performance benefits of reconfigurable hardware without the need to express the simulation models in low-level hardware description languages.

[1]  Wentong Cai,et al.  Advancing Automatic Code Generation for Agent-Based Simulations on Heterogeneous Hardware , 2019, Euro-Par Workshops.

[2]  Helbing,et al.  Congested traffic states in empirical observations and microscopic simulations , 2000, Physical review. E, Statistical physics, plasmas, fluids, and related interdisciplinary topics.

[3]  Maya Gokhale,et al.  Metropolitan road traffic simulation on FPGAs , 2005, 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'05).

[4]  Dirk Helbing,et al.  General Lane-Changing Model MOBIL for Car-Following Models , 2007 .

[5]  Wentong Cai,et al.  Evaluation of Conflict Resolution Methods for Agent-Based Simulations on the GPU , 2018, SIGSIM-PADS.

[6]  Christian Schäck,et al.  Efficient traffic simulation using the GCA model , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[7]  Jason Cong,et al.  Understanding Performance Differences of FPGAs and GPUs , 2018, 2018 IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).

[8]  Nael B. Abu-Ghazaleh,et al.  PDES-A: a Parallel Discrete Event Simulation Accelerator for FPGAs , 2017, SIGSIM-PADS.

[9]  Wentong Cai,et al.  From Effects to Causes: Reversible Simulation and Reverse Exploration of Microscopic Traffic Models , 2019, SIGSIM-PADS.

[10]  Jonathan Rose,et al.  Measuring the Gap Between FPGAs and ASICs , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Wentong Cai,et al.  A Survey on Agent-based Simulation Using Hardware Accelerators , 2018, ACM Comput. Surv..

[12]  Masanori Hariyama,et al.  Design of FPGA-Based Computing Systems with OpenCL , 2017 .

[13]  Georgios Ch. Sirakoulis,et al.  FPGA based cellular automata for environmental modeling , 2012, 2012 19th IEEE International Conference on Electronics, Circuits, and Systems (ICECS 2012).

[14]  Jinjun Xiong,et al.  Acceleration of Multi-agent Simulation on FPGAs , 2011, 2011 21st International Conference on Field Programmable Logic and Applications.

[15]  Georgios Ch. Sirakoulis,et al.  An FPGA implemented cellular automaton crowd evacuation model inspired by the electrostatic-induced potential fields , 2010, Microprocess. Microsystems.

[16]  Wentong Cai,et al.  Exploring Execution Schemes for Agent-Based Traffic Simulation on Heterogeneous Hardware , 2018, 2018 IEEE/ACM 22nd International Symposium on Distributed Simulation and Real Time Applications (DS-RT).

[17]  Tomas Potuzak,et al.  Comparison of Road Traffic Simulation Speed on CPU and GPU , 2019, 2019 IEEE/ACM 23rd International Symposium on Distributed Simulation and Real Time Applications (DS-RT).

[18]  Yun Liang,et al.  A study of high-level synthesis: Promises and challenges , 2011, 2011 9th IEEE International Conference on ASIC.

[19]  Kevin Skadron,et al.  Accelerating Compute-Intensive Applications with GPUs and FPGAs , 2008, 2008 Symposium on Application Specific Processors.