Strategized, Coordinated Services for Real-Time Middleware · Priyanka Gupta, Jiangyin Zhang,...
Transcript of Strategized, Coordinated Services for Real-Time Middleware · Priyanka Gupta, Jiangyin Zhang,...
Strategized, Coordinated Services for Real-Time Middleware
Lisa Cingiser DiPippo, Victor Fay-Wolfe, Matthew Murphy, Priyanka Gupta, Jiangyin Zhang, Jianming Ye, Kevin Bryan, Tim Henry
Sponsors:
! Distributed end-to-end middleware real-time enforcement using global scheduling information
! Coordinated middleware services ! Coordinated scheduling points! Priority-based scheduling! Classic real-time analysis and
algorithms
URI Real-Time Middleware Approach
3
URI Real-Time Middleware Services
{Scheduling
Service
RT Trader(Binding)Service
Data DistributionService
URI implements coordinated distributed end-to-end real-time as middleware common object services
RT Notification Load Balancing
Object(Servant)
IDLStubs
IDLSkeletons
ORB Core
in args
out args + return value
Operation ()
BSS or Spawn
ESS
USS
Client
Service Context1
2
3
4 76 Object
Adapter
RTC2 Scheduler
Mutex
RTC2 Scheduler
NIC NIC
Router
913
14
10 12
NotificationService
16
RT Trader(Binding) Service
0
Many Scheduling Points in End-To-End Chain
Client Server (E2E-1)
5
8Object
(Servant)
IDLSkeletons
ObjectAdapter
Mutex
RTC2 Scheduler
NIC
in args
out args + return value
Operation ()
Service Context
Distributable Thread (E2E-N)
Object(Servant)
IDLStubs
IDLSkeletons
ORB Core
in args
out args + return value
Operation ()
BSS or Spawn
ESS
USS
Client
Service Context1
2
3
4 7
5
6 ObjectAdapter
8
RTC2 Scheduler (e.g. Kokyu)
Mutex
RTC2 Scheduler (e.g. Kokyu)
NIC NIC
Router
913
14
10 12
Object(Servant)
IDLSkeletons
ObjectAdapter
Mutex
RTC2 Scheduler (e.g. Kokyu)
NIC
in args
out args + return value
Operation ()
Service Context
Dynamic Distributed Scheduling Service
SchedulingService
Coordinated Distributed Scheduling
NotificationService
16
RT Trader(Binding) Service
0
SchedulingService
Real-Time
Sets CORBA Priority
Sets Priority Inheritance, Priority Lanes, Priority Bands
Sets OS Prio Mapping
Sets Network Prio Mapping
Offline tools set parameters for scheduling service; service sets parameters in RT ORB
URI RT CORBA 1.0 Scheduling Service
Priorities, ceilings, mappings, XML file
6
Distributed Scheduling Service:
• Set end-to-endscheduling parameters for local schedulers using global criteria
• Detect overload
• Determine distributable thread cancellation points
Real-Time
SchedulingService
Scheduling Service works with local schedulers to enforce global scheduling
Dynamic Distributed Scheduling Service
RT CORBA 2.0 Pluggable Scheduler
7
8
System
Local Only E2E-N
Static Dynamic
All Hard All Soft
All Periodic Periodic/Sporadic All Sporadic Periodicity
Remote Calls
System Conditions
Constraints
Distributed Scheduling Problem Space Taxonomy
E2E-1(per request)
Hard/Soft
Identify application and system characteristics
9
System
Local Only E2E-N
Static Dynamic
All Hard All Soft
All Periodic Periodic/Sporadic All Sporadic
RT CORBA 1.0 Scheduling Service
E2E-1(per request)
Hard/Soft
• Handles local scheduling and one CORBA call, static systems, all forms of constraints depending on the offline capability
• Example: scheduling static UAV video stream
10
System
Local Only E2E-N
Static Dynamic
All Hard All Soft
All Periodic Periodic/Sporadic All Sporadic
Dynamic Scheduling Service: First Problem Space Approached
E2E-1(per request)
Hard/Soft
• First dynamic problem space – dynamic periodic
•Example: dynamically entering UAVs each with periodic video stream.
Overload
• Load Shedding
•QoS adjustment
• Resource reallocation
Local Dispatch
• Priority Mapping
• RTC2 local ORB scheduler
Server Dispatch
• Priority Inheritance
• Release-Guard
• E2E intermediate deadlines
SchedulingService
RT Trader(Binding)Service
Binding
• Best Fit Utilization
• Worst Fit Utilization
• Best fit laxity
Network Routing
• Net Priority Mapping
• Network EDF with intermediate deadline
System
Local Only E2E-N
Static Dynamic
All Hard All Soft
All Periodic Periodic/Sporadic All Sporadic
E2E-1(per request)
Hard/Soft
Distributed Scheduling Service Strategization PointsPriority
• Rate Mono
• EDF
• MUF
Overload
• Load Shedding
•QoS adjustment
• Resource reallocation
Local Dispatch
• Priority Mapping
• RTC2 local ORB scheduler
Server Dispatch
• Priority Inheritance
• Release-Guard
• E2E intermediate deadlines
SchedulingService
RT Trader(Binding)Service
Binding
• Best Fit Utilization
• Worst Fit Utilization
• Best fit laxity
Network Routing
• Net Priority Mapping
• Network EDF with intermediate deadline
Distributed Scheduling Service Strategization Points
Priority
• Rate Mono
• EDF
• MUF
Current Work –December 03 target
Real-Time
SchedulingService
RT CORBA 2.0 Pluggable SchedulerRT Trader(Binding)Service
13
G lo b a lS c h e d u lin g
b e g in _ g lo b a l_ s c h e d u lin g _ s e g me n t()c a lc u la te _ u til()
S ys te mR e p o s ito ry
u p d a te _ ta s k ()b e g in _ ta s k ()g e t_ u tiliza tio n ()
O v e rlo a dD e tec to r
s ch e d ulab ility _ te st ()
O v e rlo a d H a n d le r
a c ce p t_ ta s k()d e ny _ ta sk ()
S c h e d u lin g Alg o rith m
g e t_ sc h e d_ p a ra m()
D S _ Ad a p te r
b e g in _ n e w _ s c h e d u lin g _ s e g me n t()
RT CORBA 2 Local Scheduler Interaction With Distributed Scheduling Service -
Partial Class Diagram
S c h e d u lin g A lg o rit h mO v e rlo a d H a n d le rO v e rlo a d D e t e c t o r S y s t e m R e p o s i t o ryG lo b a lS c h e d u lin gD S _ A d a p te r R T C 2 -S c h e d u le rC lie n t O R B
1 : b s s1 : b s s 1 . 1 : b n s s1 . 1 : b n s s
1 . 1 . 1 : b g s s1 . 1 . 1 : b g s s
1 . 1 . 1 . 1 : c a lc u la t e _ u t il()1 . 1 . 1 . 1 : c a lc u la t e _ u t il()
1 . 1 . 1 .1 . 1 : 1 . 1 . 1 .1 . 1 :
1 . 1 . 1 . 2 : b e g i n _ t a s k1 . 1 . 1 . 2 : b e g i n _ t a s k
1 . 1 . 1 . 3 : s c h e d u la b ilit y _ t e s t1 . 1 . 1 . 3 : s c h e d u la b ilit y _ t e s t1 . 1 .1 .3 . 1 : g e t _ u t ili za t io n1 . 1 .1 .3 . 1 : g e t _ u t ili za t io n
1 . 1 . 1 . 3 . 1 . 1 : 1 . 1 . 1 . 3 . 1 . 1 : 1 .1 .1 . 3 . 2 : 1 .1 .1 . 3 . 2 :
1 . 1 . 1 . 4 : if o v e rlo a d : d e n y _ t a s k1 . 1 . 1 . 4 : if o v e rlo a d : d e n y _ t a s k
1 . 1 . 1 . 4 . 1 : S c h e d u le _ F a ilu re E x c e p t io n1 . 1 . 1 . 4 . 1 : S c h e d u le _ F a ilu re E x c e p t io n
1 .1 .1 .5 : g e t _ s c h e d _ p a ra m1 .1 .1 .5 : g e t _ s c h e d _ p a ra m
1 . 1 .1 .5 . 1 : 1 . 1 .1 .5 . 1 :
1 . 1 . 1 . 6 : 1 . 1 . 1 . 6 : 1 . 1 . 2 : b e g in _ n e w _ s c h e d u lin g _ s e g m e n t1 . 1 . 2 : b e g in _ n e w _ s c h e d u lin g _ s e g m e n t
1 . 1 . 2 . 1 : 1 . 1 . 2 . 1 : 1 . 1 . 3 : 1 . 1 . 3 :
1 . 2 : 1 . 2 :
Scheduling Point #1 - begin_scheduling_segment
Scheduling Point #2 - update_scheduling_segment
O R BC lie n t R T C 2 -S c h e d u le rD S _ A d a p te r G lo b a lS c h e d u lin g S y s t e m R e p o s i to ryO v e rlo a d D e te c to r O v e rlo a d H a n d le r S c h e d u lin g A lg o rith m
1 : u s s1 : u s s1 . 1 : u s s1 . 1 : u s s
1 . 1 . 1 : u g s s1 . 1 . 1 : u g s s1 . 1 . 1 . 1 : c a lc u la t e _ u t il()1 . 1 . 1 . 1 : c a lc u la t e _ u t il()
1 . 1 . 1 .1 . 1 : 1 . 1 . 1 .1 . 1 :
1 . 1 . 1 . 2 : u p d a t e _ ta s k1 . 1 . 1 . 2 : u p d a t e _ ta s k
1 . 1 . 1 . 3 : s c h e d u la b ility _ te s t1 . 1 . 1 . 3 : s c h e d u la b ility _ te s t1 . 1 .1 .3 . 1 : g e t_ u t ili za t io n1 . 1 .1 .3 . 1 : g e t_ u t ili za t io n
1 . 1 . 1 . 3 . 1 . 1 : 1 . 1 . 1 . 3 . 1 . 1 : 1 .1 .1 . 3 . 2 : 1 .1 .1 . 3 . 2 :
1 . 1 . 1 . 4 : if o v e rlo a d : c a n c e l_ ta s k1 . 1 . 1 . 4 : if o v e rlo a d : c a n c e l_ ta s k
1 . 1 .1 .4 . 1 : T h re a d _ C a n c e l E xc e p t io n1 . 1 .1 .4 . 1 : T h re a d _ C a n c e l E xc e p t io n
1 .1 .1 .5 : g e t_ s c h e d _ p a ra m1 .1 .1 .5 : g e t_ s c h e d _ p a ra m
1 . 1 .1 .5 . 1 : 1 . 1 .1 .5 . 1 :
1 . 1 . 1 . 6 : 1 . 1 . 1 . 6 : 1 . 1 . 2 : u p d a te _ s c h e d u lin g _ s e g m e n t1 . 1 . 2 : u p d a te _ s c h e d u lin g _ s e g m e n t
1 . 1 . 2 . 1 : 1 . 1 . 2 . 1 : 1 . 1 . 3 : 1 . 1 . 3 :
1 . 2 : 1 . 2 :
S y s t e m R e p o s ito ryG lo b a lS c h e d u lin gD S _ A d a p te rC lie n t O R B
1 : e s s1 : e s s
1 .1 : e s s1 .1 : e s s
1 .1 . 1 : e g s s1 .1 . 1 : e g s s
1 .1 .1 .1 : re m o v e _ t a s k1 .1 .1 .1 : re m o v e _ t a s k
1 .1 . 1 .1 . 1 : 1 .1 . 1 .1 . 1 :
1 .1 . 1 .2 : 1 .1 . 1 .2 : 1 .1 . 2 : 1 .1 . 2 :
1 .2 : 1 .2 :
Scheduling Point #3 - end_scheduling_segment
RT Trader(Binding)Service
SchedulingService
G lo b a lS c h e d u lin g
b e g in _ g lo b a l_ s c h e d u lin g _ s e g me n t()c a lc u la te _ u til()
S ys te mR e p o s ito ry
u p d a te _ ta s k ()b e g in _ ta s k ()g e t_ u tiliza tio n ()
O v e rlo a dD e tec to r
s ch e d ulab ility _ te st ()
O v e rlo a d H a n d le r
a c ce p t_ ta s k( )d e ny _ ta sk ()
S c h e d u lin g Alg o rith m
g e t_ sc h e d_ p a ra m()
D S _ Ad a p te r
b e g in _ n e w _ s c h e d u lin g _ s e g me n t()
System Repository
UML For Coordinated
Services
18
Real-Time Data Distribution
RTNS
EventChannel
NCA::EventChannel
NCA::ConsumerAdmin* NCA::SupplierAdmin*
ECA::EventChannel
ECA::ConsumerAdmin ECA::SupplierAdmin
ECA::ProxyPushConsumer*
ECA::ProxyPullConsumer*
NCA::ProxyPullConsumer*
NCA::ProxyPushConsumer*
ECA::ProxyPushSupplier*
ECA::ProxyPullSupplier*
NCA::ProxyPushSupplier*
NCA::ProxyPullSupplier*
EC::PushSupplier*
NC::PushSupplier*
EC::PullSupplier*
NC::PullSupplier*
EC::PushConsumer*
EC::PullConsumer*
NC::PushConsumer*
NC::PullConsumer*
Direction of Event Flow
EC - CosEvenCommECA- CosEvenChannelAdmin(Pure Event Service)NC-CosNotifyCommNCA-CosNotifyChannelAdmin*-multiple object instances supporting this interface
Supplier provides real-time data to
consumers
Consumer specifies real-time requirements for
data delivery
SchedulingService
Scheduling service determines scheduling
parameters for propagation of event
data
Model Integrated Scheduling - Approach
System
Local Only E2E-N
Static Dynamic
All Hard All Soft
All Periodic Periodic/Sporadic All Sporadic
E2E-1(per request)
Hard/Soft
Modeled Problem Space Taxonomy in GME2000
20
Model-Integrated Scheduling- Current
I
I
SchedulingAspectDelegates
RapidRMA Analysis
I URI model interpreterTri-Pacific model interpreter
Modified BBN QuO model interpreter
XML file
reads
XML file
reads
SchedulingService
RT Trader(Binding)Service
System
Local Only E2E-N
Static Dynamic
All Hard All Soft
All Periodic Periodic/Sporadic All Sporadic
E2E-1(per request)
Hard/Soft
Determine Scheduling Problem Space
I
TimeWiz Analysis
reads
Model-Integrated Scheduling On- going Work
TimeWiz
U Virginia VEST/TimeWiz
Integration
VEST
(U Virginia)
I
Scheduling Aspect Delegates
I
SchedulingService
RT Trader(Binding)Service
22
Summary! Creating Real-Time Services
! Scheduling, Binding, Data Distribution
! Embodying classic real-time algorithms in middleware
! Creating new algorithms as needed! Using existing services for framework
and enforcement
Strategized, Coordinated Services for Real-Time Middleware
Lisa Cingiser DiPippo, Victor Fay-Wolfe, Matthew Murphy, Priyanka Gupta, Jiangyin Zhang, Jianming Ye, Kevin Bryan, Tim Henry
Sponsors:
Contact
Vic Fay-Wolfe ([email protected])
Lisa DiPippo ([email protected])http://rtdoc.cs.uri.edu