Mikro závit (vícejádrový)

jak se mikroprocesory stávají rychlejšími, hlavně kvůli tomu, že se jádra přidávají každých několik měsíců, mezera latence paměti se zvětšuje. Latence paměti byla v roce 1980 několik cyklů a dnes dosahuje téměř 1000 cyklů. V případě, že mikro-procesor má dostatek jader a doufám, že nebude posílat žádosti do hlavní paměti současně, tam bude částečná agregátní skrývání latence paměti. Některé jádra mohou být spuštěny, zatímco jiné čekají na odpověď paměti. To není nejlepší situace pro vícejádrové procesory. Vysoce výkonní výpočetní odborníci se snaží udržet všechna jádra neustále zaneprázdněná. Pokud je tedy každé jádro neustále obsazeno, je možné úplné využití celého mikroprocesoru. Vytváření podprocesů založených na softwaru problém nevyřeší z jednoho zřejmého důvodu. Kontextové přepínání vláken do hlavní paměti je ve srovnání s latencí paměti mnohem nákladnější. Například v kontextu Cell Broadband Engine trvá přepínání kteréhokoli vlákna jádra v nejlepších případech 2000 mikro sekund. Některé softwarové techniky, jako je dvojité nebo vícenásobné ukládání do vyrovnávací paměti, mohou vyřešit problém s latencí paměti. Nicméně, oni mohou být použity v pravidelných algoritmy, kde program ví, kde je vedle bloku dat načíst z paměti; v tomto případě se odešle požadavek na paměť, zatímco je zpracování již dříve žádost údaje. Tato technika však nebude fungovat, pokud program nezná další datový blok, který se má načíst z paměti. Jinými slovy, nebude fungovat v kombinatorických algoritmech,jako je například stromové rozpětí nebo random list ranking. Kromě toho multi-buffering předpokládá, že latence paměti je konstantní a může být skryta staticky. Realita však ukazuje, že latence paměti se mění z aplikace na jinou. Záleží na celkovém zatížení sdílených zdrojů mikroprocesoru, jako je rychlost požadavků na paměť propojených jader.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

More: