mivel a mikroprocesszorok egyre gyorsabbak, főleg a magok néhány havonta történő hozzáadása miatt, a memória késleltetési rése egyre szélesebb. A memória késleltetése 1980-ban kevés ciklus volt, és ma már közel 1000 ciklust ér el. Ha a mikroprocesszornak elegendő magja van, és remélhetőleg nem egyszerre küldenek kéréseket a fő memóriába, akkor a memória késleltetésének részleges összesített elrejtése lesz. Egyes magok végrehajthatók, míg mások memória válaszra várnak. Ez nem a legjobb helyzet a többmagos processzorok számára. A nagy teljesítményű számítástechnikai szakértők arra törekszenek, hogy az összes magot folyamatosan elfoglalják. Tehát, ha minden magot folyamatosan elfoglalnak, akkor a teljes mikroprocesszor teljes kihasználása lehetséges. A szoftver alapú szálak létrehozása egy nyilvánvaló okból nem oldja meg a problémát. Kontextus a szálak fő memóriára váltása sokkal drága művelet a memória késleltetéséhez képest. Például a cellás szélessávú Motor kontextusában a mag bármelyik szálának átkapcsolása a legjobb esetekben 2000 mikro másodpercet vesz igénybe. Egyes szoftver technikák, mint a kettős vagy több pufferelés megoldhatják a memória késleltetési problémáját. Használhatók azonban rendszeres algoritmusokban, ahol a program tudja, hol van a következő adatdarab, amelyet a memóriából kell letölteni; ebben az esetben kérést küld a memóriába, miközben a korábban kért adatokat feldolgozza. Ez a technika azonban nem fog működni, ha a program nem ismeri a következő adatdarabot, amelyet a memóriából kell letölteni. Más szavakkal, nem fog működni kombinatorikus algoritmusokban, mint például a fa átívelése vagy a véletlenszerű lista rangsorolása. Ezenkívül a multi-pufferelés feltételezi, hogy a memória késleltetése állandó, és statikusan elrejthető. A valóság azonban azt mutatja, hogy a memória késése alkalmazásról másikra változik. Ez a mikroprocesszor megosztott erőforrásainak teljes terhelésétől függ, például a memóriakérések sebességétől megosztott magok összekapcsolása.