Approach for modeling embedded operating systems ...

3 downloads 8985 Views 56KB Size Report
measurement setup. Finally, in ... The measurement platform includes a dedicated server to configure the OMAP EVM and to control the energy consumption ...
Approach for modeling embedded operating systems energy characterization Bassem Ouni, Hajer Ben Rekhissa, C´ecile Belleudy

Eric Senn

University of Nice Sophia-Antipolis, LEAT CNRS, 250 rue Albert Einstein, bˆat 4 06560 Sophia-Antipolis - Cedex, France Tel : +33.4.92.94.28.60 Fax : +33.4.92.94.28.12 Email: {Bassem.Ouni, Cecile.Belleudy}@unice.fr

European University of South Brittany-UBS, Lab-STICC CNRS, BP 92116 56321 Lorient - Cedex, France Tel : +33.2.97.87.46.03 Fax : +33.2.97.87.45.27 Email: [email protected]

Abstract—In this paper, an approach of characterization of embedded operating system’s energy consumption is presented. The objective is to determine the energy overhead of each service of the embedded OS. The method is based on measurements on the hardware platform OMAP35x EVM board, running Linux omap. The method flow details how we determine the energy and power traces of each service. Index Terms—Embedded operating system, Power overhead, OMAP 3530.

I. I NTRODUCTION The energy consumption in embedded systems has become one of the key challenges for the software and hardware designers. The embedded operating system serves as an interface between the software application and the hardware. This software component drives the exploitation of the hardware platform by offering a wide variety of services such as context switch, task management, scheduling, inter-process communication (IPC), timer services, I/O operations and memory management. Also, the operating system manages the overall power consumption of the embedded system components. Usually, it includes some power management policies aiming at keeping components into lower power states, thereby reducing energy consumption. Under the French research program Open-PEOPLE project [1] , we aim at characterizing and optimizing the energy consumption of the embedded operating system’s services. The paper is structured as follows. In section 2, the related works are presented. Section 3 explains our methodology to characterize the embedded operating system energy overhead. Section 4 introduces the hardware platform and explains the measurement setup. Finally, in section 5, conclusions and future works are drawn. II. R ELATED WORK Dhouib et al. [2] propose a multi-layer approach to estimate the energy consumption of embedded operating systems. The authors start by estimating energy and power consumption of standalone tasks. Then they add energy overheads of the operating system services which are timer interrupts, IPC and peripheral device accesses. They validate the multi-layer approach by estimating the energy consumption of an M-JPEG

encoder running on linux 2.6 and deployed on a XUP VirtexII pro development board. Tao Li et al. introduced in [3] a classical power level model. They consider the OS service routine as the elementary unit. So, they take the value of energy consumed by the OS services as the sum of those consumed by each routine. They propose a model of power consumption based on the correlation that they found between the power and the Instruction per cycle (IPC) metric. Acquaviva et al. proposed in [4] a new methodology to characterize the OS energy overhead. They measured the energy consumption of the eCos Real Time Operating System running on a prototype wearable computer, HP’s SmartBadgeIII. Then, they studied the energy impact of the RTOS both at the kernel and at the I/O driver level and determine the key parameters affecting the energy consumption. This work studied the relation between the power and performance of the OS services and the CPU clock frequency. Acquaviva et al. perform analysis but they did not model the energy consumption of the OS services and drivers. In [5], Baynes et al. described their simulation environment, Simbed, which evaluates the performance and energy consumption of the real time operating system (RTOS) and embedded applications. The energy measurement is accurate to within 10-15 percent. The authors compared three different RTOS’s: µCOS, Echidna and NOS. They found that the operating system overhead depends on the applications. It is so high for the lightweight applications and diminishes for more compute-intensive applications. Nevertheless, Baynes et al. did not separate between the OS and application energy consumption. Also, the overhead of the OS is not studied on a service level and it is considered globally. In our work, we will characterize energy and time overheads of the embedded operating system services on a specific hardware platform presented in the next section and we will study the energy consumption variation according to a set of software and hardware parameters. Then, we extract models and laws of these overheads. III. T HE PROPOSED

MODEL FOR ENERGY

CHARACTERIZATION AND ESTIMATION

Our method consist in extracting an energy model of the OS power overhead. The inputs are, the embedded OS, the application, and the hardware platform. As showed in Fig.1,

