Ik heb weer een rijtje grafiekjes weten te maken
Ik wilde zien wat het effect is als je de frequenties van de P en E-cores beperkt:
- Kan dat (ja dus)
- Welke performance zie je dan
- Welk verbruik zie je dan
- En hoe komt dit overeen met de eerdere cTDP testen
- En wat zegt dit over de specificatie van de 12700K, namelijk een 125W/190W TDP CPU. De basisfrequentie van deze CPU is 3.6 / 2.7 GHz en de boost ligt bij 5.0 / 3.8Ghz (P/E-cores)
Alles met als doel om straks per docker container het max. vermogen in te kunnen stellen om een zo zuinig mogelijke server te hebben waarbij interactieve containers maximale performance kunnen laten zien, en de achtergrondtaken (zoals backup) zo energie efficiënt kunnen worden uitgevoerd.
Noot vooraf:
Het Kontron bord lijkt last te hebben van VRM throtteling. De VRMs zijn niet gekoeld, ondanks dat in de documentatie wel heatsinks zichtbaar zijn en het mobo ook gaten hiervoor heeft om deze te monteren. Het lijkt er nu heel sterk op dat alles boven de 150W problemen geeft. Dat betekent dat de 4.5Ghz metingen in de grafieken niet serieus genomen moeten worden!
In eerdere grafieken zag je al dat er een max zit rond de 165W TDP. Die heb ik nu ook gezien met deze testen.
Testverantwoording:- Er zijn 42 testen uitgevoerd. Hierbij zijn de P-cores ingesteld op 1.5 - 4.5Ghz en de E-cores ingesteld op 1-3.5Ghz. Beiden in stapjes van 0.5Ghz. Vandaar 6*7 = 42 tests.
- De phoronix benchmark pts/x264 is gebruikt. Daarbij wordt een 4K film 3 keer omgezet, en het gemiddelde en de afwijking berekend. Als de afwijking ruim binnen de 1% valt is de test voor mij geldig.
- Met perf stat wordt de energie van zowel package als cpu gemeten over de gehele benchmark.
- turbostat wordt gebruikt om het package power en de CPU temperatuur weer te geven tijdens de test.
Grafiek 1: de x264 benchmark
De x264 benchmark schaalt netjes - bijna lineair - met de toegenomen P en E-core frequenties.
Valt verder niks van te zeggen. De tweede 4.5Ghz meting bevat mogelijk een foutje overigens.
Grafiek 2: de benodigde energie CPU Package
Performance is 1, maar de benodigde energie is een tweede punt.
Je ziet hier heel duidelijk dat de E-cores bij toenemende frequentie steeds inefficiënter worden, waarbij de 3.5Ghz waarde een enorme piek geeft. Dat was door Chips and Cheese ook al gezien: van 3Ghz naar 3.5Ghz kan zomaar 30-50% meer energie kosten!
Besef dat de E-cores pas goed zichtbaar zijn als de frequentie (en dus het verbruik) van de P-cores afneemt.
Observaties:
- De stappen van 4.5Ghz naar 4Ghz naar 3.5Ghz is groter dan de lagere stappen. Je ziet dat vanaf 3.5Ghz en lager er ook een knoop ontstaat bij de 3Ghz van de E-cores. Allemaal heel logisch als je beseft dat de basisfrequentie van de CPU 3.6Ghz is...
Grafiek 3: Aantal Joules per x264 score
Een behoorlijk chaotische grafiek.
Observaties:
- De laagste frequenties van de P-cores doen het uitzonderlijk slecht. De 1.5Ghz grafiek verbruikt met toenemende E-core frequenties ruim het meeste aantal joules.
- De 3.5Ghz lijn blijkt erg efficiënt te zijn, zeker bij de 3GHz E-core frequentie.
Grafiek 4: Piek wattage uit stopcontact per x264 score
Mijn favoriete grafiek: Hier gaat het immers om. Zo weinig mogelijk wattjes uit het stopcontact trekken!
Observaties:
- Wederom zie je een flink verschil tussen de 3.5Ghz - 4.5Ghz lijnen. Daaronder lopen de lijnen een stuk dichter bij elkaar, of zelfs over elkaar heen.
- Het beste punt met 3.3W per x264 score zit op de 3.5Ghz/3.0Ghz lijn.
- De E-cores op 3.5Ghz laten wederom zien hoe vreselijk inefficiënt ze dan worden. Verbruik gaat naar 4.5W per x264 score. Dat is ca 40% meer dan het optimum bij 3Ghz E-cores.
De 3.3W score is een bekende uit eerdere metingen die met cTDP aan het spelen waren. Dat was namelijk rond een cTDP van 75W!
Grafiek 5: Gemeten package watts, ~TDP dus
De grafiek geeft de door turbostat gemeten waardes weer.
Observaties:
- Wederom de grotere gaten tussen de 3.5-4.5Ghz lijnen
- De enorme sprong bij de 3.5Ghz van de E-cores.
- En verder zie je dat het optimum bij een TDP van 77W ligt bij een P-core van 3.5Ghz en E-core van 3Ghz.
De 3.5Ghz is net onder de basisfrequentie van 3.6Ghz. Zouden we verder de E-cores op hun max laten draaien van 3.8Ghz dan komen we zomaar uit op een TDP van 125W 
Het verlagen van de E-core naar max 3Ghz geeft dus een belachelijk verschil naar ca 80W TDP
Het performance verschil is nog geen 3%, namelijk van 33,78 fps naar 34,75 fps.
Grafiek 5: Gemeten watts uit het stopcontact
Als laatste de grafiek die het vermogen uit het stopcontact weergeeft.
Observaties:
- Ook hier de duidelijke knik bij 3Ghz
- Wederom de grotere verschillen tussen 3.5Ghz en 4.5Ghz lijnen. Dit komt deels door de turbo, en deels doordat de VRM's bijschakelen en je al een 7W extra kwijt bent.
- De 3.5Ghz/3Ghz combi doet 111W uit het stopcontact. Bij 3.5Ghz/3.5Ghz is dat al ruim 150W. Wederom ca 36% meer vermogen voor 3% meer performance.
TLDR;
De testen laten zien dat de 12700K netjes op zijn 125W TDP uitkomt met zijn basisfrequentie van 3.6Ghz/3.8Ghz. Deze kan echter makkelijk naar de 80W TDP als je de E-cores op max 3Ghz laat draaien. Toevallig of niet: die 3Ghz zit net iets hoger dan de basisfrequentie van de E-cores van 2.7Ghz!
De CPU draait het meest efficiënt op zijn basisfrequentie van 3.6Ghz. De turbo tot 5Ghz van de P-cores kost onevenredig veel vermogen. Dat is niks vreemds. Het absurde verbruik van de E-cores ("efficiency") is natuurlijk wel vreemd. Intel heeft werkelijk alles uit de kast gehaald om maar goede cijfers neer te zetten in de benchmarks.
Draaien we ook de E-cores rond de basisfrequentie van 2.7Ghz - in dit geval 3Ghz - dan laten ze zien dat ze best wel efficiënt zijn.
Als ik alle 42 testen plat sla, dan heb ik enkel 'aangetoond' dat de CPU efficiënt draait zolang je de turbo's niet gebruikt
Een toch wel schokkende ontdekking natuurlijk...
In deze pts/x264 benchmark ligt de performance bij 3.5Ghz/3Ghz op ca 80% van het maximum. Je levert dus 20% in bij deze benchmark bij een vermindering van ruim 50% in verbruik. Het max verbruik bij 5.0Ghz/3.8Ghz zat rond de 230W, en met de zuinige instelling rond de 111W.
Het per core kunnen instellen van de maximale frequentie biedt voor mij de mogelijkheid om daadwerkelijk per docker container eea in te stellen. Dat moet ik nog wel testen, maar dit ziet er alvast goed uit!
Ik ben dan dus niet afhankelijk van een ingestelde cTDP en multi-core belasting om te zorgen dat de cores maximaal efficiënt draaien.
Het hebben van 8 P-cores is dus achteraf gezien erg fijn, want dit biedt meer keus om zeg 4 cores zuinig te laten draaien op 3.5Ghz, 2 cores nog zuiniger zo rond de 2Ghz (geeft in de pts/x264 test de allerlaagste W/x264 van 2,6), en 2 maximaal te laten boosten voor het interactieve werk.
De 4 E-cores kunnen dan ingezet worden voor langdurige achtergrondtaken.
De daadwerkelijke opbrengst in kWh op jaarbasis blijft gissen natuurlijk
[
Voor 5% gewijzigd door
Mars Warrior op 23-02-2023 14:56
. Reden: Kleine toevoegingen ]