Introduction a traditional programming style teaches that computer programs can be broken down by function into three main sections 1. input 2. computation 3. output For science applications, much of what has been learned about mel in this course addresses the computation phase. With parallel systems allowing larger computational models, these applications often produce large amounts of output
Introduction • A traditional programming style teaches that computer programs can be broken down by function into three main sections: 1. input 2. computation 3. output • For science applications, much of what has been learned about MPI in this course addresses the computation phase. With parallel systems allowing larger computational models, these applications often produce large amounts of output
Introduction Serial 1/0 on a parallel machine can have large time penalties for many reasons Larger datasets generated from parallel applications have a serial bottleneck if l/o is only done on one node Many MPP machines are built from large numbers of slower processors which increase the time penalty as the serial lo gets funneled through a single, slower processor Some parallel datasets are too large to be sent back to one node for file O Decomposing the computation phase while leaving the l /o channeled through one processor to one file can cause the time required for i o to be of the same order or exceed the time required for parallel computation There are also non-science applications in which input and output are the dominant processes and significant performance improvement can be obtained with parallel I /O
Introduction • Serial I/O on a parallel machine can have large time penalties for many reasons. – Larger datasets generated from parallel applications have a serial bottleneck if I/O is only done on one node – Many MPP machines are built from large numbers of slower processors, which increase the time penalty as the serial I/O gets funneled through a single, slower processor – Some parallel datasets are too large to be sent back to one node for file I/O • Decomposing the computation phase while leaving the I/O channeled through one processor to one file can cause the time required for I/O to be of the same order or exceed the time required for parallel computation. • There are also non-science applications in which input and output are the dominant processes and significant performance improvement can be obtained with parallel I/O
Applications
Applications
I Applications The ability to parallelize /0 can offer significant performance improvements. Several applications are given here to show examples
Applications • The ability to parallelize I/O can offer significant performance improvements. Several applications are given here to show examples
Large Computational Grids/Meshes Many new applications are utilizing finer resolution meshes and grids. Computed properties at each node and/or element often need to be written to storage for data analysis at a later time. These large computational grid/meshes Increase i/o requirements because of the larger number of data points to be saved Increase l/o time because data is being funneled through slower commodity processors in MPP
Large Computational Grids/Meshes • Many new applications are utilizing finer resolution meshes and grids. Computed properties at each node and/or element often need to be written to storage for data analysis at a later time. These large computational grid/meshes – Increase I/O requirements because of the larger number of data points to be saved. – Increase I/O time because data is being funneled through slower commodity processors in MPP