28
Reconfigurable/ Reconfigurable/ Adaptable Systems & Adaptable Systems & OS OS Michelle Grieco Michelle Grieco Charles Charles Huntington Huntington

Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

Reconfigurable/Adaptable Reconfigurable/Adaptable Systems & OSSystems & OS

Michelle GriecoMichelle GriecoCharles HuntingtonCharles Huntington

Page 2: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles 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

Page 3: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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

Page 4: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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).

Page 5: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

Plug and PlayPlug and Play

Devices now work out of the box.

Page 6: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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.

Page 7: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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.

Page 8: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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”?

Page 9: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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.

Page 10: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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.

Page 11: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

Reconfigurable OSReconfigurable OS

Page 12: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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.

Page 13: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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.

Page 14: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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.

Page 15: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

Choices three abstract classesChoices three abstract classes

Page 16: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

Choices constraintsChoices constraints

Page 17: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

Choices subframeworkChoices subframework

Page 18: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

Reconfigurable System Reconfigurable System ComponentsComponents

Page 19: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

Wearable Reconfigurable ComputersWearable Reconfigurable Computers

Quantum3D

Page 20: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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

Page 21: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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

Page 22: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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

Page 23: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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

Page 24: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

Reconfigurable System Software Reconfigurable System Software ArchitectureArchitecture

CPU Reconfigurable Hardware Memory I/O

Operating System

System Tasks

Application Tasks

Page 25: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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

Page 26: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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.

Page 27: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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.

Page 28: Reconfigurable/Adaptable Systems & OS Michelle Grieco Charles Huntington

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..