TimerMeter
Zur Navigation springen
Zur Suche springen
Description
- TimerMeter is a novel solution for platform-independent quantification of accuracy and invocation cost of any timer methods, without inspecting the implementation of the timer methods.
- TimerMeter addresses quality attributes such as accuracy, resolution, granularity and precision.
- Currently, a Java implementation and an implementation in C# (for both .NET and Mono) are available.
- TimerMeter is also applicable to counters and comes with many examples and JNI-based bindings of native timer methods, e.g. Windows API QueryPerformanceCounter.
Download
- We provide TimerMeter to interested parties free of charge, and several researchers have already used TimerMeter in their work (e.g. a journal paper on a new implementation method of timer for periodic tasks, and the Faban benchmark harness that used in SPEC benchmarks).
- If you want to use TimerMeter in your research or commercial product, please email us at
.
- We will also provide support for TimerMeter, and source code can be made available as well.
Documentation and Publications
- TimerMeter: Quantifying Properties of Software Timers for System Analysis
- Contents: the initial paper (QEST 2009), it describes TimerMeter including the evaluation of its Java implementation on several platforms and for several counters and timers (TSC, QueryPerformanceCounter, System.nanoTime(), System.currentTimeMillis() etc.)
- Download of published paper: official page at IEEE, with PDF download (may require IEEExplore login, please contact if you cannot access the PDF)
- Alternative download of published paper: official page at ACM, may require ACM login
- Download of the preprint version (for private and educational use only!): PDF, 369 KB
- BibTeX entry for the conference paper
- Slides: contact Michael Kuperberg for slides
- Metric-based Selection of Timer Methods for Accurate Measurements
- Contents: follow-up work (ICPE 2011) on systematically selecting timer methods on the basis of their quality attributes, using a novel unified metric.
- Download of published paper: official page at IEEE, with PDF download (may require IEEExplore login, please contact if you cannot access neither this PDF nor the PDF on the IEEE page)
- Alternative download of the published paper: official page at ACM, with PDF download (may require IEEExplore login, please contact Michael Kuperberg if you cannot access the PDF)
- Download of the preprint version (for private and educational use only!): [[1]]
- BibTeX entry for the conference paper
- Slides: contact Michael Kuperberg for slides
- Analysing the Fidelity of Measurements Performed with Hardware Performance Counters
- Contents: paper and poster presentation (ICPE 2011) on problems with direct usage of hardware performance counters, such as TSC (Timerstamp Counter).
- Download of published paper: official page at IEEE, with PDF download (may require IEEExplore login, please contact if you cannot access neither this PDF nor the PDF on the ACM page, linked below)
- Alternative download of published paper: official page at ACM, with PDF download (may require ACM login, please contact if you cannot access the PDF)
- Download of the preprint version (for private and educational use only!): [[2]]
- BibTeX entry for the conference paper
- Poster: contact Michael Kuperberg for the poster itself (as PDF)
Implementation
- TimerMeter has been implemented by Michael Kuperberg and Martin Krogmann from the research group "Software Design and Quality"
- The work is carried out in the context of the Palladio project led by Prof. Ralf Reussner.
- The following timer methods are currently covered:
- java.lang.System.nanoTime()
- java.lang.System.currentTimeMillis()
- java.lang.management.ThreadMXBean.getCurrentThreadCpuTime()
- java.lang.management.ThreadMXBean.getCurrentThreadUserTime()
- java.lang.management.OperatingSystemMXBean.getProcessCpuTime() (on supported JVMs)
- sun.misc.Perf.highResCounter() (on supported JVMs)
- gettimeofday function (Linux platforms, using JNI)
- QueryPerformanceCounter function (Windows platforms, using both Java JNI and access from C#)
- TimeStampCounter function (known as TSC or RDTSC, implemented for Linux and Windows platforms using JNI)
- System.DateTime.Now.Ticks used from C# (both .NET and Mono are supported)
- System.Diagnostics.StopWatch class used from C# (both .NET and Mono are supported)
Contact
, or see Michael Kuperberg's page.
- Last updated on Thursday, May 26th, 2011