PhenomMsrTweaker: Cool and Quiet customized

Das hier sollte bezüglich Thread-to-Core-Pinning interessant sein.
http://www.hipeac.net/system/files?file=carsten.pdf so ab Seite 11 sieht man was los ist.

oder halt CPU-Control 2.1 zum Thead-pinning nehmen. max. 4Cores
http://www.chip.de/downloads/CPU-Control_32204368.html

noch etwas dazu:
Nun sollen MC-CPUs dem Alltagsgeschäft und dem Spielspaß auf die Sprünge helfen. Bei den ersten Desktops mit zwei Prozessoren traten Dilemmas zu Tage: Den meisten Applikationen ist es schnurzegal, wie viel Prozessoren auf Arbeit warten, sie kennen und nutzen eh nur einen. Das verschärft sich bei der Integration in MC.

„Ja, wo laufen Sie denn?“ leitet das mehr oder weniger missliche Vergnügen ein, das beim Nutzen von Multi-core-Systemen aufkommen kann. Ohne zusätzliche Eingriffe von außen verteilen die Scheduler die anstehenden Prozesse nach eigenem Gutdünken. Zwar sind die aktuellen Betriebssysteme inzwischen darauf geeicht, die Wanderschaft zwischen den Kernen nicht ausufern zu lassen, doch wann und auf welchem Kern ein Prozess zum Zuge kommt und vor allem, wann er zum Ende kommt, ist nicht vorhersagbar. Es sei denn, Entwickler oder Anwender greifen zu Hilfsmitteln wie Affinities (Windows), taskset (Linux) oder pbind (Solaris), um nur einige zu nennen. Damit verspielt man aber einen wesentlichen Vorteil des MC: die Arbeit dynamisch verteilen zu können. Unter dem Strich kommt wieder heraus: ein Großteil des Rechenwerks schläft.
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Um dem noch was hinzuzufügen: Windows scheduled auf thread-Ebene, nicht auf Prozess-Ebene. Neben den CPU-affinities gibts dann selbstredend noch die scheduling-Prioritäten. Dass pinning in mehr performance resultiert (solange keine anderen threads große Last verurachen, also wie du sagst, statische Last-Verteilung mal optimal ist), ist klar, da die core-caches nicht neu gefüllt werden müssen, wenn der thread nicht zwischen den cores rumhüpft.
Zu diesem (nicht so riesigen) Performance-Aspekt des schedulings gesellt sich nun vermehrt der Aspekt des Energiesparens. Würde Windows z.B. dafür sorgen, dass ein thread, welcher länger (immer noch Sekundenbruchteile ;)) für volle Last sorgt, einen dedizierten core in dieser Zeit erhielte (so eine Art kurzfristiges pinning), hätte man einerseits etwas mehr performance durch das Wegfallen des cache-refills und würde andererseits auch Energieeinsparungen spürbar erleichtern, da die cores einzeln gemanaged werden könnten, ohne dass das delay (für das Rauf-/Runtertakten während/nach einer Last; die Last muss ja schließlich erst mal erkannt werden) für deutlich schlechtere performance sorgt, da es weniger Lastwechsel gäbe, wodurch auch mehr Energie gespart werden könnte.
Aber die Diskussion über schedulers gibt's wahrscheinlich schon seit Anbeginn von multitasking und speziell Mehr-Prozessor-Systemen. Unter Linux gibt's wenigstens x schedulers und kernel patches.
Manuelles pinning ist auch deshalb ineffizienter, weil meine Erfahrung ist, dass Programmcode stellenweise parallelisiert werden kann (teils auch relativ einfach durch Hilfsmittel wie OpenMP, MS Concurrency Runtime etc.), aber immer wieder nicht-parallelisierbare Abschnitte dazwischenliegen. Will ich nun in den parallelisierten Stellen möglichst alle Kerne nutzen, darf der Prozess nicht einzelnen Kernen zugewiesen sein (all seine threads erben seine affinity mask); dadürch gibts aber wieder heftiges hopping des single-threaded codes zwischen den Kernen; den single-threaded Code-Abschnitt via thread-affinity mask nur einem Kern zuzuweisen ist auch eine schlechte Idee - welchen soll ich nehmen, vielleicht macht ja ein anderer thread genau dasselbe und bindet sich an denselben Kern, sodass sich beide threads den Kern teilen müssen (+ die threads, welche der scheduler sonst noch diesem Kern temporär zuweist) und die Leistung absackt.
 
