The emergence of mobile and battery operated multimedia systems and the diversity of supported applications mount new challenges in terms of design efficiency of these systems which must provide a maximum application quality of service (QoS) in the presence of a dynamically varying environment. These optimization problems cannot be entirely solved at design time and some efficiency gains can be obtained at run-time by means of self-adaptivity. In this paper, we propose a new cross-layer hardware (HW)/software (SW) adaptation solution for embedded mobile systems. It supports application QoS under real-time and lifetime constraints via coordinated adaptation in the hardware, operating system (OS), and application layers. Our method relies on an original middleware solution used on both global and local managers. The global manager (GM) handles large, long-term variations whereas the local manager (LM) is used to guarantee real-time constraints. The GM acts in three layers whereas the LM acts in application and OS layers only. The main role of GM is to select the best configuration for each application to meet the constraints of the system and respect the preferences of the user. The proposed approach has been applied to a 3D graphics application and successfully implemented on an Altera FPGA. 1. Introduction The popularity of the embedded systems has been increasing over the last years and new products are rapidly and continually emerging [1]. These various systems share common characteristics as multimedia applications and internet-based services. The first main characteristic of such systems is a need for high performance capabilities for complex applications. The second characteristic is mobility. These systems must operate in varying conditions that depend on network bandwidth availability, on limited energy resources, and so forth. As such factors are known at run-time, these systems can benefit from self-adaptivity by using programmable or reconfigurable architectures [2]. Self-adaptivity means that the system can modify dynamically the way services are provided according to imposed constraints using automata theory, for instance. Thus, the system has several states and each of them corresponds to a set of working parameters: the number of executed applications, the HW resources used, and the allocated real-time operation system (RTOS) services [3]. Various adaptation techniques have been proposed in respect of the constraints of the system while giving a better quality of service. These techniques can act at any of the three different levels:
References
[1]
W. Yuana, K. Nahrstedta, S. V. Advea, D. L. Jonesb, and R. H. Kravets, “GRACE-1: cross-layer adaptation for multimedia quality and battery energy,” IEEE Transactions on Mobile Computing, vol. 5, no. 7, pp. 779–815, 2006.
[2]
M. K. Bhatti, C. Belleudy, and M. Auguin, “Hybrid power management in real time embedded systems: an interplay of DVFS and DPM techniques,” Real-Time Systems, vol. 47, no. 2, pp. 143–162, 2011.
[3]
F. Abbes, N. Ben Amor, and T. Frikha, “Design of an adaptive 3D graphics embedded system,” in Embedded and Multimedia Computing Technology and Service, vol. 181 of Lecture Notes in Electrical Engineering, pp. 39–54, Springer, Amsterdam, The Netherlands, 2012.
[4]
S.-Y. Bang, K. Bang, S. Yoon, and E. Y. Chung, “Run-time adaptive workload estimation for dynamic voltage scaling,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 28, no. 9, pp. 1334–1347, 2009.
[5]
Y. Hayamizu, K. Goda, M. Nakano, and M. Kitsuregawa, “Application-aware power Saving for online transaction processing using dynamic voltage and frequency scaling in a multicore environment,” in Architecture of Computing Systems, M. Berekovic, W. Fornaciari, U. Brinkschulte, and C. Silvano , Eds., vol. 6566 of Lecture Notes in Computer Science, pp. 50–61, Springer, Berlin, Germany, 2011.
[6]
W. Van Raemdonck, G. Lafruit, E. F. M. Steffens, C. M. Otero Pérez, and R. J. Bril, “Scalable 3D graphics processing in consumer terminals,” in Proceedings of the IEEE International Conference Multimedia and Expo (ICME ’02), vol. 1, pp. 369–372, Lausanne, Switzerland, 2002.
[7]
N. P. Ngoc, G. Lafruit, J. Y. Mignolet, G. Deconinck, and R. Lauwereins, “QoS aware HW/SW partitioning on run-time reconfigurable multimedia platforms,” in Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms, (ERSA '04), pp. 84–92, Las Vegas, Nev, USA, June 2004.
[8]
E. Lübbers and M. Platzner, “ReconOS: multithreaded programming for reconfigurable computers,” ACM Transactions on Embedded Computing Systems, vol. 9, article 8, no. 1, 2009.
[9]
A. Bavier and L. Peterson, “The power of virtual time for multimedia scheduling,” in Proceedings of the 10th International Workshop for Network and Operating System Support for Digital Audio and Video (NOSSDAV ’00), Chapel Hill, NC, USA, June 2000.
[10]
S. Banachowski and S. Brandt, “BEST scheduler for integrated processing of best-effort and soft real-time processes,” in Multimedia Computing and Networking Conference, vol. 4673 of Proceedings of the SPIE, San Jose, Calif, USA, January2002.
[11]
A. Vahdat, A. Lebeck, and C. Ellis, “Every joule is precious: a case for revisiting operating system design for energy efficiency,” in Proceedings of the 9th ACM SIGOPS European Workshop, pp. 31–36, Kolding, Denmark, September 2000.
[12]
N. M. Khalilzad, M. Benhnam, T. Nolte, and M. Asberg, “On adaptive hierarchical scheduling of real-time systems using a feedback controller,” in Proceedings of the 4th Workshop on Adaptive and Reconfigurable Embedded Systems (APRES ’11), Beijing, China, April 2012.
[13]
H. Chu and K. Nahrstedt, “CPU service classes for multimedia applications,” in Proceedings of the IEEE International Conference on Multimedia Computing and Systems (ICMCS ’99), vol. 1, pp. 296–301, Florence, Italy, June 1999.
[14]
J. Flinn, E. de Lara, M. Satyanarayanan, D. Wallach, and W. Zwaenepoel, “Reducing the energy usage of office applications,” in Middleware 2001, R. Guerraoui, Ed., Lecture Notes in Computer Science, pp. 252–272, Springer, Berlin, Germany, November 2001, Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg, Germany, 2001.
[15]
S. A. Brandt and G. J. Nutt, “Flexible soft real-time processing in middleware,” Real-Time Systems, vol. 22, no. 1–2, pp. 77–118, 2002.
[16]
J. Flinn and M. Satyanarayanan, “PowerScope: a tool for profiling the energy usage of mobile applications,” in Proceedings of the 2nd IEEE Workshop on Mobile Computing Systems and Applications (WMCSA '99), pp. 1–9, New Orleans, La, USA, February 1999.
[17]
M. Mesarina and Y. Turner, “Reduced energy decoding of MPEG streams,” in Multimedia Computing and Networking Conference, vol. 4673 of Proceedings of the SPIE, San Jose, Calif, USA, January2002.
[18]
N. P. Ngoc, W. van Raemdonck, G. Lafruit, G. Deconinck, and R. Lauwereins, “A QoS framework for interactive 3D applications,” in Proceedings of the 9th International Conference on 3D Web Technology (Web3D ’04), pp. 317–324, Monterey, Calif, USA, 2004.
[19]
W. Yuan and K. Nahrstedt, “Energy-efficient CPU scheduling for multimedia applications,” ACM Transactions on Computer Systems, vol. 24, no. 3, pp. 292–331, 2006.
[20]
V. Vardhan, W. Yuan, A. F. Harris et al., “GRACE-2: integrating fine-grained application adaptation with global adaptation for saving energy,” International Journal of Embedded Systems, vol. 4, no. 2, pp. 152–169, 2009.
[21]
V. Bharghavan, K. W. Lee, S. Lu, S. Ha, J. R. Li, and D. Dwyer, “The timely adaptive resource management architecture,” IEEE Personal Communications, vol. 5, no. 4, pp. 20–31, 1998.
[22]
Y. Eustache and J. P. Diguet, “Specification and OS-based implementation of self-adaptive, hardware/software embedded systems,” in Proceedings of the 6th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS ’08), pp. 67–72, Atlanta, Ga, USA, October 2008.
[23]
A. Herkersdorf and W. Stechele, “Autovision—flexible processor architecture for video-assisted driving,” in Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE ’06), vol. 1, Munich, Germany, March 2006.
[24]
M. Ullmann, W. Jin, and J. Backer, “Hardware support for QoS-based function allocation in reconfigurable systems,” in Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE ’05), vol. 3, pp. 259–264, Munich, Germany, March 2005.
[25]
T. Frikha, N. B. Amor, M. R. B. Yemna, J. P. Diguet, and M. Abid, “Adaptive video diffusion embedded platform,” in Proceedings of the Recent Advances in Circuits, Communications and Signal Processing, pp. 58–63, Cambridge, UK, February 2013.
[26]
J. Steuard, “An introduction to lagrange multipliers,” 2010, http://www.slimy.com/~steuard/teaching/tutorials/Lagrange.html.
[27]
Y. Pan, I. Cheng, and A. Basu, “Quality metric for approximating subjective evaluation of 3-D objects,” IEEE Transactions on Multimedia, vol. 7, no. 2, pp. 269–279, 2005.
[28]
K. Pulli, T. Aarnio, V. Miettinen, K. Roimela, and J. Vaaral, Mobile 3D Graphics with OpenGL ES and M3G, Elsevier, San Diego, Calif, USA, 1st edition, December 2007.
J. J. Labrosse, Micro C/OS-II: The Real-Time Kernel, CMP Books, Lawrence, Kan, USA, 2nd edition, June2002.
[31]
M. Ben Sa?d, K. Loukil, N. Ben Amor, M. Abid, and J. P. Diguet, “A timing constraints control technique for embedded real time systems,” in Proceedings of the 5th Conference on Design and Technology of Integrated Systems in Nanoscale Era (DTIS ’10), pp. 1–6, Hammamet, Tunisia, March 2010.
[32]
K. Loukil, N. B. Amor, M. B. Sa?d, and M. Abid, “OS service update for an online adaptive embedded multimedia system,” in Proceedings of the 14th IEEE Symposium on Computers and Communications (ISCC ’09), pp. 721–725, Sousse, Tunisisa, July 2009.