PDA

Просмотр полной версии : как устроить распределенные вычисления на компьютерах без интернета?


chernikov
13.05.2006, 16:21
Возник такой вопрос...
Исходные предпосылки:
1. Есть 12 компьютеров без интернета, более того, они даже не объеденины в сеть между собой.
2. Большую часть времени они все-равно стоят просто включенными. Максимальная загрузка наступает при использовании MS Word.

Так вот я подумал, можно ли их как-нибудь приобщить к распределенным вычислениям? Способ переноса информции только compact flash...
Если можно, то как это сделать... Установить клиента в качестве процесса - не проблема... А как сделать так, чтобы клиенты с разных машин забирали разные данные для вычислений?

Rob
16.05.2006, 17:31
chernikov
Если нет сети, то придётся устанавливать клиент (корову :)) на каждую машину. Затем периодически подкидывать блоки для работы (фураж :)) - файлы buff-in.r72 и собирать отработанные блоки (надои :)) - файлы buff-out.r72 на какой-нибудь носитель: дискета, флэшка. Затем все эти файлы отправлять мылом или сливать посредством импорта в один: dnetc -import.

chernikov
17.05.2006, 14:39
я это понимаю...
2. есть я с флешкой и компьютеров в интернет. Как мне на флешку получить 12 файлов, так, чтобы в них содержалась разная информация? потому что если я получу это на 1 компе, то и файл там будет один... или я чего-то не понимаю?

Rob
17.05.2006, 15:14
Допустим ты принимаешь входные файлы по почте c fetch@distributed.net (смотри (http://imho.ws/showthread.php?p=252538&highlight=numblocks#post252538) как). Лучше принимать сразу 1000 (или 999) блоков.
Просто переименуй каждый из 12 принятых файлов buff-in.r72 в buff-in.r721, buff-in.r722, buff-in.r723 и т.д., и т.п. Запиши их на флэшку. После этого на каждом компьютере запусти dnetc -import <buff-in.r72?> (подставляя соответствующий buff-in). Этим самым произойдёт импортирование входных блоков из, например, buff-in.r721 во входной файл buff-in.r72 каждого компьютера.
После примерно дней 3-10, когда все 1000 блоков на каждом компьютере будут обработаны, ты можешь выбрать один из нескольких вариантов отсылки блоков.

Если отсылаешь по email, то запиши на флэшку все файлы buff-out.r72 каждый в свою папку, например, файл с первого компьютера в папку "1", и т.д., и т.п. Затем отсылай на flush@distributed.net 12 писем, прикрепляя к каждому свой buff-out.

Можешь также отсылать все блоки "главным" клиентом с компьютера, подключенного к Инету. Забирай на флэшку выходные файлы с каждого компьютера, опять же переименовывая их из buff-out.r72 в buff-out.r721, buff-out.r722, и т.д., и т.п.
Затем импортируй уже выходные блоки командой import на компьютере с Инетом: dnetc -import buff-out.r721, dnetc -import buff-out.r722, и т.д., и т.п. Этим самым произойдёт импортирование вЫходных блоков из всех buff-out файлов в единый вЫходной файл buff-out.r72 компьютера, подключенного к Инету. После этого на нём командой flush отсылаешь все обработанные блоки, ранее слитые в один файл: dnetc -flush.