Welcome to Shinan Wang's Webpage
 

Software

SPAN Logo

SPAN

Motivation: As an indispensable component of a computer system, software has a profound impact on power dissipation. However, information scarcity of dynamic power dissipation impedes the progress of energy-efficient software design. For example, improper usage of system resources in a program is usually difficult to detect. We propose a set of software function level power analysis tools, SPAN. We explore the method to enable instrumentation for power analysis while minimizing overhead. The tool is supposed to provide function level (subroutine call) power profiling once the power model is constructed. As a result, code "hot region" can be spotted for further power optimization without hardware instrumentation. Because the diversity of applications in real world, we use different profiling techniques in order to generate accurate and fine-grained power profile for an application.

Method: Safari: These observations motivate our software profiling work named SPAN (Software Power Analyzer), which attempts to support software power. Our approach is to analyze software power dissipation from function level. Considering the huge difference between the workload in industry are and those from an lab environment, it is worth to investigate them from different angles. In order to adapt applications from industry side, we propose Software Automatic Function instrumenntAtion for poweR profIling (Safari).

Currently, the software of Safari is available. Please fill out the following form to obtain it. For more help, please contact me directly.

SPAN: On ther other hand, we developed a light-weighted library, which is the original SPAN function APIs to profile a given application. SPAN uses IPC as model input and generate power profile for the insrumented functions. For example, in order to instrument the benchmark of IS in NPB benchmark suite, first, SPAN_initialize() is invoked. Then, use SPAN_start("function_name") right before the function entrance. Call SPAN_stop("function_name") after the function. Do not forget to close everything at the end, SPAN_stop();

Related Publications:

Shinan Wang, Hui Chen and Weisong Shi, SPAN: A Software Power Analyzer for Multicore Computer Systems, Elsevier Sustainable Computing: Informatics and Systems, Vol. 1, No.1, pp. 23-34, January 2011. [PDF]

Hui Chen, Shinan Wang and Weisong Shi, Where Does the Power Go in a Computer System: Experimental Analysis and Implications, accepted by PMP, in conjunction with International Green Computing Conference (IGCC), July 2011. [PDF]