Title: Multimedia/Real-Time
1Multimedia/Real-Time
2Multimedia and Real-Time
- Audio and Video Continuous Media (CM)
- Graphics Discrete media
- CM
- High data rates
- Timing requirements
- Soft real-time applications
3Problems
- Traditional OSs do not provide good support
- Schedulers
- Round Robin, Priority scheduling
- No sense of urgency
- Large number of user-kernel level interactions
- Efficient usage of resources
- Varying demands
- Delays, jitter
4Papers
- Scheduling and IPC Mechanisms for Continuous
Media - New scheduling and IPC mechanisms
- Split-level scheduling
- User-level and kernel-level scheduler
- Use shared memory
- Memory mapped streams
- Shared memory FIFO
5Papers
- User-specified Adaptive Scheduling in a Streaming
Media Network - Deliver data in resource-limited, small-scale
environments - Meet the preferences and demands of the users
- MediaNet a distributed stream processing system
6Deadline/Workahead Scheduling
- Each message has a logical arrival time l(m)
- Each real-time process has a fixed logical delay
bound - A real-time process is critical at time t if
l(m) lt t - Workahead processes - real-time processes that
have pending messages but not critical
7DWS contd
8Split-level CPU scheduling
- Combines the advantages of thread and LWPs
- Minimizes user/kernel interactions
- Also prioritizes LWPs in different VASs correctly
- Kernel level scheduler and user level scheduler
communicate through shared memory
9Split-level scheduling contd
10Split-level scheduling contd
11Memory Mapped Streams
- CM data must be moved to/from kernel
- Components
- Control and Synchronization
- Data location transfer
- Data transfer
- Requires user/kernel interaction in one or more
of the above components
12MMS contd
- A shared memory FIFO
- Uses shared memory for control and
synchronization - Uses shared memory to hold data location and the
data - Mechanisms
- Statically shared pages of physical memory
- Fixed range of virtual pages, mapped dynamically
- Array of message descriptors
13Performance Evaluation
14Performance Evaluation contd
15Summary
- Proper scheduling through Split-level scheduling
and usage of shared memory - MMS low-overhead IPC mechanism
- Reduced user-kernel interactions
16User-specified Adaptive Scheduling in a Streaming
Media Network
- MediaNet a distributed stream processing system
- Users can specify how the system should adapt
- Uses local and global resource scheduling
- Adapts without resource reservation
17MediaNet Architecture
Video source
Users desired stream adaptation prefs
schedules
Global scheduling service
Video player
subscribe
feedback
Video description, location, resource info
publish
from MediaNets website
18Specifications
- Continuous Media Network (CMN)
- Directed acyclic graph of operations
- frame dropping, transcoding, compression and
decompression etc. - User specification
- One or more CMNs, each with associated utility
value - Goal Maximize users utility while utilizing the
network efficiently
19Operations
Op
frm1
frmn
Interval
Frame size
- Other attributes
- Fixed location?
- Transitional?
from MediaNets website
20Example User Specification
Utility
CMN
Vid
Prio
User
1.0
pcS
pcD
Prio
Vid
Drop B
Prio
User
0.3
pcS
pcD
Vid
Prio
Drop PB
Prio
User
0.1
pcS
pcD
21Scheduling
22Scheduling contd
23Implementation
- Global scheduling service
- implemented on a single node
- eventually hierarchical
- Local, per-node schedulers
- monitor and report available bandwidth
eventually CPU memory usage - implement local CMNs
- Global scheduler reconfigures schedules on-line
24Local Scheduler
- Implement the CMN given by the GS
- Must correctly reconfigure on-line
- Report monitoring info back to GS
- Implemented in Cyclone
- Type-safe, C-like language
- One component per operation, dynamically
reconfigurable - Uses TCP for send/receive
25Monitoring
- Monitor available bandwidth
- Keep track of TCP throughput, attempted vs.
actual bandwidth - Send regular reports to global scheduler
- Too pessimistic
- creep bandwidth estimate additively to
optimistically attempt higher utility configs
26Reconfiguration
- New configuration is applied in parallel with the
current configuration - Old operations are flushed along the dataflow
path - New operations are enabled when all old ones are
flushed on a particular node - Challenges
- Rapid reconfiguration
- Low disruption to stream
27Experiments
- Conducted on 8 850 MHz PIIIs, 512 MB RAM, 100
Mb/s Ethernet, Red Hat Linux 7.1 using a bowtie
topology
MPEG clip Bandwidth Requirements Bandwidth Requirements Bandwidth Requirements
Frame rate IPB IP I
30 fps 145 KB/s 88 KB/s 27 KB/s
28Results
No adaptation
Priority-based frame dropping
Local, proactive frame dropping
MediaNet
29Multi-User Performance
30Multi-User Performance contd
31Multi-User Performance contd
B frame dropping op
32Multi-User Performance contd
B frame dropping op
33Summary
- Application-specific QoS via user specs
- High network utilization and per-user utility via
global scheduling - Share resources between flows in a multicast-like
manner, but generalized to CMNs - Utilize multiple, redundant paths
- Intelligently place operations to reduce network
utilization - Adapts to resource availabilities on-line
34Conclusion
- Split-level scheduling
- Tight coupling between user-level and
kernel-level schedulers - Difficult to employ multiple scheduling policies
- Scalability
- Hierarchical global scheduling service
- Automate setting utility values
35Acknowledgements
- Some of the slides have been taken from
MediaNets website http//www.cs.umd.edu/projects
/medianet/
36Thank You