Ну я когда про это читал много лет назад о связи с кешами не задумывался. Кстати, и реализовывал неоднократно. А в данный момент мне показалось очень интересной именно эта оптимальность для иерархии кешей.
Там есть интересное ключевое слово cache oblivious algorithms.
Да, cache oblivious это интересно. Но на практике блочные подходы, все-таки, бывают эффективнее, поскольку они могут дать еще и параллелизм. По поводу параметров конкретной подсистемы памяти — на этот счет есть автоматические подходы на основе самонастройки. Это неплохо работает для выч. библиотек. Ваш пример, кстати говоря, показывает, насколько важно сегодня владеть фундаментальными алгоритмами для того, чтобы их использовать в новых контекстах, создавать гибридные варианты и проч. Если хочется увидеть применение менее популярных алгоритмических подходов — можно посмотреть в сторону массово-параллельных, распределенных систем.
В целом, очевидно, что изменения в аппаратной части, да и вообще в наших взглядах на вычисления, отражаются на алгоритмах. И все это является стимулом для придумывания новых алгоритмов. В этой связи мне удивительно слышать мнение, что все алгоритмы давно придумали, и все есть в готовых библиотеках. Даже если не брать мою узкую область интересов, только за последние месяцы в поле моего зрения появилось 3-4 новых алгоритма с заманчивыми характеристиками.