V čem to spočívá? Nepoužívat při zpracování dat metodu „zpracovat první požadavek, který přišel jako první“ a místo ní přidělovat úkoly mezi jádra náhodně.
Nový algoritmus MIT s označením SprayList umožňuje procesorům rozmělnit práci mezi jednotlivá jádra tak, aby každé jádro zpracovávalo přidělený kus práce. U procesorů s opravdu velkým množstvím jader - jakým je například nový Intel E5 2600v3 s 18 jádry - může SprayList vést k opravdu razantnímu nárůstu výkonu.
Problém je v tom, že práce, kterou má počítač odvést, musí být distribuována mezi všechna jádra stejně. S příchodem prvních dvou- a čtyřjádrových procesorů před více než deseti lety vědci přišli s technikou, podle které je úkol, který čeká v řadě, přidělen dalšímu jádru, které má kapacitu. Tato tradiční metoda funguje bez problémů u procesorů s až osmi jádry. Jakmile je však jader více, výkon klesá.
Stejně jako mnoho kuchařů v jedné malé kuchyni, i mnoho jader pracujících pomocí tradiční metody může zpomalovat výkon. Vědci s MIT proto přišli s novým algoritmem, který přiřazuje prioritu jednotlivým úkolům takovým způsobem, který bude efektivnější pro procesory s až 80 jádry.
Namísto toho, aby každému jádru byl přidělen další požadavek v řadě, je jádru přidělen náhodný požadavek, čímž se sníží pravděpodobnost toho, že dvě jádra začnou zpracovávat ten samý úkol, jako je tomu u tradiční metody.
Doposud teorie pracovala s tím, že náhodné přidělování úkolů je pomalejší, jelikož jednotlivá jádra ve svých cache nemohou uchovávat naplánovaný seznam úkolů, které bude třeba zpracovat a přidělování náhodného úkolu navíc trvá déle. Avšak s tím, jak se počet jader zvyšuje, nehrají již tyto nevýhody takovou roli a podle vědců z MIT je naopak výhodnější úkoly přidělovat náhodně.
Na studii pracovali dva absolventi MIT Justin Kopinsky a Jerry Li, jimž pomáhal profesor Nir Shavit a zaměstnanec Microsoft Research Dan Alistarh. Kompletní výsledky studie budou prezentovány příští měsíc v San Fancisku.