The Design and Implementation of a Domain-Specific Language for Network Performance Testing

  • Authors:
  • Scott Pakin

  • Affiliations:
  • -

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Abstract—CONCEPTUAL is a toolset designed specifically to help measure the performance of high-speed interconnection networks such as those used in workstation clusters and parallel computers. It centers around a high-level, domain-specific language which makes it easy for a programmer to express, measure, and report the performance of complex communication patterns. The primary challenge in implementing a compiler for such a language is that the generated code must be extremely efficient so as not to misattribute overhead costs to the messaging library. At the same time, the language itself must not sacrifice expressiveness for compiler efficiency or there would be little point in using a high-level language for performance testing.This paper describes the CONCEPTUAL language and the CONCEPTUAL compiler’s novel code-generation framework. The language provides primitives for a wide variety of idioms needed for performance testing and emphasizes a readable syntax. The core code-generation technique, based on unrolling CONCEPTUAL programs into sequences of communication events, is simple yet enables the efficient implementation of a variety of high-level constructs. The paper further explains how CONCEPTUAL implements time-bounded loops—even those which comprise blocking communication—in the absence of a timeout mechanism as this is a somewhat unique language/implementation feature.