Multimedia nte bara text eller nerladdning av filer Multimedia Video, ljud med tidskrav Video-on-demand TV Telefoni Förändring av mediasituationen Sveriges TV jmf Blattnicksele TV Annorlunda krav Stora sjok av information ska skeppas iväg nformationen måste anlända i tid till vissa förutbestämda tidsintervall Viss förlust av information är OK Quality of Service (QoS) Synkronisering av data Datakompression En nödvändighet JPEG är en förstörande komprimering MPEG Komprimera bilder Koda förändring mellan bilderna
MPEG Hur det ser ut Förstörande komprimering Skillnader mellan rutorna Referenser framåt/bakåt Varje bild är olika stor -frame JPEG bild P-frame skillnad bakåt B-frame skillnad framåt/bakåt Hårda tidskrav Varje process måste uppfylla sina tidsgränser Förskjutningar spelar ingen roll Variationer är katastrofala Real-time scheduling Alla processer måste möta alla deadlines Om man inte klarar det så är systemet felaktigt konstruerat Kan man överhuvudtaget schemalägga? Vilka villkor finns?
Enklast möjligt Varje process kommer med samma mellanrum Varje process behöver lika mycket CPU tid Väldigt enkelt Rate monotonic scheduling Varje process måste vara klar innan sin deadline ngen process beror på någon annan Varje process behöver lika mycket CPU-kraft vid varje tillfälle cke-periodiska processer har inga deadlines Processbyten tar ingen tid och sker på en gång Rate monotonic scheduling Princip : Den med högst prioritet för köra först Prioriteten beräknas som 1/periodtid T = 30 ms ger prio 33 Rate monotonic scheduling Går det att schemalägga två processer: 3/7 och 4/8 Teoretiskt: 0.929 => OK Prio: 143 och 125 T = 8 ms ger prio 125
Rate monotonic scheduling 2/5, 2/7, 2/9 => 0.908 => OK Kortast tid kvar ngen prioritet Välj kortast tid till deadline Om flera har samma deadline, ta den som kör eller slumpa Kortast tid kvar 3/7 och 4/8 Teoretiskt: 0.929 Kortast tid kvar 2/5, 2/7, 2/9 Teoretiskt: 0.908
Kortast tid kvar 2/5, 3/6, 1/10 Teoretiskt: 1 File server Normalt: vill ha, skicka, vill ha, skicka Funkar inte bra i detta sammanhang Bättre: skicka konternuerligt Funktionalitet? Videobandspelare play, stop, snabbspolning Funktionalitet Stop: enkelt Play: svårare Om många vill titta samtidigt (nästan)? Vissa tider? Man kan ju fuska Video on demand?? eller Near video on demand?? Buffertar (med fusk!!) Pause: ändå svårare Man vill kila på dass => buffring? Senare ström? Snabbspolning: ojjjjj Komprimerad film och överbelastat nätverk/server => inte skicka data snabbare, svårt hitta rätt frame
Placering av data Frame index: mycket RAM, lite diskslöseri Stora sjok av data Problem: video består av flera delar Block index (utan fylla upp ): lite RAM, mycket diskslöseri Frame ndex Block index (med fylla upp ): lite RAM, inget diskslöseri, extra huvudrörelser Audio Text Block ndex -fr ame P-fr ame Unused Hur ska man placera filerna? Diskorganisation RAD inte bra Disk Farm s e f u o y c e n u q re F 10 8 6 4 2 Cylinder 1 3 5 7 9 11 Hur lägga ut filerna? Disk En film över alla diskar eller bara över några 1 2 3 4 1 2 3 4 (a) (b) 1 2 3 4 1 2 3 4 (c) (d)
Cache Buffra hos användaren Snika på en annan ström Buffra på servern Ändra hastigheten! Vissa filmer på disk, vissa på disk + DVD, vissa bara på DVD Buffer for odd frames Buff er f or even fr ames Block requested Stream 1 2 3 4 5 6 7 8 9 10 701 92 281 130 326 410 160 466 204 524 Optimization algor ithm 92 130 160 204 281 326 410 466 524 701 Order in which disk requests are processed Kolla på innehållet Batch together Cylinder Requests (sorted on deadline) 330 676 110 680 440 220 755 280 550 812 103 700 710 720 730 740 750 Deadline (msec)