January 2019

M T W T F S S
 123456
78 910111213
14 151617181920
21222324252627
28293031   

За стиль благодарить

Развернуть метки

No cut tags
Tuesday, September 4th, 2012 12:58 am
Я уже как-то задавал, но ответ мне тогда не пригодился.

Задача: есть файл (один около 10 Гб, или несколько по 2), его надо переместить на много (15-20) компов. Просто копирование по сети требует времени (и износа диска на сервере) в 15-20 раз больше. Если запускать процессы параллельно (на 2-4 машинах, больше не тянет), получается чуть побыстрее.

То есть, нужна прога (скорее клиент-серверное приложение), которая синхронно кидает пакет на все 20 машин, дожидается 20 сигналов о приеме, кидает следующий (как Ghostcast).

Кто пробовал - подходит ли в этом качестве KyloSTN?

Или подскажите другое работоспособное решение.

Да, прога нужна или под Win, или, если Линуксовая, с запуском с LiveCD.
Monday, September 3rd, 2012 10:02 pm (UTC)
Нет, именно что одновременное: команда tee свой ввод параллельно пишет на стандартный вывод и в файл. Так что, с точностью до буферизирования, выход будет одновременным, а чтение будет производить только первая команда cat file.
Tuesday, September 4th, 2012 12:24 am (UTC)
Проблема лишь в том, что каждый пакет с идентичным содержимым будет эн раз проталкиваться через интерфейс, что не даст никакого прироста скорости, а с учетом накладных расходов - будет и медленнее, чем полоса/N. Потому же не будет толку и от RDist.

Задача сводится к мультикасту.
Tuesday, September 4th, 2012 06:31 am (UTC)
употребление выражения "прирост" требует опорной точки. Прироста по отношению К ЧЕМУ?
Авторское требование -- экономия диска на сервере (серия пайпов этому удовлетворяет, т.к. читает один раз) и экономия времни. Так как не было сказано какого из трех (CPU time, активного времени админа, мирового времени до достижения желаемого состояния), каждый исходит из своего понимания вопроса. Мое понимание говорит, что самый критичный ресурс это время живого человека.
Далее, энкрипция в ssh потребляет 10% процессора и более при эффективной скорости прокачки 2.5 мб/сек. При десятке клиентов и гигабитной сети это будет дороже проталкивания через интерфейс.
Так что мультикаст -- это ТРЕТЬЯ вещь на которую надо смотреть.
Monday, September 3rd, 2012 10:31 pm (UTC)
На всякий случай распишу подробнее, вдруг пригодится. Вначале создаем именованные каналы по числу машин-приемников, затем запускаем копирование из каждого из этих каналов на соответствующую машину, в фоновом режиме. Поскольку на этот момент в каналы еще ничего не записано, все команды копирования засыпают в ожидании данных. Последняя команда пишет содержимое файла в каждый из именованных каналов, отчего сетевые линки просыпаются и передают информацию на машины-получатели, где она записывается в файл.