Door Wouter Tinus

Intel Foster sneak preview

Simultaneous Multithreading

Over Jackson Technology zijn weinig gegevens bekend en uit het mysterieuze regeltje onder de naam wordt ook niemand veel wijzer. Er is uiteraard wel speculatie over, zo beweerde men bijvoorbeeld dat Foster uit meerdere processorcores op één chip zou bestaan. Gelukkig is er ook een meer realistische verklaring voor te bedenken, in de vorm van SMT. SMT staat voor Simultaneous Multithreading en is een technologie die ervoor moet zorgen dat de execution units van de processor op alle momenten optimaal gebruikt worden. Om te begrijpen wat SMT precies is zullen we hieronder met een aantal kleine stappen ernaartoe werken. We beginnen met een schematische voorstelling van een normale processor:

Foster - SMT uitleg - normaal

De kleine vierkantjes stellen execution units voor, de onderdelen van de processor die het rauwe rekenwerk doen. Deze denkbeeldige processor heeft er vier. De tijd in kloktikken loopt van links naar rechts, om een 1GHz chip een seconde te volgen zou het plaatje ongeveer 60 miljoen keer zo groot moeten zijn, maar we beperken ons voor het gemak even tot 17Hz . Als een execution unit op een bepaald moment wordt gebruikt is het vakje gekleurd. De verschillende kleuren stellen programma's voor, met als speciale speler het - met grijs aangegeven - operating system.

De processor is zoals je ziet in staat om meerdere instructies tegelijk uit te voeren, maar je kunt ook zien dat een programma lang niet altijd optimaal gebruik maakt van de mogelijkheden van de processor. Het besturingssysteem heeft in deze situatie de taak om tussen twee threads te wisselen. Een thread kan een programma zijn, maar een programma kan ook uit meerdere threads bestaan. Zoals je ziet wordt er eigenlijk helemaal niet aan multitasking gedaan; de processor kan maar met één programma tegelijk bezig zijn en het besturingssysteem is nodig om een andere illusie te wekken.

Foster - SMT uitleg - CMG

De bovenstaande tekening ziet er al beter uit, methode die hier wordt gebruikt heet Coarse-Grained Multithreading. Een processor die op deze manier werkt heeft altijd meerdere threads in de hardware ingeladen. Mocht de actieve thread dan bijvoorbeeld gegevens uit het systeemgeheugen nodig hebben - iets wat relatief gezien een eeuwigheid duurt - wordt tijdens het wachten aan een andere thread gewerkt. Er hoeft hiervoor geen operating system meer aan te pas te komen, waardoor het snel en efficiënt gebeurt.

Foster - SMT uitleg - FGM

Bovenstaande afbeelding heeft iets weg van de vorige, maar toch is deze methode, Fine-Grained Multithreading, iets geavanceerder. Er wordt elke kloktik van thread gewisseld, waardoor de processor een stuk makkelijker te ontwerpen is dan de vorige, waarbij in principe onbekend is wanneer van thread gewisseld moet worden. Er zijn dan ook alleen geruchten over een processor die CGM gebruikt, terwijl dit FGM al in de praktijk is toegepast. Het grote nadeel van FGM komt echter naar voren als je met één enkele thread werkt. Deze zou in dit geval maar een kwart van de processortijd kunnen gebruiken.

Foster - SMT uitleg - SMT

Hier hebben we de ultieme vorm van thread-level parallellisme te pakken, SMT. Je zou het kunnen omschrijven als een trein; kleine groepjes mensen en eenzame reizigers staan op een trein te wachten die op vaste tijdstippen langskomt. Zodra de trein er is en de deuren open gaan zoekt iedereen een plekje dat nog niet bezet is, tot niemand meer wil instappen of de trein vol is. De beschikbare bronnen van de processor worden op deze manier optimaal gebruikt, hoewel het natuurlijk afhankelijk is van de hoeveelheid threads die een processor tegelijk ingeladen kan hebben, hoeveel instructies deze nodig hebben en de verdeling van die instructies. Ondanks deze beperkingen is het verschil met het eerste plaatje enorm.

SMT heeft geen effect op de performance van programma's die uit één thread bestaan of als de threads van een programma resultaten van elkaar nodig hebben. Omdat dit wel dingen zijn waarmee rekening gehouden moet worden bij het ontwerp van de software zal SMT in het begin niet opvallend aanwezig zijn, maar Intel heeft aangegeven dat er in 2002 zo'n twintig programma's moeten zijn die volledig gebruik maken van Jackson Technology. De huidige software zal waarschijnlijk niet merkbaar beter gaan draaien op Foster, hoewel tijdens zwaar multitasken de snelheid een stuk minder zou moeten afzakken. We weten echter nog niet of Jackson Technology ook door het besturingssysteem moet worden ondersteund.


Nintendo Switch (OLED model) Apple iPhone SE (2022) LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S22 Garmin fēnix 7 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 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee