Microdraad (multi-core))

aangezien microprocessors sneller worden, vooral omdat de kernen om de paar maanden worden toegevoegd, wordt de geheugen latency gap groter. Geheugen latency was enkele cycli in 1980 en het is het bereiken van tegenwoordig bijna 1000 cycli. Als de micro-processor genoeg kernen heeft en hopelijk niet tegelijkertijd verzoeken naar het hoofdgeheugen stuurt, zal er gedeeltelijk geaggregeerd verbergen van geheugen latentie zijn. Sommige kernen kunnen worden uitgevoerd terwijl anderen wachten op memory response. Dit is niet de beste situatie voor multi-core processors. High performance computing experts streven ernaar om alle cores bezig te houden de hele tijd. Dus, als elke kern de hele tijd bezig wordt gehouden, is een volledig gebruik van de hele micro-processor mogelijk. Het creëren van software gebaseerde threads zal het probleem niet oplossen om een voor de hand liggende reden. Context schakelen threads naar het hoofdgeheugen is veel dure operatie in vergelijking met geheugen latency. Bijvoorbeeld, in cel breedband Engine context schakelen een van de kern thread duurt 2000 micro-seconden in het beste geval. Sommige software technieken zoals dubbele of multi-buffering kunnen het geheugen latency probleem op te lossen. Echter, ze kunnen worden gebruikt in reguliere algoritmen, waar het programma weet waar is de volgende data stuk op te halen uit het geheugen; in dit geval stuurt verzoek naar het geheugen, terwijl het de verwerking van eerder verzoek gegevens. Echter, deze techniek zal niet werken als het programma niet weet dat de volgende data stuk op te halen uit het geheugen. Met andere woorden, het zal niet werken in combinatorische algoritmen, zoals boomspanning of willekeurige lijst ranking. Bovendien gaat multi-buffering ervan uit dat de geheugen latentie constant is en statisch kan worden verborgen. Echter, de realiteit toont aan dat geheugen latency verandert van toepassing naar een andere. Het hangt af van de totale belasting van de gedeelde bronnen van de microprocessor, zoals de snelheid van geheugenverzoeken gedeelde cores interconnecties.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

More: