1 Matt Randmaa, VP of Engineering D2 Technologies www.d2tech.com Getting Real-time Performance and Voice Quality on Single Core RISC Devices.

Slides:



Advertisements
Similar presentations
CAUSES & CURE OF LATENCY IN THE INTERNET TELEPHONY DR. OLUMIDE SUNDAY ADEWALE Dept of Industrial Math & Computer Science Federal University of Technology.
Advertisements

Unified Communications
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
Sonus SBC1000, SBC 2000 Competitive Positioning
SG2001_VIP.ppt Page 1 PLANET Technology Corp. Product Guide 2001 VoIP Products Your Voice over Internet By Product Department.
Yi Liang Department of Electrical Engineering Stanford University April 19, 2000 Loss Recovery and Adaptive Playout Control for Packet Voice Communications.
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
Application layer (continued) Week 4 – Lecture 2.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
VoIP Voice Transmission Over Data Network. What is VoIP?  A method for Taking analog audio signals Turning audio signals into digital data Digital data.
CSE Fall Introduction - 1 What is an Embedded Systems  Its not a desktop system  Fixed or semi-fixed functionality (not user programmable)
Chapter 13 Embedded Systems
Figure 1.1 Interaction between applications and the operating system.
VoIP By Godson Gera. Introduction Basic electronic communication system History of electronic communication Introduction to VoIP Benefits of VoIP Detailed.
Voice over IP (VoIP) Hani Al Ruwaili Abdulkrem Al Zhrani Prepared for Dr. Samir Ghadhban.
Comparative Operating Systems Fall 2001 An Examination of Embedded Linux as a Real Time Operating System Mark Mahoney.
G Robert Grimm New York University Receiver Livelock.
Leveraging Existing Application Processors in Mobile Devices to Implement VoIP Client.
Achieving optimal scalability and voice quality in open source telephony Konrad Hammel Software Engineer Sangoma Technologies.
VOIP ENGR 475 – Telecommunications Harding University November 16, 2006 Jonathan White.
Worcester Polytechnic Institute Voice Over Internet Protocol in Massively Multiplayer Online Gaming Vasilios Mitrokostas.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 AE4B33OSS Chapter 19: Real-Time Systems System Characteristics Features of Real-Time.
1 © 2005 Cisco Systems, Inc. All rights reserved. Cisco Public IP Telephony Introduction to VoIP Cisco Networking Academy Program.
Director, Product Management Internet Telephony Expo
Developing IP Phones Karen Hong Director, Product Marketing 8x8 Inc.
Mobile Handset Hardware Architecture
Packet and Circuit Switching
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
VoIP Voice over Internet Protocol
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
3G Single Core Modem A New Telecommunications Device Group 4: Warren Irwin, Austin Beam, Amanda Medlin, Rob Westerman, Brittany Deardian.
Data and Computer Communications Circuit Switching and Packet Switching.
Network Instruments VoIP Analysis. VoIP Basics  What is VoIP?  Packetized voice traffic sent over an IP network  Competes with other traffic on the.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
Voice over IP by Rahul varikuti course instructor: Vicky Hsu.
ﺑﺴﻢﺍﷲﺍﻠﺭﺣﻣﻥﺍﻠﺭﺣﻳﻡ. Group Members Nadia Malik01 Malik Fawad03.
 Introduction – Consumer Market  Benefits – Operational Cost & Flexibility  Challenges – Quality of Service & Securing VOIP  Legal Issuers  Risk.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Multimedia streaming Application Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Querying.
