i o scheduling service for multi application clusters
play

I/O Scheduling Service for Multi-Application Clusters Adrien Lebre - PowerPoint PPT Presentation

I/O Scheduling Service for Multi-Application Clusters Adrien Lebre Adrien.Lebre@irisa.fr Guillaume Huard, Yves Denneulin { Adrien.Lebre,Guillaume.Huard,Yves.Denneulin } @imag.fr Laboratoire ID-IMAG (UMR 5132), Grenoble, France. BULL - HPC,


  1. I/O Scheduling Service for Multi-Application Clusters Adrien Lebre Adrien.Lebre@irisa.fr Guillaume Huard, Yves Denneulin { Adrien.Lebre,Guillaume.Huard,Yves.Denneulin } @imag.fr Laboratoire ID-IMAG (UMR 5132), Grenoble, France. BULL - HPC, ´ Echirolles, France. Przemyslaw Sowa sowa@icis.pcz.pl Institute of Computer and Information Sciences Czestochowa University of Technology, Poland. Adrien Lebre aIOLi - workshop Phenix - December 2006 � Bull-ID LIPS 2006 c

  2. Plan Part 1 - Parallel Input/Output and Clusters Part 2 - Controlling and Scheduling Multi-application I/O Part 3 - aIOLi, an Input/Output Scheduler for HPC Part 4 - Conclusion Adrien Lebre 2/26 aIOLi - workshop Phenix - December 2006 � Bull-ID LIPS 2006 c

  3. Plan Part 1 - Parallel Input/Output and Clusters 1 Introduction Context Parallel I/O 2 Parallel I/O and Clusters Available Solutions 3 Objectives Part 2 - Controlling and Scheduling Multi-application I/O Part 3 - aIOLi, an Input/Output Scheduler for HPC Part 4 - Conclusion Adrien Lebre 3/26 aIOLi - workshop Phenix - December 2006 � Bull-ID LIPS 2006 c

  4. Context Environment Clusters of SMPs Linux High Performance Computing Intensive I/O applications CPU bounded application ⇒ I/O bounded application Remote hard drive I/O Parallel I/O Handling concurrent accesses to a same resource (a file) Accesses: different in size, in offset Example: a parallel matrix product Adrien Lebre 4/26 aIOLi - workshop Phenix - December 2006 � Bull-ID LIPS 2006 c

  5. Parallel I/O - Example Parallel matrix product Specific parts to fetch according to the data distribution (columns/rows, BLOCK/BLOCK ...) Matrix A Matrix B Matrix C a b c ... ... 1 2 3 ... ... ? ? ? ... ... d e f ... ... 4 5 6 ... ... ? ? ? ... ... g h i ... ... 7 8 9 ... ... ? ? ? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Matrices are stored "row by row" in files Matrix A a b c ... ... d e f ... ... g h i ... ... ... ... ... ... Matrix B 1 2 3 ... ... 4 5 6 ... ... 7 8 9 ... ... ... ... ... ... Adrien Lebre 5/26 aIOLi - workshop Phenix - December 2006 � Bull-ID LIPS 2006 c

  6. Parallel I/O - Example Parallel matrix product Specific parts to fetch according to the data distribution (columns/rows, BLOCK/BLOCK ...) Matrix A Matrix B Matrix C 1 read (n) P 0 n read (1) a b c ... ... 1 2 3 ... ... ? ? ? ... ... d e f ... ... 4 5 6 ... ... ? ? ? ... ... g h i ... ... 7 8 9 ... ... ? ? ? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Matrices are stored "row by row" in files Matrix A a b c ... ... d e f ... ... g h i ... ... ... ... ... ... Matrix B 1 2 3 ... ... 4 5 6 ... ... 7 8 9 ... ... ... ... ... ... Adrien Lebre 5/26 aIOLi - workshop Phenix - December 2006 � Bull-ID LIPS 2006 c

  7. Parallel I/O - Example Parallel matrix product Specific parts to fetch according to the data distribution (columns/rows, BLOCK/BLOCK ...) Matrix A Matrix B Matrix C 1 read (n) P 0 n read (1) a b c ... ... 1 2 3 ... ... ? ? ? ... ... 1 read (n) d e f ... ... 4 5 6 ... ... ? ? ? ... ... P 1 n read (1) g h i ... ... 7 8 9 ... ... ? ? ? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Matrices are stored "row by row" in files Matrix A a b c ... ... d e f ... ... g h i ... ... ... ... ... ... Matrix B 1 2 3 ... ... 4 5 6 ... ... 7 8 9 ... ... ... ... ... ... Adrien Lebre 5/26 aIOLi - workshop Phenix - December 2006 � Bull-ID LIPS 2006 c

  8. Parallel I/O - Example Parallel matrix product Specific parts to fetch according to the data distribution (columns/rows, BLOCK/BLOCK ...) File decomposition: Lot of disjoint/contiguous requests at the same time ⇒ ”lethal” behaviour for I/O subsystem Matrix A Matrix B Matrix C 1 read (n) P 0 n read (1) a b c ... ... 1 2 3 ... ... ? ? ? ... ... 1 read (n) d e f ... ... 4 5 6 ... ... ? ? ? ... ... P 1 n read (1) g h i ... ... 7 8 9 ... ... ? ? ? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1 read (n) P i ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... n read (1) Matrices are stored "row by row" in files 1 read (n) P p n read (1) Matrix A a b c ... ... d e f ... ... g h i ... ... ... ... ... ... Matrix B 1 2 3 ... ... 4 5 6 ... ... 7 8 9 ... ... ... ... ... ... n2 * read (n) n2 * n read (1) Adrien Lebre 5/26 aIOLi - workshop Phenix - December 2006 � Bull-ID LIPS 2006 c

  9. Parallel I/O - Example No defined order between requests ⇒ many disk head movements Matrix A Matrix B Matrix C P 0 a b c ... ... 1 2 3 ... ... ? ? ? ... ... d e f ... ... 4 5 6 ... ... ? ? ? ... ... P 1 g h i ... ... 7 8 9 ... ... ? ? ? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... P i ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Matrix are stored "row by row" in files P p Matrix A a b c ... ... d e f ... ... g h i ... ... ... ... ... ... SEEK SEEK SEEK SEEK time Adrien Lebre 5/26 aIOLi - workshop Phenix - December 2006 � Bull-ID LIPS 2006 c

  10. Parallel I/O - Example No defined order between requests ⇒ many disk head movements Matrix A Matrix B Matrix C P 0 a b c ... ... 1 2 3 ... ... ? ? ? ... ... d e f ... ... 4 5 6 ... ... ? ? ? ... ... P 1 g h i ... ... 7 8 9 ... ... ? ? ? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... P i ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Matrix are stored "row by row" in files P p Matrix A a b c ... ... d e f ... ... g h i ... ... ... ... ... ... SEEK One HDD provides the best performances when files are accessed in a sequential and contiguous way SEEK SEEK SEEK time Adrien Lebre 5/26 aIOLi - workshop Phenix - December 2006 � Bull-ID LIPS 2006 c

  11. Parallel I/O - Example No defined order between requests ⇒ many disk head movements Matrix A Matrix B Matrix C P 0 a b c ... ... 1 2 3 ... ... ? ? ? ... ... d e f ... ... 4 5 6 ... ... ? ? ? ... ... P 1 g h i ... ... 7 8 9 ... ... ? ? ? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... P i ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Matrix are stored "row by row" in files P p Matrix A a b c ... ... d e f ... ... g h i ... ... ... ... ... ... Matrix B 1 2 3 ... ... 4 5 6 ... ... 7 8 9 ... ... ... ... ... ... Similar behavior for the matrix B ”Random order” between requests The bigger the number of requests the bigger the potential number of seeks ⇒ performance degradation (bottlenecks) Adrien Lebre 5/26 aIOLi - workshop Phenix - December 2006 � Bull-ID LIPS 2006 c

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