mpi and fault tolerance concept and limitations of the
play

MPI and Fault Tolerance: concept and limitations of the current - PowerPoint PPT Presentation

MPI and Fault Tolerance: concept and limitations of the current specification Edgar Gabriel High Performance Computing Center Stuttgart (HLRS) gabriel@hlrs.de Edgar Gabrielr High Performance Computing Center Stuttgart Outline Motivation


  1. MPI and Fault Tolerance: concept and limitations of the current specification Edgar Gabriel High Performance Computing Center Stuttgart (HLRS) gabriel@hlrs.de Edgar Gabrielr High Performance Computing Center Stuttgart

  2. Outline • Motivation • MPI-1 and error handling • MPI-2 dynamic communicators • Fault-tolerant manager-worker frameworks – Concept – Status with current MPI libraries • Summary Edgar Gabriel High Performance Computing Center Stuttgart

  3. Motivation • Process failures happen – – and are getting more probable with increasing number of processes • Checkpoint-Restart mechanisms work – but also have their limitations Is an extension of MPI necessary to handle process failures ? Edgar Gabriel High Performance Computing Center Stuttgart

  4. MPI – 1 error handling Static group of processes - MPI_COMM_WORLD • • An error handler is attached to each communicator – MPI_ERRORS_ARE_FATAL: abort application on error – MPI_ERRORS_RETURN: return control to user application • MPI_Abort is allowed to ignore communicator argument – All MPI-1 implementations do ignore the communicator argument. Edgar Gabriel High Performance Computing Center Stuttgart

  5. � MPI-2 dynamic communicators • MPI-2 enables spawning of new processes • MPI-2 enables connecting two already running applications • Failure in one application might affect all connected applications „As in MPI-1, it [MPI_Abort] may abort all processes in MPI_COMM_WORLD (ignoring its comm argument). Additionally, it may abort connected processes as well, although it makes best attempt to abort only the processes in comm.“ weak statement MPI-2 page 106 Edgar Gabriel High Performance Computing Center Stuttgart

  6. � Disconnected processes • Connected processes can disconnect using MPI_Comm_disconnect • Parent and child processes might disconnect „MPI _Abort does not abort independent processes“ strong statement MPI-2 page 106 • It is not possible to disconnect processes sharing the same MPI_COMM_WORLD Edgar Gabriel High Performance Computing Center Stuttgart

  7. Manager – worker framework 1 (I) Worker 1 MPI_Comm_spawn() Manager Worker 2 MPI_Comm_spawn() Worker 3 MPI_Comm_spawn() Edgar Gabriel High Performance Computing Center Stuttgart

  8. Manager – worker framework 1 (II) Worker 1 Manager Worker 2 Worker 3 New worker 3 MPI_Comm_spawn() Edgar Gabriel High Performance Computing Center Stuttgart

  9. Relevant questions 1. Does manager survive the failure of worker processes? 2. What happens if manager tries to send a message to a failed worker process? 4. Can manager re-spawn worker processes after an error occurred? 5. Can manager communicate internally after the failing of worker process(es)? Edgar Gabriel High Performance Computing Center Stuttgart

  10. ✁ � � � � � ✁ ✁ � ✁ Status of current implementations LAM/ MPICH2- MPI/S Hitachi SUN- Open MPI 0.97b X MPI MPI MPI - - 1. Manager survives failing worker process - - - 2. Manager can handle sending a msg. to failed processes - - - 3. Manager can spawn ( ) new worker processes ( ) ( ) ( ) ( ) 4. Manager can communicate internally after worker failed Edgar Gabriel High Performance Computing Center Stuttgart

  11. Manager – worker framework 2 (II) Worker 1 MPI_Comm_spawn() MPI_Comm_disconnect() Manager Worker 2 MPI_Comm_spawn() MPI_Comm_disconnect() Worker 3 MPI_Comm_spawn() MPI_Comm_disconnect() Edgar Gabriel High Performance Computing Center Stuttgart

  12. Manager – worker framework 2 (I) Worker 1 MPI_Comm_connect/accept() MPI_Comm_disconnect() MPI_Send/MPI_Recv Manager Worker 2 Worker 3 Edgar Gabriel High Performance Computing Center Stuttgart

  13. Problems with second framework • Manager might still be teared down by failing worker processes while being connected • MPI_Comm_connect/accept has to be able to discover failed worker process • Slow – you have to reconnect to worker for every single message Edgar Gabriel High Performance Computing Center Stuttgart

  14. Can we write an ft-application based on MPI-2? Under optimal circumstances : yes • – If your MPI implementation supports the weak statement • Problems – Still not portable – since MPI implementations don‘t have to support the weak statement – No concept on how to discover process failures (e.g. a unique error code) Edgar Gabriel High Performance Computing Center Stuttgart

  15. Summary • MPI-2 offers new possibilities with dynamic communicators for ft-applications • Error handling of dynamically connected processes has a weak statement on process failures and a strong statement – Strong statement does unfortunately not help in most ft-scenarios Edgar Gabriel High Performance Computing Center Stuttgart

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend