-1

Ich habe eine Aufgabe nicht parallelisierbar, die ich so schnell wie möglich verarbeiten möchte. Diese Task führt eine reine Berechnung aus, keine E/A.Zuweisen eines vollen CPU zu einem bestimmten Thread, um die Leistung zu maximieren und Kontextwechsel zu vermeiden

Natürlich läuft diese Aufgabe auf einem Multi-Core-System und viele andere Prozesse machen gleichzeitig "Dinge", die auch CPU-Auslastung erfordern.

Heute, meine Aufgabe ist so weit wie möglich optimiert (sagen wir, es ist perfekt :-P), meine Idee, es noch einmal zu steigern wäre, eine volle CPU für seinen Thread zu reservieren.

Unter diesen Bedingungen würden keine anderen Threads die CPU damit teilen, und so würde kein Kontextwechsel meine Aufgabe unterbrechen; Das sollte man noch einmal mit wenig Aufwand ein wenig beschleunigen. (natürlich würde dies zu Lasten anderer Prozesse durchgeführt werden, aber dies ist kein Problem überhaupt: die höchste Priorität meine Aufgabe gegeben ist)

Aber wie kann ich das tun, was ich will? Ich weiß, wie man die Affinität des Threads meiner Aufgabe einstellt, um sie einer bestimmten CPU zuzuordnen, aber diese CPU wird möglicherweise mit anderen Threads geteilt; mein Problem ist

Vielen Dank für Ihre Hilfe

+0

Possible Duplikat [wie eine CPU aus dem Linux-Scheduler abzuschirmen (verhindern Fäden auf dieser CPU Scheduling)?] (Http://stackoverflow.com/questions/11111852/how-to-shield- a-cpu-von-linux-scheduler-verhindern-es-scheduling-threads-on) –

Antwort

Verwandte Themen