E Multimedia Communications Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia.
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
LOG Objectives  Describe some of the VoIP implementation challenges such as Delay/Latency, Jitter, Echo, and Packet Loss  Describe the voice encoding.
1 Presented By: Eyal Enav and Tal Rath Eyal Enav and Tal Rath Supervisor: Mike Sumszyk Mike Sumszyk.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
Creating Resource-Efficient V2oIP Applications for Low-MHz Mobile Processors Fred Wydler VP VoIP Products SPIRIT DSP.
Voice Over IP (VoIP): Internet Telephony Dr. Najla Al-nabhan 1.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
CSE5803 Advanced Internet Protocols and Applications (14) Introduction Developed in recent years, for low cost phone calls (long distance in particular).
19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 19: Real-Time Systems.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 19: Real-Time Systems System Characteristics.
VoIP CPE without DSPs Rick Bye Director of Marketing D2 Technologies, Inc.
Voice over Internet Protocol Presenter: Devesh Patidar Arunjay Singh August 2, 2009.
Communication Methods
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
The World Leader in High Performance Signal Processing Solutions IP-PBX introduction Jerry Zeng Blackfin uClinux Team.
Real-Time Operating Systems RTOS For Embedded systems.
Voice Over Internet Protocol Nelson Kattula Computer Science, Masters.
VoIP ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
Instructor Materials Chapter 6: Quality of Service
REAL-TIME OPERATING SYSTEMS
Chapter 19: Real-Time Systems
VOICE AND VIDEO OVER IP VOIP, RTP, RSVP.
Introduction to Networking
CSE679: Multimedia and Networking
ENGR 475 – Telecommunications
Chapter 19: Real-Time Systems
Presentation transcript:

1 Matt Randmaa, VP of Engineering D2 Technologies Getting Real-time Performance and Voice Quality on Single Core RISC Devices

2 Presentation Outline VoIP Endpoint Device Software Overview o VoIP Endpoint Example, Functionality, Software Blocks o Traditional Software Architecture (RISC + DSP) o New Software Architecture – VoIP on RISC Real-time requirements in VoIP o Hard Real-Time, Soft Real-Time, Best Effort RISC SoC Design Considerations Toolchain/BSP Considerations Software Design Considerations Conclusion

3 VoIP Endpoint Example: Analog Telephony Adaptor (ATA) Ethernet to FXS adaptor o Optional second Ethernet port for bridging/routing; FXO for PSTN Enables a POTS phone to make VoIP calls o May support FAX SIP User Agent application o Uses SIP protocol to establish calls Implements many CLASS features o Call Waiting, Caller ID, 3-way Calling, Call Transfer, Call Forwarding, etc

4 Other Endpoint examples SOHO Router with VoIP WIFI AP with VoIP WIFI ATA WIFI handset Dual mode phones VoIP enabled PDAs, Game Units, MP3 players, iPods Etc etc.

5 Legacy HW/SW Architecture: RISC + DSP RISC Processor Responsible for: Voice Application, Protocol IP Stack, Data/Voice Packets DSP Driver DSP Processor Responsible for: Hard real-time telephony interface DSP algorithms (MHz intensive) Separate DSP application o Required to be semi-autonomous

6 New SW/HW Architecture: Single CPU

7 Single CPU Advantages / Challenges Advantages: o Eliminates DSP o Leverages existing SoC chips o No Interprocessor communication o Single Tools / Development Environment Challenges: o Hard real-time requirements o MHz burden on RISC o Data/Voice/Application software must co-exist o Telephony interface peripheral

8 Real-time Requirements in VoIP VoIP Endpoint Device Software Overview o VoIP Endpoint Examples, Functionality, Software Blocks o Traditional Software Architecture (RISC + DSP) o New Software Architecture – VoIP on RISC  Real-time requirements in VoIP o Hard Real-Time, Soft Real-Time, Best Effort RISC SoC Design Considerations Toolchain/BSP Considerations Software Design Considerations Conclusion

9 Information Flow in VoIP

10 Hard Real-Time in VoIP Hard Real-Time: Deadline-based processes in which a failure to meet the deadline will result in loss of voice data and unacceptable system behavior. Hard real-time requirements in VoIP: o Telephony Driver o DSP Algorithms

11 Hard Real-Time Requirement: Telephony Driver Telephony Driver: Transmits voice samples to/from the hardware CODEC Nature of communication: Synchronous serial interface, 64_kbps per channel o 8000 samples/s, 8 bits/sample o One sample transmitted/received every 125 us

12 Hard Real-Time Requirement: Telephony Driver (continued) Failure in copying in/out each sample before the 125_us deadline results in dropping a voice sample. o Resulting impacts on voice quality Can be a noticeable click. Echo canceller can fail, resulting in perceptible echo to far end. FAX pass-through or FAX Relay can fail. Causes drift in jitter buffers, which will may cause dropped packets o If subsequent deadlines are missed (domino effect), call failure and system instability can result.