Zuletzt bearbeitet:
Du hast ja leider sowas von recht.
Blödes Hopping, aber ich hab in ein paar single-threaded Anwendungen
(wie z.B. nicht parallelisierten Spielen)
festgestellt das, selbst wenn alle Cores gleich getaktet sind,
das Hopping trotzdem immer etwas Performance kostet.

btw, bei mir funzt DEIN "Unganged Button" NICHT
Mein P2 945 verharrt dann im P0
hab ein Nvidia Chipset, kann das der Fehler sein ? Bios C&Q ist disabled

danke

edit: in Thread #14 schreibst du selbst eine asynchrone Taktung hattest, was bei dem Hopping doch auch nachteilig ist.
 
Zuletzt bearbeitet:
Hehe, posting #14 schnell nachgeschlagen - die asynchrone Taktung bezieht sich dabei auf unterschiedliche max. Multis der Kerne, nicht auf den unganged mode, der erst seit Version 2 unterstützt wird. Wegen des angeblichen Nicht-Funzens desselben: Ich gehe mal davon aus, dass nur dein 1. Kern in P0 verharrt (die GUI zeigt nur den aktuellen P-state des 1. Kerns an; benutze andere tools, um die anderen Kerne zu überprüfen). Dies liegt dann an den custom C&Q settings - die load thresholds beziehen sich dann z.B. auf die Last jedes einzelnen Kerns, müssen also im Vergleich zu den ganged thresholds angehoben werden; außerdem sollte das Intervall und/oder die samples-Anzahl verringert werden, um das delay gering zu halten - das Intervall aber nicht zu kurz, da die Kern-loads von Windows nur alle paar (wenn ich mich recht entsinne, so in etwa 10) Millisekunden aktualisiert werden! Da der scheduler laut MSDN die ersten Kerne bevorzugt, wird der 1. Kern am häufigsten belastet und daher eher in niedrigeren P-states verweilen als die weiteren Kerne.
 
Zuletzt bearbeitet:
@ Kink

Wenn man den tweaker verwendet, und custom CnQ aktiviert hat, in welche datei werden die daten (takt und spannung) geschrieben ?

Hab das prob. das mein Bios voll verbugt und ich nicht anders übertakten kann.

Hatte beim OCen mittels deines Tweakers im mal eine BS und seitdem spinnt win voll rum wenn ich den tweaker verwende.

Das äussert sich z.b. beim neustart nach einen BS das ich gleich im win wieder einen BS bekomme.

Mir ist aufgefallen wenn ich gleich nach dem win start im Taskmanager die datei PhenomMsrTweakerService beende das dass win wieder normal funzt.

Hab den tweaker auch schon öfters deinstalliert, aber nach einer neu install. sind ja der takt und die spannung wieder so wie ich sie vor dem deinstall. eingestellt hab.

Also geh ich davon aus das es einen datei geben muß im Win wo dieses custom CnQ reingeschrieben wurde. Möchte diese datei löschen oder wieder auf standard bringen da ich glaube das beim OCen die datei irgendwie beschädigt, ect wurde.
 
hey karlmay, das wird ins registry geschrieben - aber wenn das bei dir so ist dann hast du sicher irgendwo zu wenig spannung, war ja bei mir auch so. ;)

>>>Cyber
 
hey karlmay, das wird ins registry geschrieben - aber wenn das bei dir so ist dann hast du sicher irgendwo zu wenig spannung, war ja bei mir auch so. ;)

>>>Cyber

Achso ? und wo in der Reg ?

Nein das hat nichts mit zu wenig spannung zu tun :) Hab ja die spannungen noch zu hoch für die einzelnen P-Stats ;)

Das prob tritt ja nicht wärend dem idle oder sonst wie auf. Sondern nur wenn ich den CPU hochprügel und ich dann wärend prime einen BS bekomme. Dann spinnt das win beim hochfahren, obwohl die spannungen (die ich bisher so eingestellt hatte bestehen bleiben)

