Enhancing OpenMP for Parallelizing Input/Output in Shared Memory Applications
OpenMP has become a cornerstone for parallelizing computations in shared-memory environments. However, a crucial aspect often overlooked is the parallelization of input and output (I/O) operations within applications. This topic aims to explore the untapped potential of extending OpenMP to parallelize the serial aspects of I/O operations in shared-memory applications.
Objectives
Research Component
- Conduct a comprehensive literature review on existing parallelization strategies for I/O operations for shared memory systems.
- Utilize code search engines (e.g., for GitHub) to identify serial applications with potential for I/O parallelization.
- Evaluate current practices and challenges related to I/O operations in shared-memory applications.
Development Component
- Introduce a novel pragma to OpenMP for recalculating file offsets and managing file handlers in parallel.
- Develop a proof-of-concept implementation showcasing the effectiveness of the proposed pragma.
- Implement necessary modifications to OpenMP runtime to support the new parallelization approach.
Contact: Michael Kuhn and Anna Fuchs