@InProceedings{ding:oceanmodel, author = {Chris H.~Q. Ding and Yun He}, title = {Data Organization and {I/O} in a Parallel Ocean Circulation Model}, booktitle = {Proceedings of SC99: High Performance Networking and Computing}, year = {1999}, month = {November}, publisher = {ACM Press and IEEE Computer Society Press}, address = {Portland, OR}, URL = {http://www.sc99.org/proceedings/papers/ding.pdf}, keywords = {scientific application, parallel I/O, ocean modeling, climate modeling, pario-bib}, comment = {They describe the approaches taken to optimize an out-of-core parallel ocean model simulation on parallel distributed-memory machines. The original code used fixed size memory windows to store the in-core portions of dataset on the machine. The code used the same approach for machines that had enough memory to store the entire data set in-core, except rather than reading and writing to disk, the code copied to/from ramdisk (very copy intensive). The new code added an option to allow the entire dataset to be run in-core. Another place where the code could be optimized was in the writing of the dataset. For computational efficiency, the data was stored in memory as an array U(ix,iz,iy), but other applications needed the data stored on disk as U(ix,iy,iz). To optimize the I/O, the new code allocated additional processors to gather and re-organize and write the data to disk (much like Salvo).} }