CD
Rear Admiral
- Registriert
- Mai 2010
- Beiträge
- 5.733
Also ich hab das spaßeshalber mal probiert in Matlab umzusetzen. Im Prinzip war es genau das was ich grob angerissen hatte: Datei einlesen, zwei Zieldateien öffnen, zwei Worker erstellen, parallel in beide Zieldateien schreiben. Funktioniert auch, Problem ist nur: das Schreiben über die Parfor-Loop ist Faktor 2-5 langsamer als das Schreiben über eine ganz normale Loop. Als Quelldatei diente eine 120 MB große mp4, Ziellaufwerke waren zwei unterschiedliche SSDs:
Schreiben auf SSD1 und anschließendes Schreiben auf SSD2 nahm ca. 0.1 s in Anspruch (Matlab-interne Zeitmessung, nicht soooo genau. Misst wahrscheinlich nur bis es die zu schreibenden Daten ans OS übergeben hat).
Schreiben auf SSD1 und gleichzeitig auf SSD2 dauerte dagegen ca. 0.8 s und war damit deutlich langsamer. Ich mein dadurch dass ich die Daten zuerst in den RAM geladen habe wird vom Quelllaufwerk in beiden Fällen nur 1x gelesen, das ist schon mal ein Pluspunkt. Um den Vorgang so richtig gescheit zu parallelisieren (vor allem was die CPU und den Speicherzugriff angeht) müsste ich mich allerdings wesentlich besser ins parallel computing einlesen.
Schreiben auf SSD1 und anschließendes Schreiben auf SSD2 nahm ca. 0.1 s in Anspruch (Matlab-interne Zeitmessung, nicht soooo genau. Misst wahrscheinlich nur bis es die zu schreibenden Daten ans OS übergeben hat).
Schreiben auf SSD1 und gleichzeitig auf SSD2 dauerte dagegen ca. 0.8 s und war damit deutlich langsamer. Ich mein dadurch dass ich die Daten zuerst in den RAM geladen habe wird vom Quelllaufwerk in beiden Fällen nur 1x gelesen, das ist schon mal ein Pluspunkt. Um den Vorgang so richtig gescheit zu parallelisieren (vor allem was die CPU und den Speicherzugriff angeht) müsste ich mich allerdings wesentlich besser ins parallel computing einlesen.