Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie

Door Wouter Tinus

Sun Ultrasparc T2: cool threads op herkansing

Postgresql-benchmarks

Ook de programmeurs van Postgresql hebben het afgelopen jaar niet stil gezeten. Waar we in eerdere artikelen met ontwikkelbuilds van versie 8.2 aan de slag moesten, konden we voor dit artikel de officiële 8.3.1-release gebruiken. We compileerden de software zelf met de Studio-compiler van Sun, waarbij dezelfde optimalisatie-opties werden gebruikt als voor Mysql. Er werden hier echter geen aanpassingen aan de code gedaan. In dit geval was er nauwelijks een prestatieverschil meetbaar tussen de 32bits- en 64bits-versies, ook niet met de grotere buffers die laatstgenoemde mogelijk maakt.

In de eerste grafiek zien we een opmerkelijk resultaat: de prestaties van de Ultrasparc T1 en T2 zijn vrijwel identiek bij een gelijk aantal threads. Dit is minder vanzelfsprekend dan het wellicht lijkt, omdat de gelijke score bij de T2 steeds de helft van het aantal cores gehaald wordt. Dit geeft aan dat Sun de balans tussen de kracht van de cores en het aantal threads dat er op draait in stand heeft weten te houden, wat zeker geen vanzelfsprekendheid is. Andere implementaties van multithreading leveren hoogstens enkele tientallen procenten winst op bij een verhouding tussen fysieke en logische cores van 1:2, terwijl Sun met een verhouding van 1:8 nog de volle mep pakt.

UltraSparc T2 review: PostgreSQL - T1 vs. T2

Om te illustreren dat de ene thread de andere niet is zetten we in de volgende grafiek verschillende manieren om hetzelfde aantal threads te bereiken naast elkaar. Zo zien we dat 16 threads verdeeld over acht cores draaien ruim de helft betere prestaties oplevert dan 16 threads op twee cores gooien. Met 32 threads zien we ongeveer een derde betere prestaties op acht cores ten opzichte van hetzelfde aantal op vier cores.

UltraSparc T2 review: PostgreSQL schaalgedrag

De beste prestaties per thread worden logischerwijs bereikt door twee threads per core te laten lopen. Beide subcores worden dan bezig gehouden zonder dat threads op elkaar moeten wachten - tenzij ze bijvoorbeeld de fpu willen gebruiken, maar dat is hier niet van toepassing. Het is duidelijk te te zien dat het opvoeren van het aantal threads per core tot mindere prestaties per thread lijdt, maar zoals eerder opgemerkt is de Ultrasparc T2 een chip die goed in balans is: wat op de individuele prestaties moet worden ingeboet kan dubbel en dwars worden terugverdiend op het vlak van doorvoer.

Maximum requests per seconde per thread
8 cores, 16 threads 15,4
8 cores, 32 threads 12,5
2 cores, 16 threads 9,8
4 cores, 32 threads 9,6
8 cores, 64 threads 9,1

De laatste grafiek van deze pagina is enigszins ontnuchterend. We hebben net bijna voorbeeldig schaalgedrag en keurig verdubbelde prestaties ten opzichte van de vorige generatie geconstateerd, maar nu blijkt dat de T2 in zijn absolute prestaties zwaar tekortschiet. Een ondertussen redelijk verouderde Clovertown piekt ruim dertig procent hoger dan de Sun-processor. De Xeon presteert bovendien al optimaal bij ongeveer 20 gebruikers, terwijl de Ultrasparc er 80 nodig heeft voor hij volledig benut wordt.

UltraSparc T2 review: PostgreSQL

Wat vind je van dit artikel?

Geef je mening in het Geachte Redactie-forum.

Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 5 Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True