View
219
Download
0
Tags:
Embed Size (px)
Citation preview
Reconfigurable/Adaptable Reconfigurable/Adaptable Systems & OSSystems & OS
Michelle GriecoMichelle GriecoCharles HuntingtonCharles Huntington
Reconfigurable/Adaptable SystemsReconfigurable/Adaptable Systems
OS reconfigures its resource management OS reconfigures its resource management policies based on application needspolicies based on application needs
System components change and OS must System components change and OS must adjustadjust
Reconfigurable OSReconfigurable OS
Trends in Dynamically RTrends in Dynamically Reconfigurableeconfigurable Operating Systems include:Operating Systems include:
Plug and PlayPlug and Play
Hot Swappable Devices (PCMCIA and USB devices)Hot Swappable Devices (PCMCIA and USB devices)
Object Oriented Operating SystemsObject Oriented Operating Systems
Legacy DevicesLegacy Devices Prior to 1995 traditional computer cards had to Prior to 1995 traditional computer cards had to
be manually configured. This type of hardware is be manually configured. This type of hardware is categorized as “legacy devices”.categorized as “legacy devices”.
The hardware came with dip switches, and/or The hardware came with dip switches, and/or jumpers to configure their settings.jumpers to configure their settings.
The problem: A user had to understand The problem: A user had to understand extensively how their computer’s resources were extensively how their computer’s resources were allocated to setup new hardware.allocated to setup new hardware.
Another problem: A legacy device’s default Another problem: A legacy device’s default settings caused conflicts in resource allocation settings caused conflicts in resource allocation (ex sound cards, network adapters & IRQ 5).(ex sound cards, network adapters & IRQ 5).
Plug and PlayPlug and Play
Devices now work out of the box.
Plug and PlayPlug and Play Microsoft, Intel, and a few other hardware Microsoft, Intel, and a few other hardware
manufacturers developed the Plug and manufacturers developed the Plug and PlayPlay (PnP) standard to combat the problems (PnP) standard to combat the problems with Legacy Devices.with Legacy Devices.
A PnP OS stores the device drivers for many A PnP OS stores the device drivers for many peripheral devices.peripheral devices.
PnP works with the BIOS to determine the PnP works with the BIOS to determine the necessary resources for new hardware.necessary resources for new hardware.
How PnP works...How PnP works... The BIOS first searches the PCI and ISA busses The BIOS first searches the PCI and ISA busses
to determine if the current hardware matches the to determine if the current hardware matches the existing configuration.existing configuration.
If the configuration has changed then the BIOS If the configuration has changed then the BIOS will assign resources to the legacy devices first.will assign resources to the legacy devices first.
The PnP devices are update with the leftover The PnP devices are update with the leftover resources.resources.
The ESCD (Extended System Configuration The ESCD (Extended System Configuration Data) is updated with the new configuration Data) is updated with the new configuration settings.settings.
PnP ProblemsPnP Problems After Windows 95 was out problems with PnP After Windows 95 was out problems with PnP
became apparent.became apparent.
Stubborn IRQ assignmentsStubborn IRQ assignments
PnP could not handle the complicated jobs.PnP could not handle the complicated jobs.
““Plug and Pray”?Plug and Pray”?
Hot SwappingHot Swapping
Hot Swapping is the act of Hot Swapping is the act of connecting/disconnecting a device without connecting/disconnecting a device without stopping the host operations.stopping the host operations.
Hot Swapping requires specially designed Hot Swapping requires specially designed hardware and software.hardware and software.
Hot Swapping requires that both the OS and the Hot Swapping requires that both the OS and the connecting peripheral support it.connecting peripheral support it.
USBUSB
Universal Serial Bus is truly a PnP connector.Universal Serial Bus is truly a PnP connector.
USB is very fast, with a maximum bandwidth of USB is very fast, with a maximum bandwidth of 12 Mbps12 Mbps
USB is Hot-Swappable.USB is Hot-Swappable.
Reconfigurable OSReconfigurable OS
Dynamic Reconfiguration of OS Dynamic Reconfiguration of OS using Objectsusing Objects
Traditional systems use fixed management Traditional systems use fixed management policiespolicies
They can not expand (or contract) in order to run They can not expand (or contract) in order to run under new hardware environments.under new hardware environments.
They can not implement a new feature just They can not implement a new feature just because the hardware made it available.because the hardware made it available.
Dynamic reconfiguration welcomes new Dynamic reconfiguration welcomes new implementations of hardware where traditional implementations of hardware where traditional OS ignore it.OS ignore it.
Reconfiguration of OS using Reconfiguration of OS using ObjectsObjects
One example of an OO Reconfigurable OS is One example of an OO Reconfigurable OS is Choices..
Choices can run on many different hardware Choices can run on many different hardware platforms.platforms.
Choices uses three main abstract classes: Choices uses three main abstract classes: MemoryObject, Process and Domain.MemoryObject, Process and Domain.
These classes define the rest of the OS.These classes define the rest of the OS.
Choices’ steps to a new OSChoices’ steps to a new OS
The automatic development of a subframework, The automatic development of a subframework, like a file system, is handled in the following like a file system, is handled in the following manner.manner. The abstract properties of the subsystem are The abstract properties of the subsystem are
collected (file permissions, containing data structure collected (file permissions, containing data structure and compression techniques).and compression techniques).
A subframework is developed that is consistent with A subframework is developed that is consistent with the absract properties and the lower level the absract properties and the lower level requirements.requirements.
Finally a subsystem is created with concrete classes Finally a subsystem is created with concrete classes that exemplifies the subframework.that exemplifies the subframework.
Choices three abstract classesChoices three abstract classes
Choices constraintsChoices constraints
Choices subframeworkChoices subframework
Reconfigurable System Reconfigurable System ComponentsComponents
Wearable Reconfigurable ComputersWearable Reconfigurable Computers
Quantum3D
RequirementsRequirements Occasionally execute bursts of computation-intensive Occasionally execute bursts of computation-intensive
tasks that carry real-time constraints (reading sensor tasks that carry real-time constraints (reading sensor position, cryptography and communication) – high position, cryptography and communication) – high energy efficiency and performanceenergy efficiency and performance
Fixed base performance for running tasks that have Fixed base performance for running tasks that have neither high computation demands nor stringent timing neither high computation demands nor stringent timing constraints.constraints.
Low power consumption – force components into power-Low power consumption – force components into power-down modes down modes
Highly flexible – components of systems are dynamically Highly flexible – components of systems are dynamically added (put on or removed from the body system)added (put on or removed from the body system)
Adapt to emerging/changing communication Adapt to emerging/changing communication standards/protocolsstandards/protocols
High Performance Reconfigurable High Performance Reconfigurable Computer Systems - ExampleComputer Systems - Example
Wearable Configurable SystemsWearable Configurable Systems Embedded into mobile environment that interacts with Embedded into mobile environment that interacts with
to events occurring in the areato events occurring in the area Composed of a set of distributed nodes and a Composed of a set of distributed nodes and a
communication network surrounded by a general communication network surrounded by a general purpose main modulepurpose main module
Performance intensive parts are implemented in Performance intensive parts are implemented in FPGAs (reconfigurable), but the system also contains FPGAs (reconfigurable), but the system also contains low power CPUslow power CPUs
Wireless is the predominant technology of Wireless is the predominant technology of communication with outside networkscommunication with outside networks
FPGAsFPGAs
Field Programmable Gate ArraysField Programmable Gate ArraysProgrammable logic blocks which are Programmable logic blocks which are
interconnected by programmable routing interconnected by programmable routing channelschannels
SRAM based cells control the functionality SRAM based cells control the functionality of the logic blocks and routingof the logic blocks and routing
Reprogrammed in-circuit arbitrarily by Reprogrammed in-circuit arbitrarily by downloading configuration data to the downloading configuration data to the devicedevice
Components of Reconfigurable SystemsComponents of Reconfigurable Systems
Integration of CPU and FPGAs allows for low latency and low power Integration of CPU and FPGAs allows for low latency and low power communicationcommunication
Energy savings of moving kernels to FPGA instead of CPUEnergy savings of moving kernels to FPGA instead of CPU
Computation intensive functions are loaded into reconfigurable hardware as Computation intensive functions are loaded into reconfigurable hardware as needed. It can also run communication function protocol functions to relieve needed. It can also run communication function protocol functions to relieve the CPUthe CPU
The reconfigurable hardware is known as ASIC on-demand.The reconfigurable hardware is known as ASIC on-demand. AApplication-pplication-SSpecific pecific IIntegrated ntegrated CCircuit - ircuit - a chip designed for a particular a chip designed for a particular
application (as opposed to the integrated circuits that control functions such application (as opposed to the integrated circuits that control functions such as RAM in a PC). as RAM in a PC).
ASICs are built by connecting existing circuit building blocks in new ways. 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 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. produce a new ASIC than to design a new chip from scratch.
Reconfigurable Hardware
CPU
Memory
Sensors Interface
Wireless Link
Reconfigurable System Software Reconfigurable System Software ArchitectureArchitecture
CPU Reconfigurable Hardware Memory I/O
Operating System
System Tasks
Application Tasks
Pros & Cons ofPros & Cons ofHigh Performance Reconfigurable High Performance Reconfigurable
ComputingComputing ProsPros Exponential Exponential
improvement of improvement of capabilities and capabilities and performance using performance using FPGAsFPGAs
FlexibilityFlexibility Modest CostModest Cost
ConsCons Programming HP Programming HP
computers is time computers is time consumingconsuming
Must be expert in Must be expert in parallel computing parallel computing architecture, architecture, programming tools programming tools and target applicationand target application
Reconfigurable SystemsReconfigurable Systems Demand paged hardware similar to virtual Demand paged hardware similar to virtual
memory used for softwarememory used for software Each computation task can be supported by the Each computation task can be supported by the
notion of virtual hardware. notion of virtual hardware. Different hw tasks could share portions of the Different hw tasks could share portions of the
FPGA physically or temporally and operate like a FPGA physically or temporally and operate like a hardware cache. hardware cache.
By using the reconfigurable components as By using the reconfigurable components as virtual hardware, fewer resources are needed for virtual hardware, fewer resources are needed for an application since the RC units can be an application since the RC units can be dynamically reconfigured and reused to dynamically reconfigured and reused to implement multiple functions.implement multiple functions.
ReferencesReferences Supporting Dynamic Reconfiguration of Operating System using Object and Supporting Dynamic Reconfiguration of Operating System using Object and
Meta Objects. Yoo, Kwanghun and Choo, Yookun. Department of Computer Meta Objects. Yoo, Kwanghun and Choo, Yookun. Department of Computer Engineering. University of Seoul. IEEE. 1995. p727-733.Engineering. University of Seoul. IEEE. 1995. p727-733.
When Virtual is Better than Real. Chen, Peter M. and Noble, Brian D. When Virtual is Better than Real. Chen, Peter M. and Noble, Brian D. Department of Electrical Engineering and Computer Science. University of Department of Electrical Engineering and Computer Science. University of Michigan. IEEE. 2001. p133 – 138.Michigan. IEEE. 2001. p133 – 138.
What next? A Hardware Operating System? Groza, V., Abielmona, R. What next? A Hardware Operating System? Groza, V., Abielmona, R. School of Information Technology Engineering, University of Ottawa, School of Information Technology Engineering, University of Ottawa, Canada. IEEE. 2004. p1496 – 1501.Canada. IEEE. 2004. p1496 – 1501.
High Performance Reconfigurable Computing Systems. Smith, M., Drager, High Performance Reconfigurable Computing Systems. Smith, M., Drager, S., Pochet, L., Peterson, G. University of Tennessee Electrical and S., Pochet, L., Peterson, G. University of Tennessee Electrical and Computer Engineering. Air Force Research Laboratory. IEEE. 2001. p 462 – Computer Engineering. Air Force Research Laboratory. IEEE. 2001. p 462 – 465.465.
Reconfigurable Hardware in Wearable Computing Nodes. Plessl, C., Enzler Reconfigurable Hardware in Wearable Computing Nodes. Plessl, C., Enzler R., Walker, H., Beutel, J., Platzner, M., Thiele, L. Swiss Federal Institute of R., Walker, H., Beutel, J., Platzner, M., Thiele, L. Swiss Federal Institute of Technology. IEEE. Proceedings of the 6Technology. IEEE. Proceedings of the 6thth International Symposium on International Symposium on Wearable Computers. 2002. Wearable Computers. 2002.
ReferencesReferences How does USB Work?. Ken Jacobs. August 5, 2004. How does USB Work?. Ken Jacobs. August 5, 2004.
Http://www.pcmech.com/show/internal/681/Http://www.pcmech.com/show/internal/681/..
Plug and Play, A how to manual. Plug and Play, A how to manual. http://www.tldp.org/HOWTO/Plug-and-http://www.tldp.org/HOWTO/Plug-and-Play-HOWTO.html#toc4Play-HOWTO.html#toc4..
On Adaptable Aspect-Oriented Operating Systems. Daniel Lohmann, Wasif On Adaptable Aspect-Oriented Operating Systems. Daniel Lohmann, Wasif Gilani and Olaf Spinczyk. Friedrich-Alexander-Unversity Eriangen-Gilani and Olaf Spinczyk. Friedrich-Alexander-Unversity Eriangen-Nuremberg, Germany.Nuremberg, Germany.
Choices, Choices, Frameworks and RefinementFrameworks and Refinement. Roy H. Campbell, Nayeem Islam, . Roy H. Campbell, Nayeem Islam, Ralph Johnson, Panos Kougiouris and Peter Madany. Department of Ralph Johnson, Panos Kougiouris and Peter Madany. Department of Computer Science. University of Illinois at Urbana-Champaign.Computer Science. University of Illinois at Urbana-Champaign.
Java Tip 30: Polymorphism and Java, What to do when switch statements Java Tip 30: Polymorphism and Java, What to do when switch statements start reappearing in your code. Philip Bishop. start reappearing in your code. Philip Bishop. Http://www.javaworld.com/javatips/jw-javatip30_p.htmlHttp://www.javaworld.com/javatips/jw-javatip30_p.html..