Gleichzeitigen Festplattenzugriff beschleunigen?

Shaker1978

Cadet 4th Year
Registriert
Aug. 2007
Beiträge
85
Ahoi!

Gleich vorweg: Es geht hier nicht um eine Problembehebung, ich suche nach einem wirksamen tweak!
Meine beiden S-ATA Festplatten sind an sich schnell genug und das System ist insgesamt auch vernünftig konfiguriert. Eine große (z.B. Video-) Datei wird von Platte A nach Platte B mit bis zu 50 MB/sec eff. kopiert. So weit alles super.

Sobald aber 2 Programme oder Programminstanzen gleichzeitig von ein und derselben Platte lesen/schreiben wollen, geht die performance sehr in die Knie. Wenn beide gleichzeitig lesen dauert das mehr als 4x so lang, wie wenn sie das nacheinander getan hätten.
Das ist nichts Neues und die Erklärung ist einfach.

Aber: Gibt es eine Möglichkeit, Windows XP (und höher) oder sogar die Hardware darunter dazu zu bringen, jeder Anwendung ein größeres Zeitfenster zuzusichern, in dem sie exklusiv(!) von der Platte lesen darf?

Beispiel schlecht:
Anwendung A und B lesen 200MB von Platte X
A liest 64k
B liest 64k
A liest 64k
[...]
Beide Leseoperationen dauern sehr lange.

Beispiel gut:
Anwendung A und B lesen 200MB von Platte X
A liest 10MB
B liest 10MB
A liest 10MB
[...]
Der "gleichzeitige" Zugriff würde schneller beendet sein, weil (eine starke Fragmentierung ausgeschlossen) die Köpfe sich nur ca. 40x hin und her bewegen müssen, statt wie im schlechten Beispiel ca. 6400x)

Gibt es da einen Trick / Treiber / patch / tweak?
 
Das um und auf ist die Größe der in einem Schwung übertragenen Daten. Win ist da beim kopieren etwas ungeschickt
Versuch mal Fastcopy, wenn es Dir ums Kopieren geht. Bei anderen Anwendungen muss eine einstellbare I/O Buffersize vorgesehen sein; die dann größer definiert werden kann.
 
Zuletzt bearbeitet:
Ernst@at schrieb:
Das um und auf ist die Größe der in einem Schwung übertragenen Daten.
Was meinst du mit "um" und "auf" ?

Es geht mir nicht so sehr darum, das Kopieren zu beschleunigen, das ist schnell genug. Im Gegenteil, ich möchte dass parallele Vorgänge zum Kopieren nicht durch das pausenlose seeken total verlangsamt werden. Es wäre doch klüger zu sagen: "Ich gebe dem Firefox jetzt mal exklusive 5 sec HDD Zugriff, und mache dann mit dem Kopieren weiter", mal ganz banal gesprochen.

Oder auch wenn 2 VirtualDub Instanzen gleichzeitig ein MPEG laden. Das geht gar nicht... Nacheinander ja, 2 Minuten. Gleichzeitig dauert das 10 Minuten oder länger. Die müssten auch so konfiguriert werden, dass sie sich nicht im 50ms Takt abwechseln, sondern auch im 5 Sekundentakt z.B.

Du meinst also, es sei eher auf Anwendungsebene einzustellen, Stichwort I/O Buffer? Kann sich denn so eine Anwendung dann gegen den Windows Kopiervorgang durchsetzen? (Beispiel VirtualDub soll MPEG laden, während etwas kopiert wird)
 
Einen derart ausgefeilten Resourcenzuteil-Mechanismus kann Windows nicht bieten, da sind sie noch tief in der IT-Steinzeit.
Kopiervorgänge mit dem obigen Tool können sowohl über die Buffersize(=weniger Seeks) als auch der Intensität des Vorganges(Pausier-Intervall um andere Anwendungen zum Zug kommen zu lassen) gesteuert werden.
Dann gibt es noch die Möglichkeit, auf Ebene des Applikationsnamens mit einem Tool ein fortwährendes suspend/resume zu treiben; ob die dann aber gegeneinander synchroniert sind, weiss ich jetzt nicht.
 
SSD anschaffen. Die haben die "Performancebremse" S/L-Kopf nicht *duck* Da kannst Du 20 Anwendungen auf einmal starten und nix wird einbrechen.
 
Man kann einen separaten Controller mit ordentlich Cache nutzen. Die haben ganz gute Algorithmen für parallele Zugriffe. Wunder kann das Ding zwar auchnicht völlbringen, aber es wird merklich flotter.

Allerdings ist das Preis/Leistungstechnisch mit Kanonen auf Spatzen geschossen.
 
Gut, dass du das Preis/Leistungsverhältnis ansprichst. Aus demselben Grund kommen für mich auch SSD momentan nicht in Frage. Bei den Video-Datenmengen, die bei mir so anfallen, ist mir das zu teuer. Wie hoch ist die Lebenserwartung einer SSD eigentlich? Sie hat ja nur eine begrenzte Anzahl Gesamt-Schreibzugriffe anzubieten...
Im Übrigen beeinflussen sich Schreib-/Lesezugriffe auch auf einer SSD! Geringer als bei mechanischen Festplatten, aber sie ist nicht von der Hand zu weisen!
https://www.computerbase.de/artikel/storage/ssds-2009-test.1040/seite-7
Aber um eine "Anschaffung" geht es mir hier prinzipiell nicht.

@Ernst:
Klingt schon mal gut, damit könnte man also "Kopieren + andere Anwendung" in den Griff bekommen. Aber die 2 Programminstanzen (VirtualDub oder andere), die gleichzeitig nur lesen wollen, scheinbar nicht.
Was meintest du damit:
auf Ebene des Applikationsnamens mit einem Tool ein fortwährendes suspend/resume zu treiben
irgendein bestimmtes tool? Ein selbstzuschreibendes? suspend/resume von was? Plattenzugriffen? Den ganzen Prozess?
 
Zuletzt bearbeitet:
den ganzen Prozess - das war eher zur Zähmung CPU-hungriger Dinger gedacht; wie das Tool heißt, kann ich im Moment nicht sagen - muss daheim in der Toolkiste kramen. Soweit ich mich erinnern kann, ist da auch die Source dabei - für Verbesserungswütige :)
 
Shaker1978 schrieb:
Wie hoch ist die Lebenserwartung einer SSD eigentlich?


Nicht anders als die einer Festplatte. Sie wird eher aus Performance-Gründen irgendwann abgelöst werden als aufgeben.
 
Ernst@at schrieb:
den ganzen Prozess - das war eher zur Zähmung CPU-hungriger Dinger gedacht;
Achso. Ja, im Bereich CPU lässt sich ja gut über die Affinität und Priorität was erreichen, aber bei Disk I/O ...

@HisN: Weshalb wird dann dennoch empfohlen, z.B. die automatische Defragmentierung von Windows abzuschalten? Ist das eine "alte" Empfehlung und spielt heute keine Rolle mehr, da die verfügbaren Schreibzugriffe ausreichend hoch geworden sind?
 
Inzwischen schaltet ein aktuelles Windows Defrag automatisch ab für SSDs. Es macht nix anderes als die SSD zu verschleißen. Performace-Technisch ist es absolut unrelevant.
 
Zurück
Oben