Presentation is loading. Please wait.

Presentation is loading. Please wait.

Stampede: A Cluster Programming Middleware for Interactive Stream- Oriented Applications Mamadou Diallo Leila Jalali CS224 Advances in Database Management.

Similar presentations


Presentation on theme: "Stampede: A Cluster Programming Middleware for Interactive Stream- Oriented Applications Mamadou Diallo Leila Jalali CS224 Advances in Database Management."— Presentation transcript:

1 Stampede: A Cluster Programming Middleware for Interactive Stream- Oriented Applications Mamadou Diallo Leila Jalali CS224 Advances in Database Management System Technology Some slides borrowed from [Kishore Ramachandran’s slides]

2 Stampede is a cluster parallel programming system with novel data abstractions designed to support emerging classes of complex interactive stream-oriented multimedia applications. Application Domain: interactive vision, animation, and multimedia collaboration Examples: Smart Kiosk, mobile robots, smart vehicles, intelligent rooms, interactive animation Stampede

3 Interactive Stream-Oriented Apps vision, animation, multimedia collaboration Why parallel computing for such apps? computationally intensive inherently parallel (pipelined, data, and task) Platforms? SMPs, and clusters Problems dynamic data sharing real-time properties

4 CRL’s Smart Kiosk Application public access to info and entertainment multiple users interact with multiple Kiosks input: implicit (camera, gaze, infrared,...) and explicit (voice, gesture, touch-screen,...) output: emotive face, synthesized speech,... digitizer tracker input nettracker output net.... decision heterogeneous pieces of software: GUIs, trackers, etc.

5 Research Issues Stream-oriented and time-sequenced data Heterogeneity of Components Resource management High Availability Clients leave and join arbitrarily Security and Privacy

6 What new issues? temporally evolving dynamic data structures dynamic producer-consumer relationships not everything consumed inter-stream synchronization digitizer Hi-Fi tracker Low-Fi tracker buffers time

7 Stampede main contributions Virtual vs. real timestamps –By vitalizing time the same time stamp index associated to data –A way to propagate temporal causality Garbage collection Implementation of four applications Performance study: low performance overhead (good performance of clusters)

8 Solutions : STM an abstraction for parallel programming, a dynamic concurrent distributed data structure for holding time-sequenced data STM channels: provide random access to a collection of time-indexed data items STM queues: provide FIFO access STM registers: can be used like a cluster- wide shared variable

9 Concurrent dynamic data structure STM: Space-Time Memory............ 1 2 3 4. 1 2 3 4... space time threads connections channels

10 Concurrent dynamic data structure STM Example ─ Each row is a channel: used to place a time sequenced data records produced by an activity ─ Each column temporally correlated records

11 Using the STM channel consumer: get-item(in-connection, ts) code to use item consume-item(in-connection, ts) producer: put-item(out-connection, ts) API includes calls to: create channel connect, disconnect to/from channel advance thread virtual time synchronize virtual time with real time

12 Solutions: STM summary STM, a concurrent dynamic data structure for flexible manipulation of time-sequenced data, with automatic GC Why is STM a good idea? –time: important attribute for interactive apps –sharing abstractions such as DSM, and synchronization abstractions such as locks and barriers are too low level –current parallel programming languages do not offer the right abstractions for stream-oriented interactive apps.

13 Solutions (cont.) Garbage Collection: Automatic garbage collection across clusters, use consume operation and rules –Using a global minimum timestamp: minimum of virtual times of all the threads and timestamps of all unconsumed items Communicating Complex Data Structures through STM: use object types Synchronization with Real-Time: provides an API for loose temporal synchrony

14 Implementation Clusters of x86-Linux, x86-Solaris, StrongArm-Linux, and Windows nodes Performance Evaluation –Microbenchmarks: measured latency and bandwidth of put/get –Applications (Video Textures, Color Tracker) Low performance overhead (good performance of clusters)


Download ppt "Stampede: A Cluster Programming Middleware for Interactive Stream- Oriented Applications Mamadou Diallo Leila Jalali CS224 Advances in Database Management."

Similar presentations


Ads by Google