# K1.3.2.5-B Parallel I/O # Background Parallel I/O allows each processor in a multi-processor system to read and write data from multiple processes to a common file independently. Data-intensive scientific applications use parallel I/O software to access files. In HPC, increasing demands in the I/O system can cause bottlenecks. Parallel I/O plays a fundamental role to balance the fast increase in computational power and the progress of processor architectures. # Aim * Establish the elements of a parallel I/O system: * Collective operations. * User-defined datatypes to describe both memory and file layout. * Communicators to separate application-level message passing from I/O-related message passing. * Non-blocking operations. * Use proper parallel I/O to overcome I/O bottlenecks in HPC environments. # Outcomes * Use parallel I/O libraries. * Assess the implications of parallel I/O on application efficiency. * Implement an application that utilizes parallel I/O to store, retrieve and analyze data. * Improve the I/O throughput with a parallel I/O file system. * List I/O system simulators developed for parallel I/O. # Subskills * [[skill-tree:k:1:3:2:5:1:b]] * [[skill-tree:k:1:3:2:5:2:b]]