1. [Publications](/index.php/publications)
2. Integrating External Resources with a Task-Based Programming Model
 
 # Integrating External Resources with a Task-Based Programming Model

  ![Publication image](/sites/default/files/styles/wide/public/default_images/default.jpeg?itok=qUFsuJCP "Publication image")

 Accessing external resources (e.g., loading input data, checkpointing snapshots, and out-of-core processing) can have a significant impact on the performance of applications. However, no existing programming systems for high- performance computing directly manage and optimize external accesses. As a result, users must explicitly manage external accesses alongside their computation at the application level, which can result in both correctness and performance issues.

We address this limitation by introducing Iris, a task-based programming model with semantics for external resources. Iris allows applications to describe their access requirements to external resources and the relationship of those accesses to the computation. Iris incorporates external I/O into a deferred execution model, reschedules external I/O to overlap I/O with computation, and reduces external I/O when possible. We evaluate Iris on three microbenchmarks representative of important workloads in HPC and a full combustion simulation, S3D. We demonstrate that the Iris implementation of S3D reduces the external I/O overhead by up to 20×, compared to the Legion and the Fortran implementations.



 ## Authors



Zhihao Jia (Stanford University)

Sean Treichler (NVIDIA)

Galen Shipman (Los Alamos National Laboratory)

[Michael Bauer](/index.php/person/mike-bauer)

Noah Watkins (UC Santa Cruz)

Carlos Maltzahn (UC Santa Cruz)

Patrick McCormick (Los Alamos National Laboratory)

Alex Aiken (Stanford University)

 

 

 ## Publication Date



Monday, December 18, 2017

 

 ## Published in



[International Conference on High Performance Computing (HiPC)](https://ieeexplore.ieee.org/document/8287762)

 

 ## Research Area



[High Performance Computing](/index.php/research-area/high-performance-computing)

[Programming Languages, Systems and Tools](/index.php/research-area/programming-languages-systems)

 

 

 ## External Links



[IEEE Digital Library](https://ieeexplore.ieee.org/document/8287762)

 

 

 ## Uploaded Files



[Published manuscript](https://d1qx31qr3h6wln.cloudfront.net/publications/HiPC_2017_External_Resources.pdf "Open file in new window")761.39 KB

 

 

 ## Copyright



This material is posted here with permission of the IEEE. Internal or personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE by writing to <pubs-permissions@ieee.org>.