{"id":{"repo_id":"wayne-thes","oai_identifier":"oai:digitalcommons.wayne.edu:oa_dissertations-1584"},"canonical_url":"https://search.dev.ndltd.org/etd/wayne-thes/oai:digitalcommons.wayne.edu:oa_dissertations-1584","repository":{"repo_id":"wayne-thes","name":"Wayne State University","base_url":"https://digitalcommons.wayne.edu/do/oai/"},"display":{"title":"Rethinking the design and implementation of the i/o software stack for high-performance computing","abstract":"<p>Current I/O stack for high-performance computing is composed of multiple software layers in order to hide users from complexity of I/O performance optimization. However, the design and implementation of a specific layer is usually carried out separately with limited consideration of its impact on other layers, which could result in suboptimal I/O performance because data access locality is weakened, if not lost, on hard disk, a widely used storage medium in high-end storage systems. </p> <p>In this dissertation, we experimentally demonstrated such issues in four different layers, including operating system process management layer and MPI-IO middleware layer on compute server side, and parallel file system layer and disk I/O scheduling layer on data server side. This dissertation makes four contributions towards solving each of the issues.</p> <p>First, we propose a data-driven execution model for <em>DualPar</em> to explore opportunity of effective I/O scheduling to alleviate I/O bottleneck via cooperation between the I/O and process schedulers. Its novelty is on the ability to obtain a pool of pre-sorted requests to I/O scheduler in its data-driven execution mode by using process pre-execution and prefetching techniques.</p> <p>Second, realizing that well-formed locality for an MPI program by using collective I/O can be seriously compromised by non-determinism in process scheduling, we proposed <em>Resonant I/O</em>, to match the data request pattern with the pattern of file striping over multiple data servers to improve disk efficiency.</p> <p>Third, since the conventional practice for I/O parallelism using file striping may compromise on-disk data access locality, we proposed <em>IOrchestrator</em> scheduling framework which is implemented in PVFS2 parallel file system to improve I/O performance of multi-node storage systems by orchestrating I/O services among programs when such inter-data-server coordination is dynamically determined to be cost effective.</p> <p>Fourth, we developed <em>iTransformer</em>, a scheme that employs a small SSD to schedule requests for the data on disk. Being less space constrained than with more expensive DRAM, iTransformer can buffer larger amounts of dirty data before writing it back to the disk, or prefetch a larger volume of data in a batch into the SSD. In both cases high disk efficiency can be maintained for highly concurrent requests.</p>","abstract_html":"&lt;p&gt;Current I/O stack for high-performance computing is composed of multiple software layers in order to hide users from complexity of I/O performance optimization. However, the design and implementation of a specific layer is usually carried out separately with limited consideration of its impact on other layers, which could result in suboptimal I/O performance because data access locality is weakened, if not lost, on hard disk, a widely used storage medium in high-end storage systems. &lt;/p&gt; &lt;p&gt;In this dissertation, we experimentally demonstrated such issues in four different layers, including operating system process management layer and MPI-IO middleware layer on compute server side, and parallel file system layer and disk I/O scheduling layer on data server side. This dissertation makes four contributions towards solving each of the issues.&lt;/p&gt; &lt;p&gt;First, we propose a data-driven execution model for &lt;em&gt;DualPar&lt;/em&gt; to explore opportunity of effective I/O scheduling to alleviate I/O bottleneck via cooperation between the I/O and process schedulers. Its novelty is on the ability to obtain a pool of pre-sorted requests to I/O scheduler in its data-driven execution mode by using process pre-execution and prefetching techniques.&lt;/p&gt; &lt;p&gt;Second, realizing that well-formed locality for an MPI program by using collective I/O can be seriously compromised by non-determinism in process scheduling, we proposed &lt;em&gt;Resonant I/O&lt;/em&gt;, to match the data request pattern with the pattern of file striping over multiple data servers to improve disk efficiency.&lt;/p&gt; &lt;p&gt;Third, since the conventional practice for I/O parallelism using file striping may compromise on-disk data access locality, we proposed &lt;em&gt;IOrchestrator&lt;/em&gt; scheduling framework which is implemented in PVFS2 parallel file system to improve I/O performance of multi-node storage systems by orchestrating I/O services among programs when such inter-data-server coordination is dynamically determined to be cost effective.&lt;/p&gt; &lt;p&gt;Fourth, we developed &lt;em&gt;iTransformer&lt;/em&gt;, a scheme that employs a small SSD to schedule requests for the data on disk. Being less space constrained than with more expensive DRAM, iTransformer can buffer larger amounts of dirty data before writing it back to the disk, or prefetch a larger volume of data in a batch into the SSD. In both cases high disk efficiency can be maintained for highly concurrent requests.&lt;/p&gt;","abstract_has_math":false,"creators":["Zhang, Xuechen"],"institution":null,"degree_name":"Ph.D.","degree_level":"Open Access Dissertation","degree_discipline":"Electrical and Computer Engineering","degree_department":null,"school":null,"contributors":["Song Jiang"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2012,"date_issued":"2012-01-01T08:00:00Z","date_published":"2012-01-01T08:00:00Z","updated_at":"2026-07-24T05:59:11Z","subjects":["Hard Disks, High-Performance Computing, MPI/IO, Parallel File Systems","Computer Engineering","Computer Sciences"],"languages":[],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://digitalcommons.wayne.edu/oa_dissertations/585","outbound_label":"Repository record","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Song Jiang"]},{"key":"dc:creator","label":"Author","values":["Zhang, Xuechen"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.available","label":"Dc Date Available","values":["2012-01-01T08:00:00Z"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Electrical and Computer Engineering"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Open Access Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Hard Disks, High-Performance Computing, MPI/IO, Parallel File Systems","Computer Engineering","Computer Sciences"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["https://digitalcommons.wayne.edu/oa_dissertations/585"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["<p>Current I/O stack for high-performance computing is composed of multiple software layers in order to hide users from complexity of I/O performance optimization. However, the design and implementation of a specific layer is usually carried out separately with limited consideration of its impact on other layers, which could result in suboptimal I/O performance because data access locality is weakened, if not lost, on hard disk, a widely used storage medium in high-end storage systems. </p> <p>In this dissertation, we experimentally demonstrated such issues in four different layers, including operating system process management layer and MPI-IO middleware layer on compute server side, and parallel file system layer and disk I/O scheduling layer on data server side. This dissertation makes four contributions towards solving each of the issues.</p> <p>First, we propose a data-driven execution model for <em>DualPar</em> to explore opportunity of effective I/O scheduling to alleviate I/O bottleneck via cooperation between the I/O and process schedulers. Its novelty is on the ability to obtain a pool of pre-sorted requests to I/O scheduler in its data-driven execution mode by using process pre-execution and prefetching techniques.</p> <p>Second, realizing that well-formed locality for an MPI program by using collective I/O can be seriously compromised by non-determinism in process scheduling, we proposed <em>Resonant I/O</em>, to match the data request pattern with the pattern of file striping over multiple data servers to improve disk efficiency.</p> <p>Third, since the conventional practice for I/O parallelism using file striping may compromise on-disk data access locality, we proposed <em>IOrchestrator</em> scheduling framework which is implemented in PVFS2 parallel file system to improve I/O performance of multi-node storage systems by orchestrating I/O services among programs when such inter-data-server coordination is dynamically determined to be cost effective.</p> <p>Fourth, we developed <em>iTransformer</em>, a scheme that employs a small SSD to schedule requests for the data on disk. Being less space constrained than with more expensive DRAM, iTransformer can buffer larger amounts of dirty data before writing it back to the disk, or prefetch a larger volume of data in a batch into the SSD. In both cases high disk efficiency can be maintained for highly concurrent requests.</p>"]},{"key":"dc:title","label":"Title","values":["Rethinking the design and implementation of the i/o software stack for high-performance computing"]}]}],"canonical_facts":{"dc:contributor":["Song Jiang"],"dc:creator":["Zhang, Xuechen"],"dc:date.available":["2012-01-01T08:00:00Z"],"dc:description.abstract":["<p>Current I/O stack for high-performance computing is composed of multiple software layers in order to hide users from complexity of I/O performance optimization. However, the design and implementation of a specific layer is usually carried out separately with limited consideration of its impact on other layers, which could result in suboptimal I/O performance because data access locality is weakened, if not lost, on hard disk, a widely used storage medium in high-end storage systems. </p> <p>In this dissertation, we experimentally demonstrated such issues in four different layers, including operating system process management layer and MPI-IO middleware layer on compute server side, and parallel file system layer and disk I/O scheduling layer on data server side. This dissertation makes four contributions towards solving each of the issues.</p> <p>First, we propose a data-driven execution model for <em>DualPar</em> to explore opportunity of effective I/O scheduling to alleviate I/O bottleneck via cooperation between the I/O and process schedulers. Its novelty is on the ability to obtain a pool of pre-sorted requests to I/O scheduler in its data-driven execution mode by using process pre-execution and prefetching techniques.</p> <p>Second, realizing that well-formed locality for an MPI program by using collective I/O can be seriously compromised by non-determinism in process scheduling, we proposed <em>Resonant I/O</em>, to match the data request pattern with the pattern of file striping over multiple data servers to improve disk efficiency.</p> <p>Third, since the conventional practice for I/O parallelism using file striping may compromise on-disk data access locality, we proposed <em>IOrchestrator</em> scheduling framework which is implemented in PVFS2 parallel file system to improve I/O performance of multi-node storage systems by orchestrating I/O services among programs when such inter-data-server coordination is dynamically determined to be cost effective.</p> <p>Fourth, we developed <em>iTransformer</em>, a scheme that employs a small SSD to schedule requests for the data on disk. Being less space constrained than with more expensive DRAM, iTransformer can buffer larger amounts of dirty data before writing it back to the disk, or prefetch a larger volume of data in a batch into the SSD. In both cases high disk efficiency can be maintained for highly concurrent requests.</p>"],"dc:identifier":["https://digitalcommons.wayne.edu/oa_dissertations/585"],"dc:subject":["Hard Disks, High-Performance Computing, MPI/IO, Parallel File Systems","Computer Engineering","Computer Sciences"],"dc:title":["Rethinking the design and implementation of the i/o software stack for high-performance computing"],"thesis:degree_discipline":["Electrical and Computer Engineering"],"thesis:degree_level":["Open Access Dissertation"],"thesis:degree_name":["Ph.D."]},"updated_at":"2026-07-24T05:59:11Z"}