作者: Anne Meade
DOI:
关键词:
摘要: Parallelising serial software systems presents many challenges. In particular, the task of decomposing large, data-intensive applications for execution on distributed architectures is described in literature as error-prone and time-consuming. The Message Passing Interface (MPI) specification de facto industry standard to program such architectures, but requires low level knowledge data distribution details programmers must explicitly invoke inter-process communication routines. This research reports findings from empirical studies conducted industry, explore characterise challenges associated with performing decomposition. Findings these culminated a list derived requirements tool support, encompassing automation grid indexing, generation structures calls, provision assistance when changing an implemented decomposition strategy. Additional include need be MPI focused, initially target structured grids have impact application code. These were subsequently buttressed address gaps state-of-the-art provided motivation development named MPIGen. MPIGen provides abstraction MPI, encapsulating involved exchanging messages between processors. Users can express parallel intent their through input parameters then generate code containing wrapper functions that encompass functionality. invoked within resulting semi-automated parallelised solution. programmer relieved burden deciphering memory locations was evaluated two involving both students High Performance Computing (HPC) practitioners subjects. concluded efficient it satisfies empirically requirements. Parallel programming difficult skill developers learn, yet nature specifications adverse factor its adoption. makes easier adopt this skill-set offers effective support undertaking communication.