MIT geeft wet van Moore extra levenslijn met drie suggesties

Nu de wet van Moore niet meer geldt en een drastische versnelling van hardware iedere twee jaar geen zekerheid meer is, moet prestatiewinst ergens anders vandaan komen. Onderzoekers van MIT identificeren drie belangrijke domeinen.

Computerchips verbeteren nog wel, maar niet meer aan het tempo van weleer. De wet van Moore, die stipuleerde dat het aantal transistors op een microchip van een gegeven formaat iedere twee jaar zou verdubbelen, geldt niet meer. Dat komt omdat transistors vandaag zo klein zijn, dat er nauwelijks nog marge voor verbetering is. Op een bepaald moment zijn de atomen zelf grotere bouwstenen dan praktisch is en beginnen er kwantum-effecten te spelen. Dat verklaart waarom vooruitgang naar nieuwe productieprocessen de laatste jaren zo stroef loopt.

Onderzoekers van het Computer Science & AI-lab van MIT (CSAIL) werkten daarom drie aanbevelingen uit waarmee rekenkracht en efficiëntie nog omhoog kunnen, zonder dat daar meer geavanceerde hardware voor noodzakelijk is. Het zwaartepunt van die aanbevelingen ligt bij de manier waarop ontwikkelaars vandaag programmeren.

Efficiëntie boven snelheid

De eerste suggestie is om weg te gaan van productiviteit boven efficiëntie. Volgens de onderzoekers bouwen ontwikkelaars vandaag software met als drijvende kracht snelheid. De toepassing zelf moet niet zo efficiënt mogelijk zijn, aangezien de hardware toch krachtig genoeg is om eventuele inefficiënties te counteren. Het is belangrijker voor ontwikkelaars om binnen een onderneming software snel klaar te hebben.

De wetenschappers stippen daarbij reductie aan als een pijnpunt. Ze geven een voorbeeld: wanneer een ontwikkelaar een algoritme moet ontwikkelen dat ‘ja’ van ‘nee’ kan onderscheiden via spraak, is het eenvoudig om een bestaand spraakherkenningsalgoritme in te zetten dat veel meer woorden kan herkennen. Dat wordt vervolgens aangepast om enkel de gevraagde taak te verrichten.

In realiteit is het gebruikte algoritme veel groter en complexer dan nodig. Die tactiek, waarbij de code om probleem A op te lossen gebruikt wordt om probleem B aan te pakken, zorgt er al snel voor dat algoritmes die 100 keer minder efficiënt draaien. De onderzoekers geven toe dat het zo langer zal duren om software te bouwen, maar de software zelf zal wel veel sneller werken.

Alles parallel

Een tweede domein waar ze ruimte voor verbetering zien, is parallellisatie. De experts geven aan dat er nog teveel geprogrammeerd wordt volgens het oude principe waarbij een computer één instructie per keer uitvoert. Door parallelliteit meer te omarmen, zijn er enorme winsten mogelijk. Multicore-systemen zijn de norm en programmeurs moeten toepassingen schrijven om die realiteit beter te omarmen. Bovendien moet de software een stuk beter kunnen schalen, zodat alle beschikbare threads ook benut worden.

Software moet een stuk schaalbaarder zijn, zodat alle beschikbare threads benut worden.

Het komt er hier eigenlijk op neer dat de hardware misschien niet meer snel verbetert, maar dat we in veel gevallen nog bijlange niet optimaal gebruik maken van de rekenkracht die effectief ter beschikking is. Door meer in te zetten op parallel rekenwerk, worden bestaande chips beter benut.

Doelgericht accelereren

Tot slot lanceren de onderzoekers een pleidooi voor meer gespecialiseerde hardware. Het is volgens hen niet nodig om almaar grotere chips met meer transistors te bouwen. Het is veel efficiënter om hardware te bouwen op maat van specifieke domeinen. Daarmee komen we in het domein van de accelerators.

Denk bijvoorbeeld aan de training van een neuraal netwerk. Stel dat je vandaag een workload draait op een cpu. Morgen verschijnt er plots miraculeus een 5 nm-opvolger van die cpu met drie keer zoveel transistors en rekenkracht. Dan zal je die workload effectief voelbaar kunnen versnellen. De versnelling is echter verwaarloosbaar vergeleken met de meerwaarde die een gpu-accelerator biedt, gebouwd op bestaande technologie. Dat komt omdat de accelerator meer op maat is van dat specifiek type workload.

Die strategie werkt in principe voor alle workloads. Gaat het om populaire types van toepassingen, dan is de brede uitrol van gespecialiseerde hardware een optie. Voor meer niche-algoritmes bieden FPGA’s dan weer een oplossing. Deze chips zijn op hardwareniveau configureerbaar tot accelerator op maat.

Lees ook: Waarom de FPGA het datacenter verovert

Vandaag al relevant

Volgens CSAIL vallen de aanbevelingen niet in dovemansoren. Techreuzen zoals Google, Microsoft en Amazon houden er al rekening mee. Omdat zij op zo’n grote schaal functioneren, heeft een beperkte efficiëntiewinst in een algoritme al snel een voelbaar gevolg. Schaalbaarheid is voor hen al een tijdje de norm en ook de raad in verband met gespecialiseerde hardware nemen ze ter harte. Denk daarbij niet alleen aan instances met gpu’s of FPGA’s voor acceleratie, maar ook de eigen Nitro-chips van AWS die interne datacentertaken versnellen.

CSAIL verwacht dat er nieuwe softwaretools en programmeertalen zullen ontstaan om performantere toepassingen mogelijk te maken, naast nieuwe hardware. Het onderzoek toont aan dat er nog heel wat winst te boeken valt, zonder daarvoor exclusief op innovaties door pakweg Intel, AMD of TSMC te rekenen.