13 Hard Real-Time Requirement: DSP Algorithms DSP Algorithms in ATA: Process the voice stream from Telephony Driver and from IP stack to do: o Voice Compression o Echo Cancellation o Tone Generation / Detection DTMF, FAX/Modem, Call Progress, Caller ID o Packet Loss Compensation Nature of communication: Block based processing o Typically 80 voice samples per block o One block processed every 10 ms

14 Hard Real-Time Requirement: DSP Algorithms (continued) Failure in completing DSP algorithm processing by the end of the 10 ms deadline results in: o Telephony driver will play out old data to hardware CODEC. o Far side also gets bad data due to loss of codec data. o Echo canceller can diverge, causing echo to be heard on subsequent blocks. o Tone detection can fail, resulting in mis-detection of DTMF digits or FAX tones. o Again, if subsequent deadlines are missed (domino effect), call failure and system instability can result.

15 Soft Real-Time in VoIP Soft Real-Time: Processes which should execute in a timely manner, for which system behavior degrades (but may not be unacceptable) if the deadline is missed. Soft real-time requirements in VoIP: o Voice Packetization and Transport o Voice Application and Protocol

16 Soft Real-Time Requirement: Voice Packetization and Transport Voice packetization and transport: Packetize the compressed audio and send it out the IP interface; alternatively, receive a packet from the IP interface and provide it to the VoIP software. Nature of communication: o Transmission: Normally, one packet ready every 10, 20, or 30 ms. o Reception: Subject to network jitter, one every 10, 20, or 30 ms. Deadline for processing: o Processing should complete within the packet duration (10, 20, 30 ms), in order to keep from getting behind.

17 Soft Real-Time Requirement: Voice Packetization and Transport (continued) Repercussions of failure to meeting deadline: o May be handled by the Jitter Buffer on the receiving side. o Best-case Missing deadline causes jitter buffer to grow, but does not cause lost packets; Results in increased latency because of a larger jitter buffer. o Worst-case Missing deadline causes jitter buffer to discard a too-late packet; Packet loss compensation used to minimize impact on voice quality.

18 Soft Real-Time Requirement: Voice Application and Protocol Nature of communication: o Responds to reception of SIP packets, telephony events, and internal timers in order to drive Telephony Application functionality. Deadline for processing: o Processing should be responsive enough for successful user experience. o Certain time-outs exist in SIP; however, retransmission techniques in the protocol allow recovery of some missed deadlines.

19 Soft Real-Time Requirement: Voice Application and Protocol (continued) Repercussions of failure to meeting deadline: o Noticeable lack of responsiveness of device. o Call failures are possible for excessive delays. However, voice application and protocol deadlines are typically on the order of hundreds of milliseconds to several seconds. o As long as the Voice Application and Protocol are not blocked indefinitely, they should meet timing requirements.

20 Best Effort in VoIP Best Effort: Processes for which there is no deadline, but for which faster execution results in better system performance. Best Effort requirements in VoIP: o Data IP Packet Transport

21 Best Effort Requirement: Data Packet IP transport Data Packet IP transport: Process the reception, transmission, forwarding, and bridging of TCP packets. Nature of communication: o Packets can be received at wireline speeds (e.g. 100 Mbps). o Device processes as many packets as it can, discarding others. Deadline for processing: o No deadline for processing, other than TCP ACK timeout. Repercussions of failure to meeting deadline: o TCP packets retransmitted. o Lower data bandwidth. These repercussions are intentional and acceptable.

22 Implications of Real-time Requirements A VoIP device has multiple processes with different MHz consumption and real-time needs. This places stringent requirements on the OS, BSP, Memory, Cache, other software running on the RISC core, and the SoC design itself. o Each of these areas needs careful consideration. This requires a system-wide approach rather than ad-hoc optimization of each piece.

23 RISC SoC Design Considerations VoIP Endpoint Device Software Overview o VoIP Endpoint Examples, Functionality, Software Blocks o Traditional Software Architecture (RISC + DSP) o New Software Architecture – VoIP on RISC Real-time requirements in VoIP o Hard real-time, soft real-time, best effort  RISC SoC Design Considerations Toolchain/BSP Considerations Software Design Considerations Conclusion

