[ TAG 97 ][27.07.2021] -Erfolgreich -IAP-20210601-20210722-1145
Ich beginne die Worksession um [27.07.2021][0945]. Das ist ein weiter BLOG-Beitrag. Jedoch geht es bei diesen BLOG-Beitrag um ein Arbeitsbericht.
- Quellen:
- Multiprocessing in Python | Set 1 (Introduction)
- Multiprocessing in Python | Set 2 (Communication between processes)
- Konzept von Shared Memory
- [ https://www.geeksforgeeks.org/multiprocessing-python-set-2/ ]
- Synchronization and Pooling of processes in Python
- Multiprocessing and Synchronization using Pipes – Python
Ich habe mich entschieden, mich mit den Konzept des [ Shared Memory ] zu befassen. Aus folgenden Gründen finde ich es für meine Konzeption passend.
- Geschwindigkeit
- Ich habe zu diesen Zeitpunkt noch keine Messungen gemacht. Jedoch habe ich gelesen, dass es die schnellste Methode sei.
- Das macht aus meiner Perspektive einen Sinn, weil es sich um C-Variablen oder C-Array handelt. Hinter diesen Objekte(im allgemeinen Sinn) stecken keine Sicherheits- oder Veraltungsroutinen.
- Anwendung - Statusmitteilung:
- Mit Hilfe von C-Arrays kann ich einen Status-Integer-Code mit einen Timestamp-Integer speichern und somit den Bearbeitungsstatus anderen Prozessen mitteilen.
- Zugriff von anderen Prozessen
- Ich übergebe bei der Initialisierung von Prozessen, Statusvariablen von anderen Prozessen.
- Diese Kommunikation ist notwendig, wenn man Audiologs, Videologs mit Labels und diversen Bearbeitungsmechanismen umsetzen muss.
Heute möchte ich mich mit der Zeitmessung von Schreib und Lesevorgängen beschäftigen. Ich habe die Zeitmessungen aus der Arbeit bzw. Datei [ 2021-07-26 ][ 04:31:49 ] durchgerechnet. Bei dieser Arbeit ging es um das Ausführen eines einzigen Prozesses.
Die signifikanten Zeitmessungen waren zum Beispiel
- [c31 - c3] = 14.270 000 ns = 14,27 ms
- PROCESS.start() - Das Starten eines Prozesses lag ungefähr bei 14 ms.
- [c6 - c31] = 63.126.000 ns = 63,126 ms
- Die Ausführung der ersten Zeilen im Prozess benötigte 63 ms.
- 63 ms Verzögerung entspricht ca. einen Verlust von 2.805 Audioframes bei 44500 Hz.
- 63 ms Verzögerung bedeutet auch 22.440 Bytes oder 22 KB unkontrollierten Datenverlust bei 44500 Hz, 2 Kanäle, 32 Bit-Tiefe.
Aus diesen Grund ist die Synchronisierung von unterschiedlichen Stream ein sehr wichtiges Thema.
Kommentare
Kommentar veröffentlichen