An exiting prospect for the next decade is the deployment of a new generation of hand-held computers. Wireless computing greatly enhances the usability of these portable computing devices. Chameleon is a companion project of the Moby Dick project. In the companion project Chameleon we study the opportunities of reconfiguration of a mobile multimedia system. We claim that a reconfigurable systems architecture in combination with a QoS driven operating system that can deal with the inherent dynamics of a mobile system, is of fundamental importance to the success of flexible low-power handheld systems.
The described research addresses fundamental issues in the architecture and design of low-power hand-held multimedia systems, with particular emphasis on energy conservation. The technologies of PDA, wireless networking and smartcard, when combined and integrated well, have the potential of replacing all of the things people have to carry around by one small device. The employment of such devices has several challenging implications: it must provide multimedia functionality, operate in a very dynamic wireless environment, and be secure because it contains personal information and interacts with the - possibly hostile - environment. All these capabilities have to be integrated in one small and light battery-operated device, implying an ultra-low energy consumption and a high performance. Recent research shows that a radical new approach has to be taken in order to fulfill the requirements - in terms of processing power and energy consumption - of future mobile applications.
A primary goal of this research is to prove that a reconfigurable systems architecture in combination with a QoS driven operating system that can deal with the inherent dynamics of a mobile system, is of fundamental importance to the success of flexible low-power handheld systems. A novel aspect in this concept is that chip design is replaced by dynamic reconfiguration and reprogramming for future applications using a highly efficient platform. In our opinion, this sheds a new light on the fundamental issues of low-power embedded systems.
Reconfiguration must be applied at several layers in the system:
Much energy can be saved in multimedia systems by improving the component interaction. Autonomous, reconfigurable modules such as network, video and audio devices, interconnected by a switch, offload as much work as possible from the CPU to programmable modules that are placed in the data streams. Thus, communication between components is not broadcast over a bus but delivered exactly to where it is needed, work is carried out where the data passes through and, if memory is required at all, it is placed on the data path where it is needed. Modules are autonomously entering an energy-conservation mode and adapt themselves to the current state of resources, the environment and the requirements of the user. To support this, the operating system must become a small, distributed system.
Reconfigurable modules can be applied in a wide range of applications, e.g. software radio, multimedia functions and cryptography. These applications have a high computational complexity with a regular and spatially local computation. State-of-the-art application-specific coprocessors have the potential to perform these tasks efficiently: both in terms of performance as well as in energy consumption. Such coprocessors are not attractive though, due to their inflexibility. We believe that the functional requirements of future mobile devices including the adaptability and flexibility of various system functions can be implemented using reconfigurable modules that do not have to be less efficient.
For a wide range of functions that use digital filtering algorithms on parallel data state-of-the-art devices (such as FPGAs) do not posses the required processing power. We will explore the possibilities of a novel architecture called Montium. These devices have a matrix of ALUs and lookup tables. A broad class of compute-intensive algorithms can be implemented on a Montium. The instruction set of a Montium-ALU can be thought of as the set of ordinary ALU instructions, with the exception that there are no load and store operations which operate on memories. Instead, they operate on the programmable interconnect; that is, the ALU loads its operands from neighboring ALU outputs, or from (input) values stored in lookup tables or local registers.
In a system many tradeoffs can be made. A careful analysis of the data flow in the system and decomposition of the system functions can reduce energy consumption considerably. For example, when we consider the transmission of an image over a wireless network, there is a trade-off between image compression, error control, communication requirements, and energy consumption. In an architecture with reconfigurable modules and data streams, functions can be dynamically migrated between functional modules such that an efficient configuration can be obtained. Migration is best handled and coordinated by the operating system. The operating system also needs proper support for reconfigurable computing, such that modules can be adequately reprogrammed.
In the early phases of the design of any part of the system, either hardware or software, the designer needs to experiment with alternative designs. However, energy efficiency is not only a one-time problem that needs to be solved during the design phase. When the system is operational, frequent adaptations to the system are required to obtain an energy efficient system that can fulfil the requirements imposed in terms of a general QoS model. Finding the energy management policy that minimizes energy consumption without compromising performance beyond acceptable levels is already a complex problem. If the resources are also flexible, and can adapt their functionality, this problem becomes even bigger.
The energy efficiency of wireless communication for multimedia traffic with Quality of Service constraints is another main issue in this research. We will focus on energy-efficient network protocols and wireless network-interface architectures that are able to meet the energy and QoS constraints. Key to the approach is a high degree of adaptivity.
The development of a hierarchical - QoS based - model of the whole system (covering the architecture, wireless communication, distributed processing, and applications) is of great importance to this research. It will be used to adapt to the changing operating conditions dynamically in the most (energy) efficient way. Besides the functional modules and their ability to adapt (e.g. the effects on its energy consumption and QoS when the image compressor changes its frame rate, its resolution, or even its compression mechanism) this model also includes the interaction between these modules. Such a model is required to predict the overall consequences for the system when an application or functional module adapts its QoS. Using this model the inherent trade-offs between e.g. performance and energy consumption can be evaluated and a proper adaptation of the whole system can be made. Together with the fact that the new architecture will include reconfigurable hardware in all modules, the aforementioned rises some challenging research questions.
As part of this QoS model a high-level model is needed to predict the energy consumption of MDC modules and applications. A careful power analysis of the architecture of all the system-level components is needed for the successful design and utilisation of the next generation of hand-held devices.