Performantie Problemen met Moderne Intel Processoren

RFEM rekent langzamer op mijn nieuwe computer dan op de oude. Wat kan de oorzaak zijn en hoe kan ik dit veranderen?

Antwoord: Uw nieuwe computer met een Intel-processor is waarschijnlijk de 12e generatie of nieuwer. Vanaf de 12e generatie (Alder Lake) Core i-processoren heeft Intel een fundamentele verandering in de CPU-architectuur doorgevoerd. 


Tot deze generatie bevatte een processor meerdere identieke CPU-kernen. Vanaf de 12e generatie is dat anders. 


Er zijn twee verschillende soorten kernen. De prestatiekernen (P-kernen) zijn getrimd voor hoge rekenkracht. Hiervoor gebruiken ze veel elektriciteit. Een hoog stroomverbruik betekent, dat de batterijen in een laptop sneller leeg raken en dat de processor meer warmte genereert die door het koelsysteem moet worden afgevoerd. 


Naast P-kernen zijn er efficiëntiekernen (E-kernen). Ze nemen de vele kleine taken op de achtergrond over, waarbij snelheid geen grote rol speelt. De E-kernen  zijn veel langzamer, maar verbruiken ook veel minder elektriciteit en produceren daardoor minder warmte. 


Processoren met verschillende soorten kernen zijn geen nieuwe uitvindingen van Intel. Dit is al lange tijd een standaard voor mobiele telefoons en andere mobiele apparaten. Hier zijn de vereisten voor een laag energieverbruik en het opvangen van kortstondige piekbelastingen nog strenger, dan bij laptops, notebooks of desktop-pc's. Apple gebruikt deze technologie ook in toestellen met M-processoren. 


De taak van het besturingssysteem is nu om de lopende processen aan de kernen toe te wijzen. Deze taak wordt uitgevoerd door de Planner. Het is geen triviale taak om te herkennen of een proces aan de P-kernen moet worden toegewezen, of dat de E-kernen voldoende zijn. Dit doet de Scheduler onder meer met behulp van de gebruikersrechten en het volgende:


Als we nu naar de architectuur van RFEM kijken, wordt het duidelijk dat er problemen kunnen zijn.

De programma-architectuur van RFEM is verdeeld in twee delen. Enerzijds is er het programma met de grafische gebruikersinterface. Deze ontvangt gebruikersinvoer en geeft de resultaten grafisch weer. Aan de andere kant is er de oplosser/Solver. Het leest de invoergegevens, voert de berekening uit en stuurt de resultaten terug naar RFEM.

In RFEM starten één (RFEM 5) of meerdere (RFEM 6) oplosser/Solver processen de berekening, die vervolgens de berekening parallel uitvoert op verschillende kernen. Dit zijn uiteraard rekenintensieve taken.

Doordat de processen door het hoofdprogramma als onzichtbare subprocessen worden gestart, kan het voorkomen dat deze processen op de langzame E-kernen worden uitgevoerd.

Als gevolg hiervan rekent RFEM op een processor van de 12e generatie en hoger ineens veel langzamer dan op een oudere processor van de 11e generatie.

Een snelle oplossing is om RFEM uit te voeren met beheerdersrechten. Om veiligheidsredenen is dit echter niet altijd mogelijk.

Een andere oplossing is om de regel te beïnvloeden dat subprocessen op E-kernen worden uitgevoerd. Ga als volgt te werk:


  1.  Open het register. 
  2.  Zoek voor "Heterogeneous thread scheduling policy". 
  3.  Bewerk de "Atributes" sleutel en stel in op "0". 



Of pas het 'Power Plan' van de Laptop aan:



of