Also denk ich das es mit der Reg zu tun hat, das da irgendetwas probs macht.
 
suche im HKLM nach MinPState dann findest ihn sofort. weiß den leider nicht auswendig.

den M3N-HT Deluxe sammelthread hast du abboniert? auf dem asusFTP gibts seit heute ein neues bios :)
 
suche im HKLM nach MinPState dann findest ihn sofort. weiß den leider nicht auswendig.

den M3N-HT Deluxe sammelthread hast du abboniert? auf dem asusFTP gibts seit heute ein neues bios :)

Achso na dann werd ich mal schaun wenn ich von der arbeit zuhause bin wegen der Reg.

Nein hatte ich nicht abboniert, aber jetzt wo du es sagst :) Danke für die Info

Hoff das neue Bios funzt endlich mal. Da bleibt mir nur eins zu sagen :xmas: :d :hail: :angel: :eek: :banana: :bigok:

Und schon getestet ?

Weil offi. stehts noch nirgenst, weder auf der Asus seite noch im Asus Forum, oder ich habs überlesen.
 
Zuletzt bearbeitet:
--> ot oder anderer thread ;)

komme erst am abend heim, bin schon ganz zittrig *g*
 
Die settings finden sich in HKLM\Software\PhenomMsrTweaker. Einfach den key löschen, um alles zurückzusetzen. Der key bleibt nach der Deinstallation erhalten, um ein Update auf eine neuere Version zu erleichtern, die settings bleiben so erhalten.
 
Erst mal danke für das super Programm. Man kann echt gut Geld dadurch sparen! :d
Ich wollte nur mal einen Fehler (?) melden (ich konnte den leider nicht mutwillig reproduzieren):
Hab die aktuelle 64bit-Version und war nun gerade am undervolten. So weit so gut.
Dabei habe ich das Energieschema auf Energiersparmodus gestellt und bei "Service" für Power saver als P-State Bound 4 eingestellt (um eben zu testen, wie weit ich stable mit dem CPU VID runter komme). Da das nun alles so weit lief, habe wollte ich die Settings permanent machen, habe also auf update gedrückt (da schon alte Werte permanent waren). Da steht plötzlich nur noch der P0-State dort. Nichts weiter, keine P1-P4 mehr. Auch der untere Teil des Fensters sah etwas strange aus.
Menü zugemacht, neu aufgemacht - immernoch nur ein Wert. Noch mal gemacht und vorher mal von powersaver aus balanced gestellt und dann noch mal auf update gedrückt ... siehe da... alles wieder i.O.
Falls das was zur Sache tut: Hab nen Phenom II X4 965

Noch eine Frage:
Warum ist ie Unganged-Option für single threaded loads nicht empfohlen? Sollte das da nicht gerade sinnvoll sein, wenn nur ein thread einen kern voll auslastet, dass dieser dann in den nächst höheren p-state wechseln kann? Oder habe ich das ganze System falsch verstanden.
Was passiert dabei eigetnlich mit der VID? Die nimmt sicher den Wert des max. p-states an?!
 
Zuletzt bearbeitet:
seid grad eben funz das program bei mir nicht mehr, kommt diese fehlermeldung :



deinstallieren und neu installieren bringt nichts, was soll ich machen?
 
Zuletzt bearbeitet:
den regkey zwei beiträge über deinem schon gelöscht?
 
hey ma ne frage wie haste das hinbekommen das everest in der sidebar ist?
und geht das auch mit vista?
 
Hallo,

sehr gutes Programm, danke dafür. Sehr übersichtlich aufgebaut und einfach zu handhaben. Ich habe aber mit deinem Programm ein Problem mit meinem Phenom II X3 unter Vista 64 mit den Energieeinstellungen nach jedem Neustart.
Immer wenn ich den PC starte, läuft er die ganze Zeit nur im P0 State - also Volllast. Eigenes Cool 'n' Quiet und den Service habe ich natürlich aktiviert, der Service wird auch immer gestartet und ist aktiv.
Nur wie gesagt er bleibt so lange im P0 State, bis ich bei mir die Energieeinstellung auf irgendein anderes Profil verändere. Erst dann verändern sich die States. Die Profil-Einstellung sind auf Standard von Windows, bis auf die Aktion des Buttons im Startmenü.
Vorhin startete ich mit Energiesparen und musste auf Höchstleistung stellen, dann nach einem neuen Versuch von Höchstleistung auf Ausbalanciert und nun bin ich wieder auf Höchstleistung...

