DocumentCode
1120092
Title
The Design and Implementation of a Domain-Specific Language for Network Performance Testing
Author
Pakin, Scott
Author_Institution
Los Alamos Nat. Lab., Los Alamos
Volume
18
Issue
10
fYear
2007
Firstpage
1436
Lastpage
1449
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;
fLanguage
English
Journal_Title
Parallel and Distributed Systems, IEEE Transactions on
Publisher
ieee
ISSN
1045-9219
Type
jour
DOI
10.1109/TPDS.2007.1065
Filename
4302730
Link To Document