by Kjetil Svarstad
Imagine you are at the airport, your flight is indefinitely delayed, you are bored, and your PDA-based chess program offers you no real challenge. Luckily, you have a machine description of the most powerful chess machine architecture (like IBM's Deep Blue) available on your PDA which you download to the nearest AHEAD-tag server, and then you can play Grand Master-level chess on the tag with your PDA as client until your flight is finally called.
Ambient Intelligence (AmI) is considered the next huge leap in computer and information technology. One research project in this area, 'Ambiesense', used small computational tags serving mobile clients with information and computation via wireless services. Our project, AHEAD, integrates the concept of reconfigurable electronics with the computational tags, enabling mobile clients to hold actual configuration data and reconfigure the tags on demand through a wireless service.
The main idea of AHEAD - Ambient Hardware: Embedded Architectures on Demand - is the combination of three technological evolutions:
Hardware or computational machines becoming smaller and disappearing into the surroundings.
Ambient Intelligence, the disappearing computers being able to communicate and in concert solve problems in new ways.
Reconfigurable hardware, FPGA (Field-Programmable Gate Array, a type of logic chip that can be programmed), closing the gap between hardware and software, making functionality truly mobile between machine and program.
In the AmI perspective computers will be tightly embedded in the surrounding environment and the computational tasks and services adaptable to any and many different situations and thus architectures. Our project hypothesis extends this view of embedding the hardware and adapting the software into adaptable and movable hardware, what we have chosen to call 'Ambient Hardware'. This is a platform where small computers (tags) in the environment are able to reconfigure themselves in order to fulfill the combined hardware-software requirements of a given task. The underlying architecture is tag computers equipped with reconfigurable coprocessors in terms of FPGAs. Physically the tag computer is also implemented on the FPGA, and it reconfigures itself as the requirements change as a result of clients and their tasks entering and leaving the activity zone of the tag.
Although research projects and results abound in the areas of Ambient Intelligence and Reconfigurable Computing, our objectives in AHEAD were best solved through practical experiments to show which of our ideas were sound, subsequently forming the underlying theories when we know specifically which architectures and solutions are the most promising. Presently we are still in the experimental stage of the project.
Our first objective was to choose a good FPGA platform for our laboratory experiments. We tested and evaluated several development boards for different FPGAs. However, the flexibility of reconfiguration was a limitation on most of them. In the end we chose a very simple and available FPGA board, the so-called 'Suzaku system', which was small and allowed us the flexibility of reconfiguration that we required. This system is really a Single Board Computer in an FPGA with an external flash memory for reconfiguration data and some communication controllers for LAN and serial line I/O.
We are now at version 1.0 of our project roadmap. This is the first major version where the tags are independent of any development PCs or external computers. The tag is now completely embedded on the Suzaku board where the Xilinx Spartan FPGA is configured with a Microblaze CPU and devices for running a Linux operating system variant. Additionally, the tags are independent in the sense that they can reconfigure themselves. A simple web server is running on the tag and, through a specific interface, clients may download new configurations for the FPGA, then the tag will reconfigure itself and come alive again with the basic CPU + Linux configuration plus the newly configured hardware architecture and the interconnections between these sub-systems. The web server interface enables a client to download new configurations either directly from itself or from any networked server holding properly defined system configurations.
In order to test version 1.0 of the AHEAD tag, we are currently developing a demonstrator for MPEG re-coding and re-scaling. The objective is to configure the tag for receiving massively encoded media streams such as the MPEG4 format and to decode the stream, downscale it for a small screen low-resolution viewer such as a PDA or a Smartphone and recode the stream in a more easily decoded MPEG format (see illustration). MPEG4-streams are of course well suited to limited bandwidth distribution over the net, but the complexity of decoding them is too demanding for low performance and limited power devices such as PDAs and Smartphones. The tag recodes the stream for less performance and power in decoding, but the format will demand a higher bandwidth. This demand, however, is not a problem since the tag and the client are very close and higher bandwidths are possible even with low power. We expect to test this tag-based recoder version of AHEAD by the end of this year.
Kjetil Svarstad, NTNU, Norway