Flexible and High-Speed System-Level Performance Analysis using Hardware-Accelerated Simulation

2013 
Application performance is critical; state-of-the-art mobile systems are expected to deliver performance on demand, whilst remaining extremely power efficient. Therefore, it is vital to fine-tune the operating system, the set of applications running and the hardware in question, as well as ensuring that the performance of each application is able to meet the end-user’s expectations. The performance of an application can be measured accurately in hardware. However, this approach is inflexible and the observability is limited by the availability of hardware counters. Moreover, hardware-based performance analysis is quick, but it is restricted to the actual hardware and, in some situations, this technique can lead to large perturbations due to probing effects — i.e. the act of measuring changes the outcome. On the other hand, the performance of an application can be measured using a full-system simulator, such as gem5 [2]. This offers considerably more observability and flexibility without affecting the performance of the simulated system. Most simulators, however, will produce only a low level, often text-based, statistics output, which does not integrate well with existing tool-sets, and requires the designer to use ad-hoc visualisation. Simulator performance is also significantly slower than running on real hardware, and this slowdown becomes more noticeable when more detailed simulation models are utilised. The Linux Kernel-based Virtual Machine (KVM) provides a well documented API that enables software to use hardware virtualisation outside of the scope of traditional virtualisation environments, and can therefore be used as a core in a simulator. KVM is able to execute any code, provided the peripheral devices are emulated. However, due to limited observability of the virtualised hardware, it is difficult to gather detailed performance metrics whilst running with KVM. Therefore, KVM must be switched for an accurate, simulated CPU model at points of interest. In this work, the gem5 simulator is augmented with KVM-based hardware acceleration, and is extended with a portable advanced visualisation tool which allows for various types of statistics output, depending on the particular requirements of the analysis conducted. This provides a platform for high-performance system simulation without sacrificing the accuracy, observability or flexibility of the simulator. We demonstrate:
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    1
    References
    3
    Citations
    NaN
    KQI
    []