Skip to content

T5220 – przedsmak możliwości

Maszynka… Nic rewelacyjnego, jak poniżej:

niagara2.dev:root ~ > psrinfo -pv
The physical processor has 64 virtual processors (0-63)
  UltraSPARC-T2 (cpuid 0 clock 1167 MHz)
niagara2.dev:root ~ > prtconf | grep Memory
Memory size: 32640 Megabytes
niagara2.dev:root ~ > uname -a
SunOS niagara2.dev 5.10 Generic_120011-14 sun4v sparc SUNW,SPARC-Enterprise-T5220

Wiem, że niżej zamieszczam test typowo syntetyczny, wiem, że to nijak musi się przekładać na faktyczne warunki “bojowe” (i zapewne się nie przekłada), niemniej jednak liczby robią wrażenie:

niagara2.dev:root ~ > openssl speed rsa1024 -engine pkcs11
engine "pkcs11" set.
Doing 1024 bit private rsa's for 10s: 15509 1024 bit private RSA's in 0.60s
Doing 1024 bit public rsa's for 10s: 29934 1024 bit public RSA's in 0.90s
OpenSSL 0.9.7d 17 Mar 2004 (+ security patches to 2006-09-29)
built on: date not available
options:bn(64,32) md2(int) rc4(ptr,char) des(ptr,risc1,16,long) aes(partial) blowfish(ptr)
compiler: information not available
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
                  sign    verify    sign/s verify/s
rsa 1024 bits   0.0000s   0.0000s  25848.3  33260.0

Dla porównania analogiczne testy ze stojącego akurat obok X2200M2 (w środku 2 razy Opteron 2220 z zegarem 2,8GHz):

x2200m2.dev:root ~ > openssl speed rsa1024 -engine pkcs11
engine "pkcs11" set.
Doing 1024 bit private rsa's for 10s: 5364 1024 bit private RSA's in 10.00s
Doing 1024 bit public rsa's for 10s: 71792 1024 bit public RSA's in 9.99s
OpenSSL 0.9.7d 17 Mar 2004 (+ security patches to 2006-09-29)
built on: date not available
options:bn(64,32) md2(int) rc4(ptr,char) des(ptr,cisc,16,long) aes(partial) blowfish(ptr)
compiler: information not available
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
                  sign    verify    sign/s verify/s
rsa 1024 bits   0.0019s   0.0001s    536.4   7186.4

Tak, wiem, że T2 ma 8 rdzeni, w przypadku Opteronów sumarycznie z dwóch procesorów miałem “aż” cztery. Ale nie w tym jest siła. Wyniki dla jednego wątku openssl, najpierw T5220:

niagara2.dev:root ~ > openssl speed rsa1024 -engine pkcs11 -multi 1
engine "pkcs11" set.
Forked child 0
+DTP:1024:private:rsa:10
+R1:15470:1024:10.00
+DTP:1024:public:rsa:10
+R2:32576:1024:10.01
Got: +F2:1:1024:0.000647:0.000307 from 0
OpenSSL 0.9.7d 17 Mar 2004 (+ security patches to 2006-09-29)
built on: date not available
options:bn(64,32) md2(int) rc4(ptr,char) des(ptr,risc1,16,long) aes(partial) blowfish(ptr)
compiler: information not available
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used:
                  sign    verify    sign/s verify/s
rsa 1024 bits   0.0006s   0.0003s   1545.6   3257.3

Oraz Opteron:

x2200m2.dev:root ~ > openssl speed rsa1024 -engine pkcs11 -multi 1
engine "pkcs11" set.
Forked child 0
+DTP:1024:private:rsa:10
+R1:5337:1024:9.99
+DTP:1024:public:rsa:10
+R2:71640:1024:10.00
Got: +F2:1:1024:0.001873:0.000140 from 0
OpenSSL 0.9.7d 17 Mar 2004 (+ security patches to 2006-09-29)
built on: date not available
options:bn(64,32) md2(int) rc4(ptr,char) des(ptr,cisc,16,long) aes(partial) blowfish(ptr)
compiler: information not available
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used:
                  sign    verify    sign/s verify/s
