230 likes | 369 Views
Design of a Real-Time Distributed Shared Data Space. Rob Spoor. AKA Real-time GSpace. 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.
E N D
Design of a Real-Time Distributed Shared Data Space Rob Spoor AKA Real-time GSpace
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
node1 node2 noden ... GSpace Kernel GSpace Kernel GSpace Kernel Shared data space middleware network GSpace Overview application
Application Computation Layer Component Functionality Middleware Coordination Layer Distribution Middleware Requirements NW Level Layer OS and Network Separating Concerns in GSpace mapping Implementation Specification Distribution Policy Descriptor downloading
Application Application Component Layer put read take GSpace API GSpace System Boot Controller Kernel Policy Middleware Table Connection Dynamic Policy Distribution Layer Manager Selector Manager Distribution Policy Data Space Communication Policy download Descriptor Slice Module Descriptor Loader Low Level Operating System - Network Interface Layer GSpace Kernel Structure
Real-time GSpace: RGSpace • Add timing constraints to actions • Focus on predictability, not performance
Application Computation Layer Component Functionality Middleware Timing Errors Timing Coordination Layer Timing Error Timing Distribution Middleware Handling Requirements Requirements Error Handler Descriptor Timing Constraints Desc. NW Level Layer OS and Network Separating Concerns in RGSpace mapping Implementation Specification Distribution Policy Descriptor downloading
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
Application Layer put read Thread Pool take RGSpace Policy Policy API Scheduler Tables Tables System Boot Controller Middleware Policy Connection Dynamic Policy Distribution Layer Descriptors Manager Selector Manager Policy Data Space Communication Descriptor Slice Module Loader Low Level Operating System - Network Interface Layer RGSpace Kernel Structure Application Component RGSpace Kernel download
Application Layer Thread Pool Policy Policy Scheduler Tables Tables System Boot Middleware Policy Connection Dynamic Policy Distribution Layer Descriptors Manager Selector Manager Policy Data Space Communication Descriptor Slice Module Loader Low Level Operating System - Network Interface Layer RGSpace Kernel Flow of Control Application Component RGSpace Controller Kernel download
Data Space Data Space Slice Slice Connection Dynamic Policy Dynamic Policy Distribution Distribution Manager Selector Selector Manager Manager Communication Communication Module Module RGSpace Processes / Threads Thread Pool Incoming requests Controller RGSpace Kernel Scheduler Application other OS tasks Acceptance test Scheduling policy OS Scheduler
RGSpace Design Decisions • Limit to periodic actions • Use rate monotonic / deadline monotonic • Limit the size of the data space
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 • ???