Господам погромистам и им сочуствующим.

Jul 05, 2014 09:54

Товарищи-господа! А встречали ли вы ранее подобный велосипед на каком-либо языке(не суть важно):

Описание объекта: точка синхронизации распределенных вычислений.

ПОведение объекта: Обеспечивает контроль совместного выполнения каких-либо процессов(not unix processes). В зависимости от настроек конкретной точки умеет а) дожидаться совместного достижения данной точки заданным количеством процессов ( один, как минимум n, все) б) сигнализировать состояние и статистику работы в) уметь постфактум агрегировать факт совместного достижения точки, если был задан режим не полной синхронности в п. а. г) уметь вложенность (т.е. выстраиваться в некий граф-дерево по мере работы)

Свойства объекта: уникальный идентификатор синхронизируемой точки, способ коммуникации с остальными точками с данным идентификатором, метод определения начала синхронизации по уникальному хешу(например, над входными данными), метод определения конца обработки по метке начала и еще одному хешу результативных данных.

Пример из-под бороды:

Параллельная обработка писем антивирусом:

После передачи письма нескольким узлам антивируса (N>1), общая система синхронизации отмечает начало работы над письмом по следующим признакам: в точку с ID "проверка письма на вирус" приходит входящее письмо с hash = X. Точка синхронизации работает в асинхронном режиме, т.е. передает управление дальше не ожидая остальных узлов. Совокупно точки определяют timestamp каждой точки, не превышает ли время получения в работу некий порог, все ли узлы получили сообщение.
Далее идет обработка сообщения, результатом которой является проверенное сообщение с, например, выставленными заголовками X-Clamav-check: ok. По факту конца работы точка проверяет сходимость результатов проверки, фиксирует были ли расхождения на каких-то узлах, агрегирует статистику по времени обработки и расхождению его на различных узлах.

Соответственно, внутри проверки могут быть аналогичные вложенные точки синхронизации, для детальной проверки, например точки "эвристический анализ", "проверка типичных заголовков письма", да хоть "чтение письма из сокета".

Наверняка уже навелосипедено?

Спасибо
Previous post Next post
Up