rsa 1024 bits   0.0019s   0.0001s    533.9   7142.9

To o co chodzi? A o to, że w T2 mamy jednostkę MAU (Modular Arithmetic Unit) – a dokładniej 8 takich (po jednej na rdzeń). Zalążek tego mieliśmy już w T1, (tak samo, po jednej jednostce MAU na rdzeń), przy czym tam mieliśmy tylko wsparcie dla algorytmów RSA, DSA oraz Diffie Hellman. W T2 dochodzi nam do tego jeszcze AES, 3DES, RC4, SHA1, SHA256, MD5, ECC. Robi wrażenie. :)

Na zakończenie dwie tabelki: pierwsza obrazuje liczbę “podpisów” dla RSA1024 w zależności od liczby wątków równoległych – widać, jak ładnie T2 się “wątkuje”:

T5220 X2200M2
1 1545,6 535,3
2 3084,0 1074,1
4 6104,6 2141,1
8 10975,8 2164,5
16 22521,4 2218,9
32 29379,2 2231,7
64 29743,7 4015,0

Druga przedstawia liczbę “podpisów” dla RSA${i}, gdzie ${i} przyjmuje wartości 512, 1024, 2048, 4096 – tu z kolei widać, gdzie się kończy wsparcie MAU dla biblioteki PKCS11 (dla obydwu serwerów przyjąłem “-multi 32″):

T5220 X2200M2
512 67738,7 11796,5
1024 29402,7 2660,3
2048 5179,7 502,9
4096 18,8 62,9

Na koniec “disklejmer” – wszędzie powyżej używałem “-engine pkcs11″ z dwóch powodów – po pierwsze, software’owe algorytmy dla RSA w tej bibliotece wyglądają na wydajniejsze od standardowej zawartej w OpenSSL, po drugie, tylko w ten sposób mogę zrobić pożytek z akceleracji sprzętowej – libpkcs11 zapewnia obsługę odpowiednich providerów dostarczanych przez kernel Solarisa.

5 Comments

  1. Grzechu wrote:

    Nie myslisz, ze to ma bardziej zwiazek z dolaczonymi do kazdego core CryptoCard ?

    Monday, December 3, 2007 at 9:35 am | Permalink
  2. dosiu wrote:

    Ten “CryptoCard” to przecież właśnie MAU, o którym piszę…

    Monday, December 3, 2007 at 11:18 pm | Permalink
  3. Tutaj wyniki dla Niagara-2 1.4GHz (openssl speed rsa1024 -engine pkcs11 -multi N)

    N sign/s verify/s %usr %sys runq
    1 1862 3968 0 1 0
    2 3752 7707 0 3 0
    4 7410 14897 1 6 0
    8 14542 28546 1 11 0
    16 27304 51436 2 22 1
    32 35828 81803 4 45 3
    64 36492 103769 6 85 16
    128 38177 122601 9 90 64
    256 43070 124192 10 90 188
    512 32734 51623 10 90 400

    W przypadku Opteronow domniemam, ze bardzo szybko wysyciles CPU :)

    Tuesday, December 11, 2007 at 3:02 am | Permalink
  4. dosiu wrote:

    Tak, Opterowny miały już dosyć przy N=4. :)
    W sumie nie pomyślałem o tym, żeby zestawić to jeszcze z użyciem CPU, chociaż też na to zwróciłem uwagę…

    Tuesday, December 11, 2007 at 3:39 pm | Permalink
  5. trasz wrote:

    Z ciekawostek: Sun 3/60 (z MC68020 w roli CPU; połowa lat osiemdziesiątych) zawierał podstawkę pod AM9518, układ robiący sprzętowo DES, z oszałamiającą prędkością 1.3MB/s. Ciekawe do czego miało to być (AFAIK Sun nigdy nie wprowadził tej opcji do cennika) wykorzystywane i czym – w końcu w tamtych czasach SSL jeszcze nie istniał?

    Wednesday, December 12, 2007 at 9:59 pm | Permalink

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*

Captcha
Enter the letters you see above.