In this paper we study the potential performance improvements for catastrophe modelling systems that can be achieved through parallelization on a Cell Processor. We studied and parallelized a critical section of catastrophe modelling, the so called "inner loop", and implemented it on a Cell Processor running on a regular Playstation 3 platform. The Cell Processor is known to be a challenging environment for software development. In particular, the small internal storage available at each SPE of the Cell Processor is a considerable challenge for catastrophe modelling because the catastrophe modelling algorithm requires frequent accesses to large lookup tables. Our parallel solution is a combination of multiple techniques: streaming data to the SPEs and parallelizing inner loop computations, building caches on the SPEs to store parts of the large catastrophe modelling lookup tables, vectorizing the computation on the SPEs, and double-buffering the file I/O. On a (Playstation 3) Cell Processor with six active SPEs and 4-way vectorization on each SPE (implying a maximum theoretical 24x speedup), we were able to measure a sustained 16x speedup for our parallel catastrophe modelling code over a wide range of data sizes for real life Japanese earthquake data.
[1]
Jason N. Dale,et al.
Cell Broadband Engine Architecture and its first implementation - A performance view
,
2007,
IBM J. Res. Dev..
[2]
H. Kunreuther,et al.
Catastrophe modeling : a new approach to managing risk
,
2013
.
[3]
James D. Warnock,et al.
Cell Broadband Engine processor: Design and implementation
,
2007,
IBM J. Res. Dev..
[4]
Stephanie E. Chang,et al.
HAZUS-MH Flood Loss Estimation Methodology. II. Damage and Loss Assessment
,
2006
.
[5]
Daniel A. Brokenshire,et al.
Introduction to the Cell Broadband Engine Architecture
,
2007,
IBM J. Res. Dev..
[6]
Steven P. French,et al.
Risk Assessment, Modeling and Decision Support
,
2008
.