Onder processoren
Over revolutionaire chips en oude ideeën
Intel dreigt haar toppositie inzake halfgeleiders aan Samsung te moeten afstaan. De chipfabrikant weet blijkbaar zelf nog niet goed waar de focus in het post-pc-tijdperk op moet komen te liggen: drones, VR, AI, zelfrijdende auto's?
Het IoT lijkt ook niet echt lekker te lopen. Nadat het IDF al op het laatste moment werd gecanceld, wordt nu ook de ontwikkeling van de IoT-developer-boards Edison, Galileo en Joule stopgezet. Maar het zou kunnen dat Intel binnenkort nog met iets compleet nieuws komt aanzetten. Onlangs werd in een functie-omschrijving, die overigens ook weer snel offline werd gehaald, gesproken over een "revolutionair, nieuwe microprocessorkern voor het volgende decennium".
Bij de Next Generation Core (NGC) is het de vraag of de ideeën wat betreft translation en optimalisatie voor de runtime worden geïntegreerd. Die ideeën werden door Transmeta-oprichter Dave Ditzel al aan het begin van het millennium gelanceerd – bij de presentatie van de Crusoecpu – en later bij Intel doorontwikkeld. Voor zover bekend wist het team van Ditzel een design met uitstekende simulatiewaarden te ontwerpen, maar vonden ze het bij Intel te revolutionair. Voor Ditzels team was dat reden om Intel de rug toe te keren.
Onlangs sprak Ditzel als president en CEO van Esperanto Technologies tijdens een sessie over opslagsystemen in HPC op de ISC 17 in Frankfurt over "revolutionair" nieuwe mogelijkheden om energie bij met name de 3D-geheugenkoppeling te besparen. Zijn voorstel voor draadloos verbonden 3D-stacks van geheugenchips staat bekend onder de naam ThruChip Interface (TCI). Bij 7nm-productie moet TCI slechts een fractie van de huidige 3Dtechnologie met Through Silicon Via (TSV) verbruiken (zie tabel).
Daarnaast maakt Ditzel veel reclame voor RISC V als hoogwaardige licentievrije RISC-ISA. Hiervoor bestaat met BOOM-4w (Berkeley Out-Of-Order Machine) inmiddels een bijzonder krachtige en zuinige out-of-order-implementatie.
Maar er spelen nog meer zaken die Intels goede imago aantasten: producten die blijkbaar onaf de fabriek verlaten (Skylake X). En dan is er ook nog een bug van Skylake (inclusief X). Deze laatste bug treedt af en toe op onder "complexe microarchitectonische omstandigheden" met ingeschakelde Hyper Threading (HT) en bij bepaalde 8- en 64-bit registerbenaderingen binnen een korte loop. Kaby Lake heeft er ook last van.
Het OCaml-team van het Debian-project stuitte begin dit jaar al op een aantal mysterieuze segment-fouten bij hun compiler. Met het uitschakelen van HT verdwenen de bugs als sneeuw voor de zon. Ze weten dat aan bepaalde stukken code. Zelf heb ik die verdachte code ook onder Windows nagemaakt en met een Skylake Core i7 6700 urenlang op alle mogelijke manieren aan de tand gevoeld, maar er bleef een mysterieuze fout optreden. In mei heeft Intel met CPUID 0x506E3 en 0x406E3 (mobiele versie) voor Skylake-systemen in sokkel 1151 de corrigerende microcode 0xBA voor Linux uitgebracht in Microcode-20170511. tgz. Bij Kaby Lake (0x806E9 en 0x906E9) moeten de revisies 0x5D/0x5E de oplossing bieden maar die zijn op het moment van schrijven nog niet in Intels database voor microcodes opgenomen.
Zolang Microsoft (of liever gezegd: de moederbordfabrikanten) geen update uitbrengen, kun je onder Windows met de VMware-driver cpumcupdate32/64.sys de nieuwe microcode uit de Linux-database downloaden – of je schakelt HT in het BIOS dus compleet uit.
SPEC CPU2017
1989, 1992, 1995, 2000, 2006 – oorspronkelijk had de Standard Performance Evaluation Corporation (SPEC) gepland elke vier à vijf jaar een nieuwe versie van de cpubenchmark-suite uit te brengen, maar nu heeft het dus elf jaar geduurd. Het is ook een hele klus om de neuzen van Intel, AMD, ARM, IBM, Oracle, Cavium, Nvidia, HPE, Dell EMC, Lenovo en Inspur allemaal dezelfde kant op te laten wijzen – een kabinetsformatie is (hopelijk) nog makkelijker dan dat. De suite is nog steeds op te delen in integers en floatingpoints, maar nu zijn er verschillende codepaden voor speed en rate.
SPECint biedt weer een breed palet aan standaardtaken als videocompressie, routeplanning en compilers. Nieuw is bijvoorbeeld een Sudoku-oplosser (in Fortran!). SPECfp bevat overwegend programma's uit de HPC-wereld (in C/C++ en Fortran) – ook raytracing (povray) en 3Drendering (Blender).
Multithreading via OpenMP en autoparallellisatie zijn voor speed mogelijk, maar OpenMP is alleen bij SPECfp nuttig, omdat alleen daar alle applicaties het in HPC intensief gebruikte Multithreading Framework ondersteunen. Als vanouds kun je als referentiesysteem het best een gedateerde SPARC-computer (Sun Fire V490) nemen. Daarmee wordt de kans vrij klein dat de waarden onder de 1 zullen komen.
Voor enkele systemen staan op spec .org al resultaten. We kijken vooral uit naar AMD's Epyc – de CPU2017-waarden daarvan zouden volgens de fabrikant spectaculair moeten zijn.
Intel verliest terrein, processorbugs zorgen voor irritatie en ook met het IoT ziet het er niet goed uit. Wellicht maakt de revolutionaire Next Generation Core alles weer goed. Daarnaast verbinden volgende processorgeneraties 3D-geheugen mogelijk draadloos.