24 RISC SoC Design Considerations If VoIP requirements are taken into consideration at SoC design time, changes to the SoC design can result in improved VoIP system performance. Areas of importance for VoIP: o Cache size and type o Memory bandwidth o On-chip scratch memory o Telephony Interface Hardware

25 Cache size and type, and its effect on G.729AB MHz performance

26 Memory bandwidth and its effect on G.729AB MHz performance

27 On-chip scratch memory and its effect on VoIP performance Use of on-chip SRAM can speed system performance by preventing cache miss penalties. With a large enough on-chip SRAM, significant savings can result (>30%). However, the software has to be modified to take advantage of on-chip SRAM.

28 Telephony Interface Hardware: SoC’s Without a TDM port Currently most RISC based SoCs have no synchronous serial interface appropriate for CODECs. o VoIP designs require a CPLD, increasing Bill of Materials (BOM). o Minimization of CPLD size will consume more MHz. Costs to support 2-channel telephony interface: o > $.50 CPLD cost o ~10 MHz consumed by telephony interface software o More complicated Board and Software design

29 SoC’s With a TDM port The next generation of VoIP-capable RISC chips add: o Telephony interface o DMA capabilities Benefits of using TDM/DMA for 2-channel telephony interface: o < $.10 to add TDM port to SoC o ~1 MHz consumed by telephony interface software o Real-time deadline loosened from 125 us to as high as 10 ms. o Simpler Board and Software design

30 Toolchain / BSP Considerations VoIP Endpoint Device Software Overview o VoIP Endpoint Examples, Functionality, Software Blocks o Traditional Software Architecture (RISC + DSP) o New Software Architecture – VoIP on RISC Real-time requirements in VoIP o Hard real-time, soft real-time, best effort RISC SoC Design Considerations  Toolchain/BSP Considerations Software Design Considerations Conclusion

31 Toolchain / BSP Considerations: RTOS OS requirements: o Guaranteed worst-case task switch latency that meets the VoIP latency deadlines. o A preemptive kernel. o A scheduler that prioritizes real-time tasks above non real-time tasks. Examples: o Wind River VxWorks o MontaVista Linux (contains real-time improvements in the 2.6 Linux kernel) o Others (Nucleus, SuperTask, eCOS)

32 Toolchain / BSP Considerations: RTOS (continued) Final OS choice involves cost tradeoffs: o License/royalty cost o Flash / Memory footprint. o Strong Tools Development Environment. o Bundled network/application software can lower development costs.

33 Toolchain / BSP Considerations: Optimizing Compiler

34 Toolchain / BSP Considerations: Peripheral Drivers Peripheral drivers (Ethernet, Serial, USB, etc) may have a hard real-time impact on Voice software: o Peripheral ISR’s can hold off tasks past deadlines. To avoid this, peripheral drivers may have to be modified to: o Separate the time critical portions of the driver from portions that can be run at lower priority. o Minimize the task latency imposed on real-time VoIP processes due to ISR’s.

35 Software Design Considerations VoIP Endpoint Device Software Overview o VoIP Endpoint Examples, Functionality, Software Blocks o Traditional Software Architecture (RISC + DSP) o New Software Architecture – VoIP on RISC Real-time requirements in VoIP o Hard real-time, soft real-time, best effort RISC SoC Design Considerations Toolchain/BSP Considerations  Software Design Considerations Conclusion

36 Software Design Considerations VoIP Software Partitioning o VoIP software should be partitioned into different tasks based on priority, not function. o This minimizes the MHz consumed in hard real- time tasks This decreases negative effects due to the latency it imposes on other tasks.

37 Software Design Considerations, continued Task Priority Organization o Care has to be taken to make the optimal priority assignments for each task. Sub-optimal assignment of task priorities can easily result in 40% higher MHz load due to the creation of unnecessary task switching.

38 Conclusion Single-core RISC SoC’s are the new approach for low-cost VoIP endpoints. Combining Voice, Data, and Application Software has challenges. A strong systems-level approach is required to conquer the challenges.

39 Questions… Thank You.