energy consumption variation according to two parameters: the scheduling policy and the processor frequency. We are interested in studying the influence of two scheduling policies SCHED F IF O and SCHED RR. Also, the impact of processor frequency on the context switch overhead for static and dynamic frequency cases is discussed. Then, we extract models and laws of these overheads. V. C ONCLUSIONS Fig. 1.

Fig. 2.

The methodology of OS energy characterization

Estimation of the operating system energy consumption

to characterize the energy consumed by the services of the embedded operating system, we implement a set of benchmarks which are test programs that stimulate each service separately. These programs are compiled and linked to the OS. In the energy analysis step, we vary a set of parameters, we identify the hardware and software parameters which influences the energy consumption then we trace the energy profiles. The energy traces obtained are able to characterize the energy overhead of the operating system services and then to model the power and energy consumption. After extracting the energy models, we determine the energy and power laws, as showed in Fig.2. IV. E XPERIMENTAL SETUP The target hardware platform is the OMAP35x EVM board from MISTRAL (TEXAS INSTRUMENTS). It is equipped with the OMAP 3530 processor [6], an advanced superscalar ARM Cortex-A8 RISC Core. The embedded operating system used is Linux which is supported for use with the OMAP35x EVM. The measurement platform includes a dedicated server to configure the OMAP EVM and to control the energy consumption measurements on this board. It consists of a computer wire-connected to the board. We use the DHCP protocol to obtain an address IP of the board from the server. The TFTP (Trivial File Transfer Protocol) and NFS (Network File System) protocols are used to load and boot the operating system image from the server and through the Ethernet. The test programs are executed on the hardware platform and the energy dissipated by the processor is determined: The voltage drop Vdrop across a jumper J6 pins connected in series with the OMAP 3530 processor is measured. Then the current consumed is calculated after dividing Vdrop by a shunt resistance R in parallel with the jumper pins. We interest in characterizing one of basic services of the embedded OS: the context switch, we note the energy and time overheads on a specific hardware platform and we study the

In this paper, we characterize power and energy consumption of a specific platform running an embedded operating system is proposed. We are interested in studying the energy overhead of the the embedded system services. This work is a part of the OPEN-PEOPLE project that aims to build a platform for estimating and optimizing the power and energy consumption of complex electronic systems and in which our models will be included. The future work consist in implementing a set of benchmarks that will be executed on the Omap 3530 processor, the energy overhead will be measured by varying a set of hardware and software parameters. The energy models and traces will be extracted from these experiments. We also aim to propose an extended approach to determine the power and energy overhead trace of the main services such as context switch,hi scheduling and task management. Then, these results will be exploited to characterize and optimize the energy consumption. The results will be taken into account for modeling the deployment of complex applications on hardware platforms using the Architecture Analysis and Design Language (AADL). VI. ACKNOWLEDGEMENTS The authors would like to thank the French National Research Agency (ANR) that sponsored the research project OPEN-PEOPLE. R EFERENCES [1] Open-PEOPLE project. Open Power and Energy Optimization Platform and Estimator. 2010. http://www.open-people.fr/ [2] S. Dhouib, E. Senn, J.P. Diguet and J. Laurent. Modelling and estimating the energy consumption of embedded applications and operating systems. In the IEEE 12th International Symposium on Integrated Circuits (ISIC). Singapore, 2009. [3] T. Li and L.K. John, Run-time modeling and estimation of operating system power consumption. International Parallel and Distributed Processing Symposium (IPDPS), ACM SIGMETRICS’03. San Diego, USA, 2003. [4] A. Acquaviva, L. Benini, B. Ricco, Energy characterization of embedded real-time operating systems. In Proceedings of the Workshop on Compilers and Operating Systems for Low Power (COLP’01). Barcelona, Spain, 2001. [5] K. Baynes, C. Collins, E. Fiterman, G. Brinda, P.K ohout, C. Smit, T. Zhang, and B. Jacob. The performance and energy consumption of embedded real-time operating systems. IEEE Transactions on Computers, vol. 11, no. 52, pp. 1454-1469. 2003. [6] OMAP35x Evaluation Module (EVM), 2010. http://focus.ti.com/docs/toolsw/folders/print/tmdsevm3530.html