Title: Reconfigurable/Adaptable Systems
1Reconfigurable/Adaptable Systems OS
Charles Huntington
2Reconfigurable/Adaptable Systems
- OS reconfigures its resource management policies
based on application needs - System components change and OS must adjust
3Reconfigurable OS
- Trends in Dynamically Reconfigurable Operating
Systems include - Plug and Play
- Hot Swappable Devices (PCMCIA and USB devices)
- Object Oriented Operating Systems
4Legacy Devices
- Prior to 1995 traditional computer cards had to
be manually configured. This type of hardware is
categorized as legacy devices. - The hardware came with dip switches, and/or
jumpers to configure their settings. - The problem A user had to understand extensively
how their computers resources were allocated to
setup new hardware. - Another problem A legacy devices default
settings caused conflicts in resource allocation
(ex sound cards, network adapters IRQ 5).
5Plug and Play
Devices now work out of the box.
6Plug and Play
- Microsoft, Intel, and a few other hardware
manufacturers developed the Plug and Play (PnP)
standard to combat the problems with Legacy
Devices. - A PnP OS stores the device drivers for many
peripheral devices. - PnP works with the BIOS to determine the
necessary resources for new hardware.
7How PnP works...
- The BIOS first searches the PCI and ISA busses to
determine if the current hardware matches the
existing configuration. - If the configuration has changed then the BIOS
will assign resources to the legacy devices
first. - The PnP devices are update with the leftover
resources. - The ESCD (Extended System Configuration Data) is
updated with the new configuration settings.
8PnP Problems
- After Windows 95 was out problems with PnP became
apparent. - Stubborn IRQ assignments
- PnP could not handle the complicated jobs.
- Plug and Pray?
9Hot Swapping
- Hot Swapping is the act of connecting/disconnectin
g a device without stopping the host operations. - Hot Swapping requires specially designed hardware
and software. - Hot Swapping requires that both the OS and the
connecting peripheral support it.
10USB
- Universal Serial Bus is truly a PnP connector.
- USB is very fast, with a maximum bandwidth of 12
Mbps - USB is Hot-Swappable.
11Reconfigurable OS
12Dynamic Reconfiguration of OS using Objects
- Traditional systems use fixed management policies
- They can not expand (or contract) in order to run
under new hardware environments. - They can not implement a new feature just because
the hardware made it available. - Dynamic reconfiguration welcomes new
implementations of hardware where traditional OS
ignore it.
13Reconfiguration of OS using Objects
- One example of an OO Reconfigurable OS is
Choices. - Choices can run on many different hardware
platforms. - Choices uses three main abstract classes
MemoryObject, Process and Domain. - These classes define the rest of the OS.
14Choices steps to a new OS
- The automatic development of a subframework, like
a file system, is handled in the following
manner. - The abstract properties of the subsystem are
collected (file permissions, containing data
structure and compression techniques). - A subframework is developed that is consistent
with the absract properties and the lower level
requirements. - Finally a subsystem is created with concrete
classes that exemplifies the subframework.
15Choices three abstract classes
16Choices constraints
17Choices subframework
18Reconfigurable System Components
19Wearable Reconfigurable Computers
Quantum3D
20Requirements
- Occasionally execute bursts of computation-intensi
ve tasks that carry real-time constraints
(reading sensor position, cryptography and
communication) high energy efficiency and
performance - Fixed base performance for running tasks that
have neither high computation demands nor
stringent timing constraints. - Low power consumption force components into
power-down modes - Highly flexible components of systems are
dynamically added (put on or removed from the
body system) - Adapt to emerging/changing communication
standards/protocols
21High Performance Reconfigurable Computer Systems
- Example
- Wearable Configurable Systems
- Embedded into mobile environment that interacts
with to events occurring in the area - Composed of a set of distributed nodes and a
communication network surrounded by a general
purpose main module - Performance intensive parts are implemented in
FPGAs (reconfigurable), but the system also
contains low power CPUs - Wireless is the predominant technology of
communication with outside networks
22FPGAs
- Field Programmable Gate Arrays
- Programmable logic blocks which are
interconnected by programmable routing channels - SRAM based cells control the functionality of the
logic blocks and routing - Reprogrammed in-circuit arbitrarily by
downloading configuration data to the device
23Components of Reconfigurable Systems
Reconfigurable Hardware
CPU
Sensors Interface
Memory
Wireless Link
- Integration of CPU and FPGAs allows for low
latency and low power communication - Energy savings of moving kernels to FPGA instead
of CPU - Computation intensive functions are loaded into
reconfigurable hardware as needed. It can also
run communication function protocol functions to
relieve the CPU - The reconfigurable hardware is known as ASIC
on-demand. - Application-Specific Integrated Circuit - a chip
designed for a particular application (as opposed
to the integrated circuits that control functions
such as RAM in a PC). - ASICs are built by connecting existing circuit
building blocks in new ways. Since the building
blocks already exist in a library, it is much
easier to produce a new ASIC than to design a new
chip from scratch.
24Reconfigurable System Software Architecture
25Pros Cons ofHigh Performance Reconfigurable
Computing
- Pros
- Exponential improvement of capabilities and
performance using FPGAs - Flexibility
- Modest Cost
- Cons
- Programming HP computers is time consuming
- Must be expert in parallel computing
architecture, programming tools and target
application
26Reconfigurable Systems
- Demand paged hardware similar to virtual memory
used for software - Each computation task can be supported by the
notion of virtual hardware. - Different hw tasks could share portions of the
FPGA physically or temporally and operate like a
hardware cache. - By using the reconfigurable components as virtual
hardware, fewer resources are needed for an
application since the RC units can be dynamically
reconfigured and reused to implement multiple
functions.
27References
- Supporting Dynamic Reconfiguration of Operating
System using Object and Meta Objects. Yoo,
Kwanghun and Choo, Yookun. Department of Computer
Engineering. University of Seoul. IEEE. 1995.
p727-733. - When Virtual is Better than Real. Chen, Peter M.
and Noble, Brian D. Department of Electrical
Engineering and Computer Science. University of
Michigan. IEEE. 2001. p133 138. - What next? A Hardware Operating System? Groza,
V., Abielmona, R. School of Information
Technology Engineering, University of Ottawa,
Canada. IEEE. 2004. p1496 1501. - High Performance Reconfigurable Computing
Systems. Smith, M., Drager, S., Pochet, L.,
Peterson, G. University of Tennessee Electrical
and Computer Engineering. Air Force Research
Laboratory. IEEE. 2001. p 462 465. - Reconfigurable Hardware in Wearable Computing
Nodes. Plessl, C., Enzler R., Walker, H.,
Beutel, J., Platzner, M., Thiele, L. Swiss
Federal Institute of Technology. IEEE.
Proceedings of the 6th International Symposium on
Wearable Computers. 2002.
28References
- How does USB Work?. Ken Jacobs. August 5, 2004.
Http//www.pcmech.com/show/internal/681/. - Plug and Play, A how to manual.
http//www.tldp.org/HOWTO/Plug-and-Play-HOWTO.html
toc4. - On Adaptable Aspect-Oriented Operating Systems.
Daniel Lohmann, Wasif Gilani and Olaf Spinczyk.
Friedrich-Alexander-Unversity Eriangen-Nuremberg,
Germany. - Choices, Frameworks and Refinement. Roy H.
Campbell, Nayeem Islam, Ralph Johnson, Panos
Kougiouris and Peter Madany. Department of
Computer Science. University of Illinois at
Urbana-Champaign. - Java Tip 30 Polymorphism and Java, What to do
when switch statements start reappearing in your
code. Philip Bishop. Http//www.javaworld.com/java
tips/jw-javatip30_p.html.