Computational & Technology Resources
an online resource for computational,
engineering & technology publications
Civil-Comp Proceedings
ISSN 1759-3433
CCP: 95
PROCEEDINGS OF THE SECOND INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, GRID AND CLOUD COMPUTING FOR ENGINEERING
Edited by:
Paper 97

Worker-Based Simulation for Subsea Pipeline Design Software

J. Muylle1, B.H.V. Topping1,2,3 and R. Denis4

1Computational Technology Solutions, Stirlingshire, United Kingdom
2Heriot-Watt University, Edinburgh, United Kingdom
3University of Pécs, Hungary
4Fugro Geoconsulting, Brussels, Belgium

Full Bibliographic Reference for this paper
J. Muylle, B.H.V. Topping, R. Denis, "Worker-Based Simulation for Subsea Pipeline Design Software", in , (Editors), "Proceedings of the Second International Conference on Parallel, Distributed, Grid and Cloud Computing for Engineering", Civil-Comp Press, Stirlingshire, UK, Paper 97, 2011. doi:10.4203/ccp.95.97
Keywords: engineering software, multi-threading, task-based parallelisation, explicit integration.

Summary
The core of the simulation engine consists of a series of loops over all pipe nodes within a time loop. The time loop advances the time iterator by a small timestep. The loops over all pipe nodes compute the changes in the pipe arising from internal and external forces and result in displacements of the pipe nodes within each timestep.

Two potential parallelisation strategies are identified as being appropriate: geometric decomposition and task-based parallelisation.

In the geometric decomposition strategy, the pipe itself is divided into sections, called domains. Each processing thread takes responsibility for one of the domains, and updates all the pipe nodes in their domain as time advances. Barriers at the start of each timestep, effectively synchronising the domain updates, are required to avoid problems at the boundaries between the domains.

In a task-based parallelisation strategy the algorithm is broken down into smaller tasks that can be carried out concurrently. An elegant and efficient strategy to solve this problem is described using a "moving workers" analogy. The workers travel along the pipe updating each node they pass. Barriers are used to avoid workers overtaking each other.

Only the worker-based stategy is implemented using the task scheduling algorithms available in the IntelR threading building blocks library [1]. The performance of the programme is then evaluated and speedup factors are computed for a test case using up to four processing cores. Inefficient handling of threads by the operating system is identified as the root cause for less-than-optimal performance. It is demonstrated that, nevertheless, a significant and worthwhile reduction in the processing time can be achieved.

References
1
J. Reinders, "Intel Threading Building Blocks", O'Reilly, Sebastopol CA, USA, 2007.

purchase the full-text of this paper (price £20)

go to the previous paper
go to the next paper
return to the table of contents
return to the book description
purchase this book (price £85 +P&P)