Дослідниця з Google та фахівчиня з кібербезпеки LaurieWired представила проєкт TailSlayer, який спрямований на вирішення фундаментальної проблеми затримок пам’яті DRAM, відомої фахівцям ще з середини минулого століття. Вона стверджує, що змогла скоротити найгірші показники часу очікування доступу до даних на неймовірні 93 відсотки, хоча практична ціна такого покращення змушує серйозно задуматися про доцільність цього методу для широкого загалу. Сучасна оперативна пам’ять за своєю природою нагадує діряве відро, яке постійно потрібно наповнювати електричним зарядом для збереження записаної інформації через особливості конструкції конденсаторів.

Цей безперервний процес оновлення відбувається тисячі разів на секунду і стає причиною випадкових зупинок у роботі процесора, коли той намагається звернутися до осередку пам’яті саме в момент її примусової підзарядки. Хоча кожна така затримка триває лише мізерні частки мікросекунди, для сучасних швидкісних обчислювальних чипів це означає сотні або навіть тисячі втрачених циклів, протягом яких процесор просто простоює без діла. Більшість звичайних програм мають механізми для маскування таких пауз, проте існують специфічні завдання, де навіть мінімальна нестабільність часу відгуку призводить до критичних помилок або фінансових втрат.
Механізм роботи TailSlayer та результати тестування на серверному обладнанні
Замість того щоб намагатися передбачити ці неминучі паузи через складні алгоритми, розробниця вирішила використати грубу силу та архітектурну надлишковість сучасних багатоканальних серверних систем. Її метод полягає у повному дублюванні робочого набору даних у різних фізичних каналах пам’яті та одночасному запуску абсолютно однакових операцій на декількох ядрах процесора. Система просто приймає результат від того ядра, яке першим завершило операцію, ігноруючи інше ядро, якщо воно раптом натрапило на цикл оновлення пам’яті та тимчасово загальмувало.
Під час ретельного тестування на потужних серверах Amazon AWS з процесорами Intel Xeon поколінь Sapphire Rapids та Diamond Rapids вдалося досягти стабілізації затримок на рівні 113 наносекунд проти звичайних 1697 наносекунд. Такі результати виглядають надзвичайно вражаюче на папері, проте для досягнення подібної передбачуваності доводиться безглуздо жертвувати левовою часткою обчислювальної потужності та обсягу доступної пам’яті. Навіть на процесорах AMD EPYC з дванадцятьма каналами пам’яті метод продемонстрував зниження критичних затримок на 89 відсотків, що підтверджує працездатність ідеї на різному обладнанні незалежно від виробника.
Критичні недоліки та обмежена сфера застосування радикального методу
Головна проблема цього винахідливого підходу полягає у катастрофічному зниженні загальної ефективності системи, оскільки вона фактично перетворює дорогий багатоядерний сервер на малопродуктивну однопотокову машину. Користувачеві доведеться змиритися з тим, що обсяг доступної оперативної пам’яті зменшиться у стільки разів, скільки копій даних буде створено для забезпечення стабільного часу відгуку. Це робить технологію TailSlayer абсолютно марною для більшості повсякденних завдань, де критично важливою є загальна пропускна здатність та можливість одночасного виконання багатьох різних процесів.
Єдиною сферою, де подібні колосальні витрати ресурсів можуть бути економічно виправдані, залишається високочастотний трейдинг на фінансових ринках, де затримка в кілька наносекунд часто коштує мільйонів доларів втраченого прибутку. Складні алгоритми, що борються за право першими виконати угоду з акціями, потребують ідеальної стабільності часу відгуку, яку не здатна гарантувати жодна стандартна архітектура комп’ютера без подібних хитрощів. Для решти світу цей винахід залишиться цікавим, але доволі специфічним експериментом, який наочно демонструє межу можливостей сучасного заліза та відчайдушні спроби її подолати.


