У нас есть некоторый диапазон чисел от 0 до N, надо написать две функции int alloc() и free(int). Первая выбирает один из свободных идентификаторов из диапазона [0, N), а вторая соответственно — «возвращает» его для повторного использования(полагаем, что число N достаточно мало, что бы идентификаторы могли закончится если их не возвращать, но больше чем число выделенных в каждый конкретный момент времени идентификаторов). При этом на «нижнем уровне» у нас есть только DHT. Нету блокировок, и, кроме того, от алгоритмов требуется отказоустойчивость — если какой-то из узлов кластера «сложится» во время выполнения алгоритма поведение системы должно быть предсказуемо. Если задача интересна, а также интересно узнать почему отказоустойчивый сервис с такой сигнатурой невозможно корректно использовать, и как надо исправить сигнатуру что бы это стало возможно — добро пожаловать под кат.
Рубрика «DHT» - 2
Failsafe resource allocator over DHT
2013-04-17 в 19:49, admin, рубрики: api, big data, concurrency, DHT, метки: concurrency, DHTРоссия — номер один в торрентах?
2012-09-19 в 9:57, admin, рубрики: bittorrent, DHT, Dura Lex, Peer-to-Peer, Медиа, статистика, метки: bittorrent, DHT, статистика Оценить распространенность пиратства в странах — задача нетривиальная и многие агентства представляют цифры, взятые с потолка. Но можно оценить распространенность конкретных технологий файлового обмена, используемых, преимущественно для пиратства.
Речь пойдет о DHT для BitTorrent'a.
Читать полностью »