160 likes | 648 Views
Real-time Publish/subscribe. ECE 1770-- Expert Topic. Lizhong Cao Milenko Petrovic March 6 th ,2003. What Is Real-time?. Real-time vs. Non-real-time Hard real-time vs. Soft real-time Fundamental factors Time constraints ( deadline ) Timeliness optimality Sequencing Predictability
E N D
Real-time Publish/subscribe ECE 1770-- Expert Topic Lizhong Cao Milenko Petrovic March 6th,2003
What Is Real-time? • Real-time vs. Non-real-time • Hard real-time vs. Soft real-time • Fundamental factors • Time constraints (deadline) • Timeliness optimality • Sequencing • Predictability • Traditional real-time (static) • Next generation real-time (adaptive, dynamic)
Distributed Computing System • Asynchronous and synchronous models • Bounds/no bounds on execution and transmission latency, clock drift rate • Real-time distributed system is partial synchronous at least. • Multi-node behaviors • Including: control flow (RPC/RMI), data flow ( pub/sub) , asynchronous message-passing, mobile code, virtual shared memory • Multi-node properties maintained: integrity of behavior, detection and handling of distributed events, timeliness, security and fault management.
Real-time Distributed • Horizontal real-time (end to end timeliness) • Multi-node sequencing categories • Using a consistent sequencing policy (alpha, RT-CORBA 1 / 2) • Interact to perform sequencing for all nodes (improved timeliness, but higher costs) • One or more level “meta” resource sequencer above node resource sequencer (hierarchical) • Priority scheduling • Fixed priority (real-time CORBA 1) • Dynamic scheduling ( real-time CORBA 2)
Real-time CORBA • RT-CORBA: end-to-end predictability, fixed/dynamic scheduling, vertically and horizontally integrated and managed by ORB
Real-time Java DRTSJ/RMI • Distributed real-time specification for java (DRTSJ) • Supporting predictability of end-to-end timeliness for sequentially trans-node behaviors in dynamic distributed object systems. • Based on alpha distributed real-time OS • Distributed real-time RMI • Arbitrary scheduling disciplines, global physical time, crash failures only, RT-JRMP and IIOP
Real-time Pub/sub • Pub/sub is ideal for real-time data distribution • Many-to-many communication • Distributing time-critical information • No request traffic, direct event-driven transfer • Anonymous communication structures code • Maps well to real-time needs • Streaming signals • Status updates • Event-driven commands
Real-time Pub/sub Model • RTPB model by RTI • Publisher: • Fast, robust, re-configurable • Supports fail-over and migration • Subscriber: • Flow-controlled, timely delivery of each data stream • Service: • Fault-tolerant request and reply • Requests have deterministic “best then first” semantics • Tradeoff between speed and quality of response • Reliable and determinism tradeoff
Existing Real-Time P/S • Allow timing constraints in P/S model • Once events and subscriptions have timing information, scheduling is possible • Running time of matching algorithms is usually not predictable; can do soft real-time only • Subject-based P/S – simple and fast; easier to bound matching time; can do hard-real time • Centralized P/S only
P/S Systems for Multimedia • First papers on multimedia and P/S (ICDCSW'02) • Focus on using existing (non-real-time) P/S to improve soft real-time applications • Elvin Real-Time Protocol • Allows TV channel customization without intervention from the user • Content Analysis using MBus • Content analysis is time-sensitive and computationally expensive • Uses P/S to build distributed content-analysis prototype
P/S Model for Real-TimeDatabases • Active real-time databases (ARTDB) use ECA (event-condition-action) rules with timing constraints for real-time transactions (ARTDB'95) • ECA Example: If IBM stock price declines by 10% within any 10min interval, then notify me and send a sell order for 1000 IBM shares within 2sec • Real-time update propagation/cache update (Distributed and Parallel Databases 9(1), 2001) • Keep client-side cache up to date • Introduce notification deadline for each subscription
Real-Time P/S Middleware • ISIS-like toolkit for distributed real-time systems with focus on analyzability and predictability (RTAS'95) • RTPS Protocol/NDDS (Stanford, RTI Inc. ) • (Soft) Real-time publish subscribe protocol (Informational RFC from IETF) • CORBA-based real-time P/S (JSS'02) • For developing distributed and embedded applications using COTS platforms
Network Data Delivery Service • Pardo-Castellote and Schneider (ICRA'94) • Subject-based, soft real-time always notify at deadline accept only updates of higher strength Consumer time new updates only no notifications accept any update persistence data updates received time min. separation Producer consumer notified deadline
CORBA-based real-time P/S • COTS components • Based on TAO • Content-based P/S • Allows federated brokers • Timeliness ensured using staged matching
Open Issues • Content-based real-time P/S • Hard real-time P/S • Real-time distributed P/S