Hawk: A Runtime System for Partitioned Objects

S. Ben Hassen, H.E. Bal, A.S. Tanenbaum

Research output: Contribution to JournalArticleAcademicpeer-review


Hawk is a language-independent runtime system for writing data-parallel programs using partitioned objects. A partitioned object is a multidimensional array of elements that can be partitioned and distributed by the programmer. The Hawk runtime system uses the user-defined partitioning of objects and a runtime mechanism based on Partition Dependency Graphs (PDGs) to increase the granularity of data transfers and consistency checks to a partition. Hawk further oplimizes the execution of parallel operations by prefetching data and overlapping communication and computation.

We first present the partitioned object model. Then, we give an overview of Hawk and describe how it uses PDGs to reduce communication overhead and optimize parallel operations. Finally, we discuss the effectiveness of our optimization technique with two applications written on top of Hawk.
Original languageEnglish
Pages (from-to)205-230
Number of pages26
JournalJournal of Parallel and Distributed Computing
Issue number1-3
Publication statusPublished - 1997


  • Data Parallelism
  • Partitioned Objects
  • Data Transfers
  • Performance


Dive into the research topics of 'Hawk: A Runtime System for Partitioned Objects'. Together they form a unique fingerprint.

Cite this