|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| Scott Pakin, "coNCePTuaL: A Network Correctness and Performance Testing Language," Parallel and Distributed Processing Symposium, International, vol. 1, pp. 79a, 18th International Parallel and Distributed Processing Symposium (IPDPS'04) - Papers, 2004. | |||
| BibTex | x | ||
| @article{ 10.1109/IPDPS.2004.1303014, author = {Scott Pakin}, title = {coNCePTuaL: A Network Correctness and Performance Testing Language}, journal ={Parallel and Distributed Processing Symposium, International}, volume = {1}, year = {2004}, isbn = {0-7695-2132-0}, pages = {79a}, doi = {http://doi.ieeecomputersociety.org/10.1109/IPDPS.2004.1303014}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - CONF JO - Parallel and Distributed Processing Symposium, International TI - coNCePTuaL: A Network Correctness and Performance Testing Language SN - 0-7695-2132-0 SP EP A1 - Scott Pakin, PY - 2004 VL - 1 JA - Parallel and Distributed Processing Symposium, International ER - | |||
This paper introduces a new, domain-specific specification language called CONCEPTUAL. CONCEPTUAL enables the expression of sophisticated communication benchmarks and network validation tests in comparatively few lines of code. Besides helping programmers save time writing and debugging code, CONCEPTUAL addresses the important — but largely unrecognized — problem of benchmark opacity. Benchmark opacity refers to the current impracticality of presenting performance measurements in a manner that promotes reproducibility and independent evaluation of the results. For example, stating that a performance graph was produced by a "bandwidth" test says nothing about whether that test measures the data rate during a round-trip transmission or the average data rate over a number of back-to-back unidirectional messages; whether the benchmark preregisters buffers, sends warm-up messages, and/or pre-posts asynchronous receives before starting the clock; how many runs were performed and whether these were aggregated by taking the mean, median, or maximum; or, even whether a data unit such as "MB/s" indicates 106 or 220 bytes per second.
Because CONCEPTUAL programs are terse, a benchmark's complete source code can be listed alongside performance results, making explicit all of the design decisions that went into the benchmark program. Because CONCEPTUAL's grammar is English-like, CONCEPTUAL programs can easily be understood by non-experts. And because CONCEPTUAL is a high-level language, it can target a variety of messaging layers and networks, enabling fair and accurate performance comparisons.
