Derfler, M. (2014). Embedded multicore CPUs for safety critical VoIP Linux applications [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/78541
Im Zuge der Einführung von Multi-Core-Prozessoren im Embeddedbereich ist es naheliegend, den Umstieg von spezialisierten Hardware-Lösungen mit Signalprozessoren auf eine Architektur mit Standardprozessor zu erwägen. Die Performance-Evaluierung eines solchen Systems hinsichtlich der Echtzeitanforderungen einer VoIP-Anwendung ist Gegenstand dieser Diplomarbeit. Bietet die Multi-Core-Lösung ausreichend Rechenleistung um einen oder mehrere Signalprozessoren zu ersetzen, kann der Aufwand für Hardware- und Softwareentwicklung drastisch gesenkt werden. Im Bereich sicherheitskritischer VoIP Anwendungen ist zusätzlich zu beachten, dass ein bestimmtes Maß an Qualität des Dienstes bezüglich Latenz und Sprachaussetzern gewährleistet werden muss, wobei sicherheitskritisch mit -safety critical- zu übersetzen ist. Unter Variation der Kernanzahl, der Prozess-Kern-Aufteilung für Betriebssystem-, SIP- und RTP-Prozesse und der Eingangsdatenmenge soll eine möglichst effektive Nutzung des Systems erlangt und dessen Grenzen getestet werden. Hierbei sollen auch Parameter, welche die Dienstgüte beeinflussen, miteinbezogen werden. Mittels einer beispielhaften Implementierung eines SIP-Clients in C/C++ wurde auf Basis eines Embedded Systems mit Linux als Betriebssystem die Nutzung mehrerer Kerne für verschiedene rechenintensive Aufgaben im Bereich sicherheitskritischer VoIP Anwendungen evaluiert. Die au- tomatische Testdurchführung und Auswertung geschah dabei mit Programmen, die ebenfalls im Zuge dieser Arbeit entwickelt wurden. Anhand der durchgeführten Tests wurden Parameter ermittelt, welche die größte Auswirkung auf die maximal übertragbare Anzahl von Verbindungen haben. Die Implikationen dieser Parameter auf die Dienstgüte wurden ebenfalls untersucht. Außerdem wurde festgestellt, dass die Implementierung des VoIP-Clients eine sehr große Rolle spielt. Durch eine Modifikation des benutzten Frameworks -PJSIP- konnte in manchen Konfigurationen eine Steigerung der fehlerfrei übertragbaren Audio-Streams um bis zu 100% erreicht werden. Werden wenig rechenintensive Codecs benutzt, kann eine Threadanzahl höher als die Anzahl vorhandener CPU-Kerne den Durchsatz des VoIP-Clients positiv beeinflussen.
In the course of the introduction of multi-core processors in the embedded area it is obvious to consider the switch from specialized hardware solutions using signal processors to a standard processor based architecture. The performance evaluation of such a system regarding real-time requirements of a VoIP application is the actual subject of this thesis. If the multi-core solution provides sufficient processing power to replace one or more signal processors the cost of hardware and software development can be reduced drastically. In the area of safety critical VoIP applications additionally a certain amount of Quality of Service regarding latency and voice data drops has to be guaranteed. By varying the CPU-core count, the process-core distribution for the operating system-, SIP- and RTP-processes and the input data volume effective usage of the system shall be reached and the limits of the system shall be determined. In this context also parameters affecting the quality of service shall be included. By means of an exemplary SIP-client implementation in C/C++, on the basis of an embedded system, powered by a Linux operating system, the performance of multiple processor cores for various processing-intensive tasks in the area of safety critical VoIP applications were evaluated. The automatic test execution and analysis was done by programs also developed in the course of this thesis. In the course of the executed tests parameters were identified, that have major impact on the maximum transmittable number of audio streams. The implications of these parameters on the quality of service were investigated too. Furthermore the implementation of the VoIP client was found to play a big role. By modifying the used framework "PJSIP" an increase in faultless transmittable audio streams of up to 100% could be achieved for certain configurations. Using less CPU-intensive codecs a thread count higher than the actual CPU core count could affect the throughput in a positive way.
en
Additional information:
Abweichender Titel laut Übersetzung der Verfasserin/des Verfassers Zsfassung in dt. Sprache