> > После заполнения кэша (я эксперементирую с кэшем на 120 тыс четырех
> > килобайтных страниц) производительность падает до копеечных размеров.
>
>     Грязные страницы на диск идут в каком порядке ? Как попало ?

Угу.
- Беру последнюю страницу из очереди "грязных" страниц.
- Блокирую её от записи
- Пишу на диск
- Убираю из списка "грязных" страниц
- Начинаю с начала

Возможно упорядочивание как-то поможет. Это значит я должен
заблокировать группу страниц, упорядочить, выгрузить...

Но, кажется, проблема не в этом. Нужно компоновать данные так, что бы
заполненные блоки списков хеш-таблицы больше не модифировались.

Это увеличит время проверки - после заполнения кэша, возникнут
ситуации с загрузкой всех блоков какого-то списка.

Но модифицироваться будет только последний блок. Остальные потом
вытесняться из кэша без накладных расходов.

Внутри блоков поддерживать упорядоченность.

Длину списков можно регулировать увеливая HashTableSize.

Цена проверки гипотезы - пара часов, не больше :) (сказал русский
программист, гы)

Коваленко Дмитрий.

Ответить