Параллельная перефразировка. Что такое «перефразированный сегмент» в многоуровневой перефразировке? - PullRequest
0 голосов
/ 12 ноября 2018

В поисках алгоритма для реализации параллельных хеш-таблиц, которые не перефразируют всю таблицу каждый раз, когда необходимо изменить ее размер, я нашел следующую статью:

Алгоритмы одновременной перефразировки для каждого сегмента

Концепция «Многоуровневая перефразировка» привлекла мое внимание. В документе говорится:

2.3 Многоуровневая перефразировка

Недостатки рекурсивного хеширования могут быть устранены путем расширения ведра с более сложным контрольным полем, которое указывает количество сегменты перефразированы. Таким образом, любая операция доступа к «старому» сегменту может определить необходимость перефразировки и переместить данные непосредственно в все новые ведра доступны сразу, как показано на рисунке 3. Тем не менее, рекурсивная перефразировка может быть лучшим выбором при изменении размера это редкое событие, и нет места для дополнительного поля в Ковш.

Но я не понимаю. Что такое rehashed segments?

В статье позже говорится:

Для многоуровневой перефразировки эта проверка тривиальна с использованием информации о перефразированных сегментах, хранящихся в корзине, которая фактически является текущей емкость эффективна для данного ковша. Трудность здесь довольно в алгоритме обнаружения правильного корневого родителя в то время как другие потоки может перефразировать его одновременно (не обсуждается в статье).

Опять же, что такое rehashed segments?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...