Offloading Multimedia Proxies using Network Processors A presentation by Øyvind Hvamstad 19. Nov. 2004.

Slides:



Advertisements
Similar presentations
Assessment of Data Path Implementations for Download and Streaming Pål Halvorsen 1,2, Tom Anders Dalseng 1 and Carsten Griwodz 1,2 1 Department of Informatics,
Advertisements

Fundamentals of Multimedia Part III: Multimedia Communications and Networking Chapter 15 : Network Services and Protocols for Multimedia Communications.
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Multimedia Network Processor Examples Multimedia Network Processor Examples 30/ INF5061: Multimedia data communication using network processors.
Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul.
© 2006 Cisco Systems, Inc. All rights reserved. Module 4: Implement the DiffServ QoS Model Lesson 4.8: Understanding WAN Link Efficiency Mechanisms.
By Aaron Thomas. Quick Network Protocol Intro. Layers 1- 3 of the 7 layer OSI Open System Interconnection Reference Model  Layer 1 Physical Transmission.
Application layer (continued) Week 4 – Lecture 2.
1 Router Construction II Outline Network Processors Adding Extensions Scheduling Cycles.
Peer-to-Peer Based Multimedia Distribution Service Zhe Xiang, Qian Zhang, Wenwu Zhu, Zhensheng Zhang IEEE Transactions on Multimedia, Vol. 6, No. 2, April.
1 Design and Implementation of A Content-aware Switch using A Network Processor Li Zhao, Yan Luo, Laxmi Bhuyan University of California, Riverside Ravi.
IXP1200 Microengines Apparao Kodavanti Srinivasa Guntupalli.
Architecture for Network Hub in 2011 David Chinnery Ben Horowitz.
OSMOSIS Final Presentation. Introduction Osmosis System Scalable, distributed system. Many-to-many publisher-subscriber real time sensor data streams,
Chess Review May 10, 2004 Berkeley, CA A Comparison of Network Processor Programming Environments Niraj Shah William Plishker Kurt Keutzer.
Shyamal Pandya Implementation of Network Processor Packet Filtering and Parameterization for Higher Performance Network Processors 1 Implementation of.
Embedded Transport Acceleration Intel Xeon Processor as a Packet Processing Engine Abhishek Mitra Professor: Dr. Bhuyan.
Operating Systems Operating System Support for Multimedia.
ECE 526 – Network Processing Systems Design IXP XScale and Microengines Chapter 18 & 19: D. E. Comer.
Protocol Implementation An Engineering Approach to Computer Networking.
COM S 614 Advanced Systems Novel Communications U-Net and Active Messages.
Router Construction II Outline Network Processors Adding Extensions Scheduling Cycles.
September RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici
Multimedia Communications Student: Blidaru Catalina Elena.
Performance Tradeoffs for Static Allocation of Zero-Copy Buffers Pål Halvorsen, Espen Jorde, Karl-André Skevik, Vera Goebel, and Thomas Plagemann Institute.
1.  Project Goals.  Project System Overview.  System Architecture.  Data Flow.  System Inputs.  System Outputs.  Rates.  Real Time Performance.
Introduction to Interconnection Networks. Introduction to Interconnection network Digital systems(DS) are pervasive in modern society. Digital computers.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring.
High Performance Computing & Communication Research Laboratory 12/11/1997 [1] Hyok Kim Performance Analysis of TCP/IP Data.
1 Liquid Software Larry Peterson Princeton University John Hartman University of Arizona
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 29 – Buffer Management (Part 2) Klara Nahrstedt Spring 2012.
Dr. M. Munlin Real-Time and Multimedia Systems 1 NETE0516 Operating Systems Instructor: ผ. ศ. ดร. หมัดอามีน หมัน หลิน Faculty of Information Science and.
Information-Centric Networks07a-1 Week 7 / Paper 1 Internet Indirection Infrastructure –Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
Final Year Project Presentation by Daire O’Neill 4EE.
A Measurement Based Memory Performance Evaluation of High Throughput Servers Garba Isa Yau Department of Computer Engineering King Fahd University of Petroleum.
A Conference Gateway Supporting Interoperability Between SIP and H.323 Jiann-Min Ho (Presenter) Jia-Cheng Hu Information Networking Institute Peter Steenkiste.
Heavy and lightweight dynamic network services: challenges and experiments for designing intelligent solutions in evolvable next generation networks Laurent.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 21 – Case Studies for Multimedia Network Support (Layer 3) Klara Nahrstedt Spring 2009.
Web Cache Redirection using a Layer-4 switch: Architecture, issues, tradeoffs, and trends Shirish Sathaye Vice-President of Engineering.
Srihari Makineni & Ravi Iyer Communications Technology Lab
ﺑﺴﻢﺍﷲﺍﻠﺭﺣﻣﻥﺍﻠﺭﺣﻳﻡ. Group Members Nadia Malik01 Malik Fawad03.
CS 164: Slide Set 2: Chapter 1 -- Introduction (continued).
Streaming Media Control n The protocol components of the streaming n RTP/RTCP n RVSP n Real-Time Streaming Protocol (RTSP)
Lab Assignment 15/ INF5060: Multimedia data communication using network processors.
Chapter 28. Network Management Chapter 29. Multimedia
ECE 526 – Network Processing Systems Design Computer Architecture: traditional network processing systems implementation Chapter 4: D. E. Comer.
How to Minimize Transport Protocol Processing: Implementation and Evaluation of Network Level Framing Pål Halvorsen, Thomas Plagemann, and Vera Goebel.
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
ND The research group on Networks & Distributed systems.
UNIVERSITY OF JYVÄSKYLÄ 2005 Multicast Admission Control in DiffServ Networks Department of Mathematical Information Technology University of Jyväskylä.
July 12th 1999Kits Workshop 1 Active Networking at Washington University Dan Decasper.
Ch 6. Multimedia Networking Myungchul Kim
CSE5803 Advanced Internet Protocols and Applications (14) Introduction Developed in recent years, for low cost phone calls (long distance in particular).
Authors: Danhua Guo 、 Guangdeng Liao 、 Laxmi N. Bhuyan 、 Bin Liu 、 Jianxun Jason Ding Conf. : The 4th ACM/IEEE Symposium on Architectures for Networking.
Interconnect Networks Basics. Generic parallel/distributed system architecture On-chip interconnects (manycore processor) Off-chip interconnects (clusters.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 30 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring.
1 Farm Issues L1&HLT Implementation Review Niko Neufeld, CERN-EP Tuesday, April 29 th.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
3/10/2016 Subject Name: Computer Networks - II Subject Code: 10CS64 Prepared By: Madhuleena Das Department: Computer Science & Engineering Date :
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 24 – Client-Server Buffer Management Klara Nahrstedt Spring 2011.
Jia Uddin Embedded System Lab.  MPLS  IMANET  IMANET network model  Proposed model of IMANET with MPLS  Conclusion.
Multimedia Communication Systems Techniques, Standards, and Networks Chapter 4 Distributed Multimedia Systems.
Ethernet Packet Filtering - Part1 Øyvind Holmeide Jean-Frédéric Gauvin 05/06/2014 by.
Advanced Network Tap application for
RTP and RTSP Realtime Transport Protocol
iSCSI-based Virtual Storage System for Mobile Devices
Apparao Kodavanti Srinivasa Guntupalli
Presentation transcript:

Offloading Multimedia Proxies using Network Processors A presentation by Øyvind Hvamstad 19. Nov. 2004

19. nov 2004Offloading Multimedia Proxies using Network Processors 2 Domain overview  Distributed media on demand (MoD)  Standarized protocols (RTSP/RTP)  Utilizing proxies  -with Network processing units. Stream setup with RTSPStream transport with RTP OUR FOCUS IXP1200

19. nov 2004Offloading Multimedia Proxies using Network Processors 3 Multimedia stream characteristics  High data-rates Requires much bandwith and storage space. Depending on codec, quality and length.  Soft real-time requirements Percieved quality is sensitive to jitter.  Access Patterns Zipf distribution (10% requested 90% of the time) Newly published material tend to be popular. Consumed from start to end or quickly aborted. ”write-once-read-many” A one hour long MPEG-2 movie at an average bit-rate Of 3.5 Mbps takes up 1.6 GB worth of storage. DivX can reduce this by a factor of 6.5. Thus reducing the size to 246 MB

19. nov 2004Offloading Multimedia Proxies using Network Processors 4 The MoD Proxy  Deployed in client vicinity to: Reduce client startup latency Reduce server load Reduce network load  Must face the challenges of: Many concurrent clients Possible high aggregate network load CPU intensive tasks

19. nov 2004Offloading Multimedia Proxies using Network Processors 5  Caching  Protocol translation  Transcoding  Re-encoding  Encryption  General functions Access control QoS mechanisms Traffic engeneering MoD proxy tasks OUR FOCUS  Forwarding data and requests

19. nov 2004Offloading Multimedia Proxies using Network Processors 6 Traditional proxy data-path  Reception Interrupt and bus transfer Processing Memory copy  Transmission Memory copy Processing Bus transfer  Application layer forwarding Reception and transmission for every packet application processing. Communication system Application (RTSP/RTP) Transport (TCP/UDP) Network (IP) Link User space Kernel space

19. nov 2004Offloading Multimedia Proxies using Network Processors 7 IXP1200 Network processor and the ENP-2505 card  IXP1200 Features One embedded StrongARM RISC processor Six Microengines Interfaces for external memory and I/O devices On-chip scratchpad memory  ENP-2505 Devices 256 MB SDRAM 8 MB SRAM 8 MB FLASH ROM 4 Ethernet (10/100 Mbit/s)

19. nov 2004Offloading Multimedia Proxies using Network Processors 8 Exactly what?  Offload application layer packet forwarding. Free cycles on the host CPU for other tasks.  Show improvements compared to a traditional architecture. Reduced latency  Provide a basis for future work in the area. Extensions  Caching  Zero copy

19. nov 2004Offloading Multimedia Proxies using Network Processors 9 Design RTSP client RTSP server RTP server RTP client Cache control Session Mgmt. Cacher control-plane data-plane write_through(async)fetch() fast_forward() insert() remove() lookup() insert() remove() lookup() signal() lookup() From server To/from server To client To/from client lookup()

19. nov 2004Offloading Multimedia Proxies using Network Processors 10 Prototype implementation RTSP Proxy Linux run-time IXA run-time StrongARM Microengines Ingress coreACE Ingress microACE Classifer/ RTP-fwd microACE Egress microACE Classifer/ RTP-fwd coreACE Egress coreACE StackACE µe 0µe 1 control-plane data-plane Intel ACEs

19. nov 2004Offloading Multimedia Proxies using Network Processors 11 Experiments  Measure the processing overhead during RTP-forwarding.  Cycle precision Probes at different locations in the code. Minimal probe overhead. Switch Dell GX260 Darwin streaming server rclient.py Proxy eth0 IXP1200 Ingress microACE Process microACE Egress microACE Probe

19. nov 2004Offloading Multimedia Proxies using Network Processors 12 Results  Offloading effect 100% of all network traffic processed by the StrongARM and the microengines.  Prototype performance Processes every RTP packet using about a tenth of the cycles compared to a traditional architecture. (Delay reduced from ~80 µs to ~8 232 Mhz)

19. nov 2004Offloading Multimedia Proxies using Network Processors 13 Extensions  Write-through caching Make a multicaster by copying packets Use a lazy-copy strategy to reduce copy operations pr. packet. Send payload copy to the host.  Zero-copy-path Batched transfer to the host. Scatter-gather DMA to assemble packet payloads in host memory. Large disk-requests.

19. nov 2004Offloading Multimedia Proxies using Network Processors 14 Conclusion  Prototype relevance Data will always flow through the proxy The forwarder processes an RTP packet efficiently compared to a traditional architecture. Is thus an orthogonal way to improve MoD proxies.  Low resource utilization leaves room for extensions.

19. nov 2004Offloading Multimedia Proxies using Network Processors 15 Other applications  The idea might be more applicable in other, more real-time areas.  Online games Proxy holds game state Might also need to forward real-time data while playing.  Live voice communication  Other urgent game data  Video conferences Node that handles overlay multicasting. Real-time data forwarded with low latency.

19. nov 2004Offloading Multimedia Proxies using Network Processors 16 Linear modulo operator #macro Mod[out_z, in_x, in_y].local xm alu[xm, --, B, in_x] Loop#: alu[out_z, xm, -, in_y] br =0[Loop#] End#: alu[out_z, --, B, xm].endlocal #endm int mod(int x, int y) { int z; top: z = y – x; if (z 0) goto top return z; } Intel Assembler macroANSI C function

19. nov 2004Offloading Multimedia Proxies using Network Processors 17 Basic hash function #macro Hash[out_z, in_x, in_seed].local x start immed[start,START] alu[x, in_x, -, start] ; alu_shf[x, --, B, x, >>1] Mod[out_z, x, in_seed].endlocal #endm int hash(int x, int y) { x = x – START; x = x / 2; return x % seed; } Intel Assembler macroANSI C function

19. nov 2004Offloading Multimedia Proxies using Network Processors 18 Incremental checksumming #macro IncrementCksum[out_newsum, oldsum, old, new].local sum tmp mask immed[mask, 0xffff] alu[sum, --, ~B, oldsum] alu[sum, sum, -, old] alu[sum, sum, +, new] alu[tmp, sum, AND, mask] alu_shf[sum, tmp, +, sum, >>16] alu[tmp, sum, AND, mask] alu_shf[sum, tmp, +, sum, >>16] alu[sum, --, ~B, sum] alu[out_newsum, sum, AND, mask].endlocal #endm sum = ~oldsum; sum = sum - old; sum = sum + new; tmp = sum & 0xffff sum = tmp + (sum >> 16); tmp = sum & 0xffff; sum = ~sum; sum = tmp + (sum >> 16);

19. nov 2004Offloading Multimedia Proxies using Network Processors 19 Just can’t get enough, huh?  /hom/~oyvindh/thesis.pdf  CVS repository :pserver:hic.no/cvs  Module: thesis  User: anonymous  Pwd: Should be up in a few days  Have just moved to a new location