PRINTSCRIPT; print $script_style; include "/var/www/html/core/partc"; $linkpage = <<< PRINTLINK gfdl homepage > people > v. balaji's homepage > this page PRINTLINK; print $linkpage; // GFDL header include "/var/www/html/core/partd"; $titlepage = <<< TITLEPAGE IO Domains: Proposal to extend FMS data structures to support asynchronous parallel IO TITLEPAGE; print $titlepage; // GFDL header include_once( '/var/lib/php/counter.inc' ); error_reporting(E_ERROR); require_once('../magpierss/rss_fetch.inc'); require_once('../magpierss/rss_utils.inc'); include "/var/www/html/core/parte"; $pagecontent = <<< ENDCONTENT

1.   Introduction

The FMS parallel I/O layer, mpp_io, supports three I/O modes: single-threaded, where a “root PE” gathers data arrays across a domain decomposition and performs I/O calls, parallel I/O, where all PEs write their own data sections into the same file, and distributed I/O, where PEs write their data sections into independent files, which can be combined offline into a single file, if desired.

Current FMS practice is to use single-threaded I/O for restart files, and distributed I/O, followed by mppnccombine, for history files. As our processor counts climb from 𝒪(100) to 𝒪(1000), we observe that I/O is starting to become a significant drag on performance.

Asynchronous I/O (Stevens and Rago 2005, see any standard text, e.g) is the obvious answer, but is as yet poorly implemented within the I/O libraries we use, such as netCDF. This is a proposed extension of the domain2D structure to support asynchronous parallel I/O within FMS.


TeX4HT created by v. balaji (balaji@princeton.edu) in emacs using Tex4HT.
ENDCONTENT; print $pagecontent; print "last modified: ". date( "d F Y", getlastmod() ); print "
this page visited: ".getCount(). " times "; include "/var/www/html/core/partf"; include "/var/www/html/core/partg";