Download Design of a Real-Time Distributed Shared Dataspace

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Design of a Real-Time Distributed
Shared Data Space
AKA Real-time GSpace
Rob Spoor
Introduction
•
•
•
•
•
•
•
•
Shared Data Space
GSpace
RGSpace Issues
CORBA / TAO
RGSpace Architecture
Scheduling
RGSpace Global Design
Conclusion
Shared Data Space Model
Model Overview
A
B
C
actions: read, put, take
shared data space
tuple: ordered sequence of typed fields with specified values
(str name, int age) - put ((Rob, 25))
template: ordered sequence of typed fields with or without a specified value
(str name, int age) - read ((Rob, int ?)), take ((str ?, 25))
Shared Data Space Features
• Uncoupling in time – no need to be online at the
same time
• Uncoupling in space – no need to know each
other, only the data
• Computation is separated from coordination
GSpace Overview
application
middleware
node1
node2
noden
GSpace
GSpace
GSpace
Kernel
Kernel
Kernel
network
Shared data space
...
Separating Concerns in GSpace
mapping
Specification
Computation
Functionality
Coordination
Distribution
Requirements
Implementation
Component
Distribution Policy
Descriptor
downloading
Application
Layer
Middleware
Layer
Middleware
OS and Network
NW Level
Layer
GSpace Kernel Structure
Application
Layer
Application Component
put
read
take
GSpace
API
GSpace
Kernel
System Boot
Connection
Manager
Data Space
Slice
Controller
Distribution
Manager
Dynamic Policy
Selector
Communication
Module
Operating System - Network Interface
Policy
Table
Policy
Descriptor
Loader
Middleware
Layer
download
Distribution
Policy
Descriptor
Low Level
Layer
Real-time GSpace: RGSpace
• Add timing constraints to actions
• Focus on predictability, not performance
Separating Concerns in RGSpace
mapping
Specification
Computation
Functionality
Coordination
Distribution
Requirements
Implementation
Component
Timing
Timing
Requirements
Distribution Policy
Descriptor
downloading
Timing
Constraints Desc.
Timing Errors
Timing Error
Handling
Error Handler
Descriptor
Application
Layer
Middleware
Layer
Middleware
OS and Network
NW Level
Layer
Examples of Timing Constraints
• read((Rob, int ?)) must be finished within 15ms
• put((temperature)) will occur every 100ms, and
must be finished within 10ms
Examples of Policies for Handling Timing
Errors
•
•
•
•
Reschedule to fit
Reject new task
Shut down RGSpace
???
Real-time CORBA: TAO
• TAO: The ACE ORB
• TAO Subsystems:
–
–
–
–
–
–
–
I/O Subsystem
Run-time Scheduler
ORB Core
Object Adapter
Stubs and Skeletons
Memory Manager
QoS API
TAO ORB Architecture
RGSpace Kernel Structure
Application
Layer
Application Component
put
read
take
RGSpace
API
RGSpace
Kernel
System Boot
Connection
Manager
Data Space
Slice
Thread Pool
Controller
Distribution
Manager
Dynamic Policy
Selector
Communication
Module
Policy
Policy
Tables
Tables
Operating System - Network Interface
Middleware
Layer
Scheduler
Policy
Descriptor
Loader
download
Policy
Descriptors
Low Level
Layer
RGSpace Kernel Flow of Control
Application
Layer
Application Component
RGSpace
Kernel
System Boot
Connection
Manager
Data Space
Slice
Thread Pool
Controller
Distribution
Manager
Dynamic Policy
Selector
Communication
Module
Policy
Policy
Tables
Tables
Operating System - Network Interface
Middleware
Layer
Scheduler
Policy
Descriptor
Loader
download
Policy
Descriptors
Low Level
Layer
RGSpace Processes / Threads
Communication
Module
Data Space
Slice
Communication
Module
Distribution
Manager
Distribution
Manager
Dynamic Policy
Selector
Connection
Manager
Dynamic Policy
Selector
Thread Pool
Incoming
requests
Controller
Application
RGSpace Kernel Scheduler
Acceptance test
Data Space
Slice
Scheduling policy
OS Scheduler
other OS tasks
RGSpace Design Decisions
• Limit to periodic actions
• Use rate monotonic / deadline monotonic
• Limit the size of the data space
Accepting an Action
Application
Controller
Component
read/put/take
Timing
Constraints
Error Handlers
Dynamic Policy
Descriptor
fetch
fetch
create distribution manager
time needed for the action
schedule new thread
schedulable
insert thread
read/put/take
map action
Thread Pool
Scheduler
Denying an Action
Controller
Scheduler
schedule new thread
not schedulable
handle not schedulable
Error Handler
Handling an Action
Application
Component
Action Thread
Dynamic Policy
Descriptor
read/put/take
Distribution
Manager
Data Space
Slice
select distribution manager
read/put/take
read/put/take
tuple
read/put/take
tuple
tuple
tuple
tuple
Network
Intermediate Conclusions
•
•
•
•
•
•
Scheduling
Real-time CORBA
Real-time OS
Real-time networking
Real-time JAVA
Real-time (distributed) databases
Plans for Completing this Project
•
•
•
•
Implement for one machine only (no network)
Extend for multiple machines (networked)
Write my report
???
Questions?
Related documents