Hier ein Screenshot davon.

@PitGST
Hups, sorry.
 
Zuletzt bearbeitet:
@Elandur
Dein Screen ist zu groß und verstößt somit gegen die Forenregeln (die Forensoftware muss dein Bild verkleinern -> unnötiger Ressourcenverbrauch).
Bitte anpassen oder ich muss deinen Beitrag entfernen.
 
@cartago:
Also erstens zieht Geheule bei mir nicht ;), und etwas Urlaub kann man jemandem doch zugestehen. Zu deinem Problem: Ich gehe davon aus, dass du in der Zwischenzeit ein andres Programm installiert hast, welches ebenfalls auf den WinRing0-Treiber zurückgreift, und daher Probleme auftreten. Da kann ich leider auf die Schnelle nix dran ändern. Du kannst ggf. nach WinRing0x64.sys suchen, um das andre Programm zu identifizieren (außer der Autor besaß die Frechheit, den Dateinamen zu ändern).

@elandur:
Eigenartig, kann ich mal nicht nachvollziehen. Trifft das nur auf den ersten core zu? Ich seh nämlich, dass du den unganged mode laufen lässt, von dem ich eigentlich nur abraten kann, und dazu noch unpassende thresholds (und zusätzlich zu hohe samples-Zahlen für meinen Geschmack). Die Begründung dafür hab ich hier glaub ich schon mal erwähnt. Daher meine Empfehlung: Unganged mode sein lassen und stattdessen den ganged one benutzen, außer man weiß genau, was man damit bezweckt.
 
Zuletzt bearbeitet:
@kink
Danke für deine Antwort. Urlaub muss sein - ich hoffe dass du dich gut erholen/amüsieren konntest.
Ich habe an den Thresholds sowie an den Samples-Zahlen nichts geändert, weil ich nicht weiß, warum ich sie ändern sollte und welche Auswirkungen für mich entstehen. Ich habe von diesen zwei "Dingern" kaum Ahnung, also hab ich gleich die Hände davon gelassen.
Vielleicht liegt es am Mainboard oder Bios? Ich habe übrigens ein MSI K9A2 Neo-F (NB770, SB600 Sockel Am2+).
Ich hatte das Programm installiert, die einzelnen P-States ausprobiert und eingestellt, dann den Service-Dialog geöffnet und "Make custom P-State settings permanent" und "Enable custom Cool & Quite" aktiviert, mit Apply bestätigt und neu gestartet.
Worauf sollte ich die denn deiner Meinung nach stellen?

Über Ganged und Unganged Mode habe ich mich ein bisschen informiert und mich dann für Unganged entschieden. Hier mal ein paar Erklärungen darüber:
Computerbase
HT4U.net

Und hier auch ein kleiner Test:
Phenoms Speichercontroller: ganged vs unganged Modus
Es wurde zwar mit dem Phenom I getestet, aber das spielt bestimmt keine große Rolle. Der Leistungsunterschied lässt auch zu wünschen übrig, weshalb man sich darüber auch kaum Gedanken machen braucht.

Ach und nein, "der Fehler" passiert bei allen Kernen.
 
Zuletzt bearbeitet:
Unganged und Ganged beziehen sich hier nicht auf die Ansteuerung des Arbeitsspeichers, sondern wie die Kerne hoch bzw. runtergetaktet werden.

Bsp:
Unganged: Anwendung 1 kann kein Multithreading und läuft auf Kern 1. Bei unganged wird nur Kern 1 hochgetaktet, die anderen Kerne laufen @ Idletakt

Ganged:
Anwendung 1 kann immernoch kein Multithreading, trotzdem laufen alle Kerne auf dem höchsten Takt. Auch wenn nur Kern 1 was zu tun hat, der Rest legt halt Waitstates ein.


