Abstract

The I/O subsystem was one of the first areas of computer system design to incorporate parallelism. However, enhancement of the parallelism of I/O systems has received little attention in parallel system design. There has been almost no study of the benefit of scheduling parallel I/O operations to increase the multiprocessor system performance. An I/O transfer typically requires a processor or memory, a channel, and an external memory device simultaneously. Parallel I/O thus requires scheduling multiple resources simultaneously, rather than a single resource serially. This paper presents an algorithm for optimal scheduling of batched parallel I/O requests for a common class of shared memory multiprocessors. The algorithm is essentially an optimal k-coloring of a bipartite graph with arbitrary edge weights, where the vertices represent processors and memories and the edges represent I/O transfers. The best previously known k-coloring algorithm has running time O( n 5). We show a series of improvements to obtain an algorithm with a running time O( n 3(log n + log K)), where n is the number of vertices and K is the maximum edge weight, i.e., the length of the longest I/O transfer. We conclude with an experimental study of the performance of the algorithms.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.