280 likes | 496 Views
Reconfigurable/Adaptable Systems & OS. Charles Huntington. Michelle Grieco. Reconfigurable/Adaptable Systems. OS reconfigures its resource management policies based on application needs System components change and OS must adjust. Reconfigurable OS.
E N D
Reconfigurable/Adaptable Systems & OS Charles Huntington Michelle Grieco
Reconfigurable/Adaptable Systems • OS reconfigures its resource management policies based on application needs • System components change and OS must adjust
Reconfigurable OS • Trends in Dynamically Reconfigurable Operating Systems include: • Plug and Play • Hot Swappable Devices (PCMCIA and USB devices) • Object Oriented Operating Systems
Legacy 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 computer’s resources were allocated to setup new hardware. • Another problem: A legacy device’s default settings caused conflicts in resource allocation (ex sound cards, network adapters & IRQ 5).
Plug and Play Devices now work out of the box.
Plug 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.
How 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.
PnP Problems • After Windows 95 was out problems with PnP became apparent. • Stubborn IRQ assignments • PnP could not handle the complicated jobs. • “Plug and Pray”?
Hot Swapping • Hot Swapping is the act of connecting/disconnecting 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.
USB • Universal Serial Bus is truly a PnP connector. • USB is very fast, with a maximum bandwidth of 12 Mbps • USB is Hot-Swappable.
Dynamic 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.
Reconfiguration 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.
Choices’ 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.
Wearable Reconfigurable Computers Quantum3D
Requirements • Occasionally execute bursts of computation-intensive 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
High 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
FPGAs • 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
Components of Reconfigurable Systems Reconfigurable Hardware CPU Sensors Interface • 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. Memory Wireless Link
Application Tasks System Tasks Operating System CPU ReconfigurableHardware Memory I/O Reconfigurable System Software Architecture
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 Pros & Cons ofHigh Performance Reconfigurable Computing
Reconfigurable 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.
References • 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.
References • 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/javatips/jw-javatip30_p.html.