Sieht jetzt so aus, als wäre Unganged ganz toll zum Energiesparen. Windows 7 vollführt aber Threadhopping. Also es versucht die Last gleichmäßig zu verteilen und schiebt die Last von Kern zu Kern. Bei unganged bekommt Kern 2 die Arbeit, ist aber selbst bei 800MHZ. Bis der Kern jetzt hochgetaktet ist, vergeht etwas Zeit. Kurzum, die Kerne takten wie wild hoch und runter, die ganze Zeit. Auch bei gleichbleibender Last.

Das System läuft schneller und stabiler im Ganged Modus. Und die Arbeitsspeicheranbindung sollte für den Normalverbraucher im unganged modus laufen ;)
 
@Dr.Cupido
Danke. Super... jetzt funktioniert es auch. Hab mich auch schon gewundert, was die Speicheransteuerung hier zu suchen hat. Hätte ich den Hover auch gelesen hätte ich es auch schon vorher gewusst.
Ich habe auch nun die Thresholds auf 26 für high und 20 für low gestellt an den Samples aber noch nichts geändert.
 
Zuletzt bearbeitet:
kleine Fragen zum tweaken

Hallo,

erst mal danke fuer das super tool (bin bei idle bei 50W).
ich habe aber zwei fragen / probleme die ich nicht loesen konnte.

im screen shot meine hardware und config details.

die einstellungen laufen korrekt (wprime ist stabil in allen Pstates).

1.) wenn ich Balance Mode Ganged schalte, verhaelt sich PMT wie ich es erwarte, er geht bei IDLE in P3 und bei belastung bis rauf ins P0.
wenn ich aber auf ungaged schalte, geht er in P0 (screen shot) und bleibt dort, egal welche auslastung. warum sind zwei kerne trotz <10% auf max Multi (was muss ich aendern)?

2.) wenn ich balanced auf P4 ausdehne (in ganged modus) gibt sofort ein reset. ist NB differenz / sprung zu gross? zur errinerung, im power save modus (P2-P4) gibt es keine probleme.

vielleicht kann mir einer helfen, danke.

System: XP SP3, C&Q aus
 

Anhänge

  • bez.PNG
    bez.PNG
    34,6 KB · Aufrufe: 108
Zuletzt bearbeitet:
Vielen Dank, kink :hail:

Ich dachte schon, daß ich ne Kriese mit meinem Asus M3A32-MVP bekommen müßte, nachdem bei meinem alten Phenom I 9850 CnQ trotz OCing noch super funktioniert hat, und er sich mit dem Phenom II 965 mit OCing auf einmal nichtmehr im Idle runtergetaktet hat.
Dein Programm ist da genau das was ich mir erhofft habe: unauffällig und funktionell.

Aber eine Frage oder evtl Bitte hätte ich noch.

Als CnQ bei mir noch direkt über Vista64 ging, habe ich mir Verknüpfungen angelegt, so daß ich zu jeder Zeit (z.B. im Spiel) mit einem Tastendruck zwischen Ausbalanciert/Energiesparmodus/Höchstleistung von Vista selber aus durch wechseln konnte.

Ist das bei deinem Programm evtl auch möglich? :)

Grüße
Madkill0r
 
Greetings allerseits.

@alfetta: Bei deinem 2. Problem hab ich null Plan, sollte natürlich funzen. Deine settings sind aber etwas unverständlich (NB-Spannung nimmt ab, die NB läuft aber in jedem P-state mit demselben speed - ich würd' eine einheitliche Spannung vorschlagen; in P3 lässt du den 1. Kern mit doppeltem speed laufen, packt der 1.6 GHz bei 0.9V (in P2 gibst du allen 1.6-GHz-Kernen noch 1V)?). Außerdem passen thresholds und samples nicht zum unganged mode - am besten einfach den ganged mode benutzen, wie ich oben schon mal geschrieben hab.

@madkill0r: Du kannst das Schema via tray-icon der GUI wechseln. Also sofern das Spiel via Alt-Tab (oder Ctrl+Alt+Del ;)) dich zum Desktop rauslässt, kannst schnell wechseln. Dabei wird unter Windows >= Vista direkt das Windows-Schema gewechselt; wenn man selbiges also auch via Verknüpfungen wechseln kann, funktioniert das immer noch.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh