Title :
The Design and Implementation of a Domain-Specific Language for Network Performance Testing
Author_Institution :
Los Alamos Nat. Lab., Los Alamos
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 that comprise blocking communication - in the absence of a time-out mechanism as this is a somewhat unique language/implementation feature.
Keywords :
computational linguistics; high level languages; message passing; program compilers; program control structures; program testing; software performance evaluation; specification languages; CONCEPTUAL language; blocking communication; code generation; domain-specific language; high-level language; high-speed interconnection networks; messaging library; network performance testing; parallel computers; program compiler; readable syntax; time-bounded loops; time-out mechanism; workstation clusters; Computer networks; Concurrent computing; Costs; Domain specific languages; High performance computing; Libraries; Multiprocessor interconnection networks; Programming profession; Testing; Workstations; Interprocessor communications; Measurement techniques; Specialized application languages;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2007.1065