Power Measurement and Modulization in the Network Protocol Independent Performance Evaluator (NetPIPE)
In order to provide a more user-friendly environment and a clearer benchmark for computational efficiency and to promote America's energy security through reliable, clean and affordable energy, a version of the Network Protocol Independent Performance Evaluator (NetPIPE) was created, which was written completely in the object-oriented Python language. NetPIPE performs simple ping-pong tests for increasing message sizes to determine network bandwidth and latency. The base code created last year by Science Undergraduate Laboratory Internship student Torrey Dupras, which implemented NetPIPE using Python and a Python module written in C, was modified to be purely Python, and its efficiency was compared with the previous version. The NetPIPE package was also modified to include code which documents power use during a NetPIPE experiment and outputs the results of a NetPIPE run using the Python matplotlib module to show graphs of various data. The power data was obtained by using a Watts up? PRO meter which registers the base power consumption of a device once per second. The results of the investigation revealed that, for both the implementations, there appeared to be a correlation between network bandwidth and rate of energy consumed. Further, the Python module had about one-half the peak bandwidth of the C module; however, it was much more portable to operating systems other than Linux. As energy rather than computing speed becomes the dominant factor in computer performance, these experiments could provide a base for efficiency measurements in the future and also a greater ease of access for those wishing to perform those measurements.The Journal of Young Investigators is not affiliated with the US Department of Energy. This paper was written by a student intern with the Department of Energy and does not constitute a declarative position of either the Department of Energy or the Journal of Young Investigators.