Vraag over werking proc. en instructieset AES-NI

Pagina: 1
Acties:

  • DR!5EQ
  • Registratie: November 2009
  • Niet online
Hallo,

Ik ben al een tijdje bezig met dingen te proberen via de command line op OS X en ik heb eigenlijk op 2 vragen geen antwoord kunnen vinden (google helpt ook niet). De vragen die ik heb staan aan de ene kant los van elkaar, maar ook weer niet.

Is het mogelijk dat basiscommando's zoals cat/vim op 1 kern draaien ipv alle 4? De activiteitenweergave app geeft namelijk iets meer dan 100% aan. Als alle kernen worden gebruikt geeft hij 400% aan. Mocht dat zo zijn, waarom is dat? het is toch veel efficienter als het over meerdere kernen wordt verspreid?

De instructieset AES-NI bij Intel processoren zorgt voor snellere versleuteling/ontsleuteling in tegenstelling tot processoren die deze instructieset niet dragen. Ik vraag me af of het daadwerkelijk veel verschil uitmaakt tussen een processor met 2 kernen en 4 kernen met deze instructieset. Ik heb gezocht naar benchmarks met dergelijke processoren, maar kan eigenlijk geen goede benchmarks vinden die hier een verschil in laat zien. Heeft iemand hier ervaring mee?

In het geval van mijn eerste vraag, waarbij een proces op 1 kern moet versleutelen/ontsleutelen, heb je dan niet meer aan een processor met een hogere kloksnelheid?

  • Thralas
  • Registratie: December 2002
  • Laatst online: 09:19
14ml337 schreef op maandag 07 september 2015 @ 16:14:
Is het mogelijk dat basiscommando's zoals cat/vim op 1 kern draaien ipv alle 4? De activiteitenweergave app geeft namelijk iets meer dan 100% aan. Als alle kernen worden gebruikt geeft hij 400% aan. Mocht dat zo zijn, waarom is dat? het is toch veel efficienter als het over meerdere kernen wordt verspreid?
Klopt allemaal als een bus. Aan de grondslag hiervan ligt een fundamenteel parallelisatieprobleem.

Als je een willekeurig algoritme tikt in je favoriete programmeertaal dan is het vrijwel onmogelijk voor de compiler/interpreter om de code (of meerdere functies als je het high-level wilt bekijken) uit te smeren over meerdere cores.

Om toch zaken parallel te laten lopen is de meest primitieve oplossing gebruik van threads, dat vereist een hoop extra investering van de programmeur om de boel niet in de soep te laten lopen.

Zo zijn er talloze voorbeelden, je kunt het beste even gaan Googlen op iets als 'why multithreading/parallelism is hard', ongetwijfeld vindt je dan nog duidelijkere uitleg.
De instructieset AES-NI bij Intel processoren zorgt voor snellere versleuteling/ontsleuteling in tegenstelling tot processoren die deze instructieset niet dragen. Ik vraag me af of het daadwerkelijk veel verschil uitmaakt tussen een processor met 2 kernen en 4 kernen met deze instructieset.
AES-NI is een extensie van de instructieset. Daarmee kun je op meerdere fysieke cores tegelijk AES-NI-instructies uitvoeren.

Let op, fysieke cores; HyptherThreading helpt als het goed is weinig als AES-NI de bottleneck vormt.
In het geval van mijn eerste vraag, waarbij een proces op 1 kern moet versleutelen/ontsleutelen, heb je dan niet meer aan een processor met een hogere kloksnelheid?
Uiteraard. In het algemeen geldt dat een hogere kloksnelheid leidt tot het uitvoeren van meer cycles per second, en daarmee dus meer (AES-NI)-instructies.

Maar in de praktijk loop je al snel tegen andere issues aan. Een recente i5 of i7 doet honderden megabytes per seconde aan AES op een enkele core. Heb je wel genoeg data om zo snel te ont/versleutelen? ;)

  • White Feather
  • Registratie: Januari 2000
  • Laatst online: 16:36
Hier is een benchmark waaruit blijkt dat AES-NI sneller is op een 5960X dan op een 6700K.

http://techreport.com/rev...ake-processor-reviewed/10

8 cores op 3.3 GHz is 8.3 punten (8*3.3)/8.3=3.18 GHz per punt.

4 cores op 4.2 GHz is 5.0 punten (4*4.2/5=3.36 GHz per punt.

Een 5960X is dus relatief efficiënter, omdat er minder MHz nodig zijn per punt. Dit zou kunnen zijn omdat er relatief meer geheugenbandbreedte beschikbaar is.

Als je per core rekent, zit je met een 5960X op 1,04 punten per core (8.3/8) en een 6700K op 1,25 punt per core (5.0/4).

Dus met één threat is er duidelijk voordeel voor een hogere corespeed.

[ Voor 5% gewijzigd door White Feather op 07-09-2015 23:04 ]


  • DR!5EQ
  • Registratie: November 2009
  • Niet online
White Feather schreef op maandag 07 september 2015 @ 23:02:
Hier is een benchmark waaruit blijkt dat AES-NI sneller is op een 5960X dan op een 6700K.

http://techreport.com/rev...ake-processor-reviewed/10

8 cores op 3.3 GHz is 8.3 punten (8*3.3)/8.3=3.18 GHz per punt.

4 cores op 4.2 GHz is 5.0 punten (4*4.2/5=3.36 GHz per punt.

Een 5960X is dus relatief efficiënter, omdat er minder MHz nodig zijn per punt. Dit zou kunnen zijn omdat er relatief meer geheugenbandbreedte beschikbaar is.

Als je per core rekent, zit je met een 5960X op 1,04 punten per core (8.3/8) en een 6700K op 1,25 punt per core (5.0/4).

Dus met één threat is er duidelijk voordeel voor een hogere corespeed.
Ik snap je berekening niet.

8 cores op 3.3 Ghz is 8.3 punten?

Daarnaast zijn er dus niet echt goeie benchmarks op het gebied van encryptie. De basis zal blijven, hoe meer hoe sneller? Met andere woorden, het is maar wat jij als acceptabel beschouwd?

  • White Feather
  • Registratie: Januari 2000
  • Laatst online: 16:36
TrueCrypt disk encryption-benchmark. Punten moet GB/s zijn.

Ik geef het aan per core, waaruit blijkt dat meer MHz sneller is en zoals uit de score van de 8-core versus 4 core blijkt, is meer cores beter.