Фон
Зовнішня пам'ять або модель DAM визначає вартість алгоритму за кількістю вводу-виводу, який він виконує (по суті, кількість пропущених кеш-пам'яток). Ці часи роботи, як правило, наводяться з точки зору , розміру пам'яті та , кількості слів, які можна передати в пам'ять за один раз. Іноді і використовуються для і відповідно. Б Л З Б М
Наприклад, для сортування необхідна вартість а для наївного матричного множення потрібна . Θ ( n 3 / B √
Ця модель використовується для аналізу «алгоритмів кеш-забудькуватий», які не мають знань або . Як правило, мета полягає в тому, щоб алгоритм, що не забув кеш, оптимально працював у моделі зовнішньої пам'яті; це не завжди можливо, як, наприклад, у проблемі перестановки (показано в Brodal, Faderberg 2003 ). Дивіться цю підписку Еріка Демена для подальшого пояснення алгоритмів, що не враховуються кеш-пам'ять, включаючи обговорення сортування та множення матриць.М
Ми можемо бачити, що зміна викликає логарифмічну прискорення для сортування та поліноміальну прискорення для матричного множення. (Цей результат походить з Hong, Kung 1981 і фактично передує як забутості кеша, так і формалізації моделі зовнішньої пам'яті).
Моє запитання таке:
Чи є випадок, коли прискорення експоненціальне в ? Час роботи було б на зразок . Мене особливо цікавить алгоритм або структура даних, що не підлягає кешу, що відповідає цьому опису, але буде задоволений керованим кешом алгоритмом / структурою даних або навіть найвідомішою нижньою межею.f ( N , B ) / 2 O ( M )
Як правило, у більшості моделей прийнято вважати, що розмір слова якщо - вхідний розмір і чітко . Тоді прискорення дає поліноміальний прискорення в . Це змушує мене вважати, що якщо проблема, яку я шукаю, існує, вона не є многочленною. (Інакше ми можемо змінити розмір кешу на постійну, щоб отримати постійне число вводу-виводу, що здається малоймовірним).N M > w 2 M N