Skip to main navigation Skip to search Skip to main content

DwarfCode: A performance prediction tool for parallel applications

  • Weizhe Zhang*
  • , Albert M.K. Cheng
  • , Jaspal Subhlok
  • *Corresponding author for this work
  • School of Computer Science and Technology, Harbin Institute of Technology
  • University of Houston

Research output: Contribution to journalArticlepeer-review

Abstract

We present DwarfCode, a performance prediction tool for MPI applications on diverse computing platforms. The goal is to accurately predict the running time of applications for task scheduling and job migration. First, DwarfCode collects the execution traces to record the computing and communication events. Then, it merges the traces from different processes into a single trace. After that, DwarfCode identifies and compresses the repeating patterns in the final trace to shrink the size of the events. Finally, a dwarf code is generated to mimic the original program behavior. This smaller running benchmark is replayed in the target platform to predict the performance of the original application. In order to generate such a benchmark, two major challenges are to reduce the time complexity of trace merging and repeat compression algorithms. We propose an O(mpn) trace merging algorithm to combine the traces generated by separate MPI processes, where m denotes the upper bound of tracing distance, p denotes the number of processes, and n denotes the maximum of event numbers of all the traces. More importantly, we put forward a novel repeat compression algorithm, whose time complexity is O(nlogn). Experimental results show that DwarfCode can accurately predict the running time of MPI applications. The error rate is below 10 percent for compute and communication intensive applications. This toolkit has been released for free download as a GNU General Public License v3 software.

Original languageEnglish
Article number7098397
Pages (from-to)495-507
Number of pages13
JournalIEEE Transactions on Computers
Volume65
Issue number2
DOIs
StatePublished - 1 Feb 2016
Externally publishedYes

Keywords

  • DwarfCode
  • MPI application
  • Performance prediction
  • trace compressing
  • trace merging

Fingerprint

Dive into the research topics of 'DwarfCode: A performance prediction tool for parallel applications'. Together they form a unique fingerprint.

Cite this