• 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