Title: Rob Spoor
1Design of a Real-Time Distributed Shared Data
Space
AKA Real-time GSpace
2Introduction
- Shared Data Space
- GSpace
- RGSpace Issues
- CORBA / TAO
- RGSpace Architecture
- Scheduling
- RGSpace Global Design
- Conclusion
3Shared 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))
4Shared 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
5GSpace Overview
application
6Separating Concerns in GSpace
mapping
Implementation
Specification
Distribution Policy Descriptor
downloading
7GSpace Kernel Structure
8Real-time GSpace RGSpace
- Add timing constraints to actions
- Focus on predictability, not performance
9Separating Concerns in RGSpace
mapping
Implementation
Specification
Distribution Policy Descriptor
downloading
10Examples of Timing Constraints
- read((Rob, int ?)) must be finished within 15ms
- put((temperature)) will occur every 100ms, and
must be finished within 10ms
11Examples of Policies for Handling Timing Errors
- Reschedule to fit
- Reject new task
- Shut down RGSpace
- ???
12Real-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
13TAO ORB Architecture
14RGSpace Kernel Structure
Application Component
RGSpace
Kernel
download
15RGSpace Kernel Flow of Control
Application Component
RGSpace
Kernel
Controller
download
16RGSpace Processes / Threads
Thread Pool
Incoming requests
Controller
Application
other OS tasks
RGSpace Kernel Scheduler
Acceptance test
Scheduling policy
OS Scheduler
17RGSpace Design Decisions
- Limit to periodic actions
- Use rate monotonic / deadline monotonic
- Limit the size of the data space
18Accepting an Action
19Denying an Action
20Handling an Action
21Intermediate Conclusions
- Scheduling
- Real-time CORBA
- Real-time OS
- Real-time networking
- Real-time JAVA
- Real-time (distributed) databases
22Plans for Completing this Project
- Implement for one machine only (no network)
- Extend for multiple machines (networked)
- Write my report
- ???
23Questions?