1. [Publications](/publications)
2. Scaling Irregular Applications through Data Aggregation and Software Multithreading
 
 # Scaling Irregular Applications through Data Aggregation and Software Multithreading

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

 Emerging applications in areas such as bioinformatics, data analytics, semantic databases and knowledge discovery employ datasets from tens to hundreds of terabytes. Currently, only distributed memory clusters have enough aggregate space to enable in-memory processing of datasets of this size. However, in addition to large sizes, the data structures used by these new application classes are usually charac- terized by unpredictable and fine-grained accesses: i.e., they present an irregular behavior. Traditional commodity clusters, instead, exploit cache-based processor and high-bandwidth networks optimized for locality, regular computation and bulk communication. For these reasons, irregular applications are inefficient on these systems, and require custom, hand-coded optimizations to provide scaling in both performance and size. Lightweight software multithreading, which enables tolerating data access latencies by overlapping network communication with computation, and aggregation, which allows reducing overheads and increasing bandwidth utilization by coalescing fine-grained network messages, are key techniques that can speed up the performance of large scale irregular applications on commodity clusters. In this paper we describe GMT (Global Memory and Threading), a runtime system library that couples software multithreading and message aggregation together with a Partitioned Global Address Space (PGAS) data model to enable higher performance and scaling of irregular applications on multi-node systems. We present the architecture of the runtime, explaining how it is designed around these two critical techniques. We show that irregular applications written using our runtime can outperform, even by orders of magnitude, the corresponding applications written using other programming models that do not exploit these techniques.



 ## Authors



Alessandro Morari (Pacific Northwest National Labs)

Antonino Tumeo (Pacific Northwest National Labs)

Daniel Chavarria-Miranda (Pacific Northwest National Labs)

Oreste Villa (NVIDIA)

Mateo Valero (Universitat Politecnica de Catalunya)

 

 

 ## Publication Date



Monday, May 19, 2014

 

 ## Published in



[International Parallel and Distributed Processing Symposium (IPDPS)](https://ieeexplore.ieee.org/document/6877341)

 

 ## Research Area



[Computer Architecture](/research-area/computer-architecture)

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

 

 

 ## External Links



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

 

 

 ## Uploaded Files



[Published manuscript](https://d1qx31qr3h6wln.cloudfront.net/publications/IPDPS_2014_Scaling_Irregular_Applications_Through_Data_Aggregation_and_Software_Multithreading.pdf "Open file in new window")561.77 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>.