nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 19:47



Reply to topic  [ 19 posts ]  Go to page Previous  1, 2
распределенная вычислительная среда 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22413
Location: Silicon Valley
Reply with quote
Post 
Скоро год моей придумке - есть кому что сказать?
Переборных задач могу придумать массу - может у кого тоже что найдется поперебирать ;)

_________________
:dj: https://mastodon.social/@Shaos


26 Jan 2007 22:35
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22413
Location: Silicon Valley
Reply with quote
Shaos wrote:
давно размышляю на тему реализации распределенной вычислительной среды на основе клиент-серверной технологии - сервер обычный HTTP с поддержкой Perl/PHP/Python/Java, клиенты на Java (ну или EXE - если кто согласиться их юзать) - суть в том что юзер подключается к серверу и загружает Java-апплет, который позволяет ему делать что-то полезное и в то же время внутри этого апплета живет часть распределенной вычислительной системы которая что-то вычисляет (с веденья юзера естественно) и самостоятельно подгружает необходимую информацию и сгружает результаты вычислений - юзера к примеру можно заинтересовать тем, что если ему тоже нужно что-то вычислить и на это требуется много вычислительных ресурсов, то он может воспользоваться помощью этой системы


Сегодня перечитывал архив почтовой рассылки NedoPC за осень 2002 года - там тоже поднимался вопрос распределённых вычислений с задачами и каналами связи - всё это близко по смыслу и вполне реализуемо - надо только взяться ;)

P.S. Далее к идее могу добавить что серверов может быть несколько и они каким-то образом синхронизируют данные друг с другом ...

P.P.S. Кроме того к интерпретации байт-кода на узлах сети может быть добавлена компиляция в код конкретной платформы для ускорения вычислений...

_________________
:dj: https://mastodon.social/@Shaos


08 May 2007 17:55
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22413
Location: Silicon Valley
Reply with quote
Post 
Пока решил с самодельными байткодами не заморачиваться - распределять надо нативные вычисления, а не виртуальные! К тому же в связи с пополнением в парке своих PowerPC-машин стал конкретнее продумывать детали реализации. Итак, имеем сеть машин - своих и чужих (выделенных для вычислений с разрешения хозяев). На каждой машине имеется головная программа и набор приложений, желаемых быть запущенными - всё распостраняется в исходниках (возможен вариант с Java - для тех кто побаивается запускать у себя чужие бинарники или собирать незнакомые исходники). На свои машини всё кладётся через SFTP, а на чужие - руками хозяев. Алгоритм работы вычислительной сети:
1) Запускается головная программа, которой даётся имя задачи , которую хочется решать (ну или список задач);
2) Программа обращается к одному из HTTP-серверов, перечисленных в конфигурационном файле, передавая желаемое имя (имена) задачи, пожелания по трафику, идентификатор машины (сети машин);
3) В ответ головная программа получает часть задачи (выделяется из списка открытых подзадач в случайном порядке) - идентификатор выданной подзадачи, имя выбранной задачи, аргументы командной строки для задачи и (возможно) линк на дополнительные данные, необходимые для задачи (объем исходных и результирующих данных не должен превышать пожеланий по трафику, указанных при соединении);
4) Далее происходит вычисление, которое генерирует некий набор данных;
5) По окончании вычисления данные заворачиваются в ZIP для передачи обратно на сервер одним из следующих путей: HTTP POST, короткий HTTP запрос передающий на сервер URL архива на этой машине (в том случае если машина имеет на борту веб-сервер), электронная почта (посылка автоматически или вручную);
6) Только после успешного приёма результата работы сервер вычёркивает эту часть задачи из списка открытых подзадач (в результате возможны ситуации, когда разные машины берутся делать одну и туже подзадачу - но это будет редко, а иногда даже полезно - чтобы сравнить результаты - они должны быть идентичны);
7) Головная программа, передав результаты решения предыдущей задачи (не дожидаясь успешной отправки результатов), идёт за следующей (пункт 2) - и так пока программа не будет остановлена или в ответ не получит сообщение, что список открытых подзадач с желаемыми параметрами пуст.

_________________
:dj: https://mastodon.social/@Shaos


28 Apr 2008 04:26
Profile WWW
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Post 
Я в своё время принимал посильное участие в программах поиска внеземного разума (обработка данных полученных от радиотелескопов) и в поиске чисел Мерсенна. Скачивал и запускал на своей машине клиентскую программу, которая соединялась с центральным сервером, запрашивала исходные данные (заодно узнавала о необходимости обновить блок обработки данных), затем проводились вычисления (на них выделялось от суток до недели) и отправляла результат обратно. После чего все повторялось. Если в течение указанного контрольного срока центральный сервер не получал результата обработки, то задача выдавалась другому исполнителю. Стоит заметить, что для снижения вероятности ошибки при преме-передаче или в процессе обработки, все данные минимум дважды выдавались разным исполнителям, затем результат обработки сравнивался и при наличии расхождений задача снова ставилась в очередь ожидающих обработки. В разных программах клиентская часть обработчика реализована по разному. Кто-то работает только когда это разрешает пользователь, кто-то работает в фоновом режиме имитируя скрин-сейвер. Нагрузка на машину достаточно заметна в любом режиме.

_________________
Extreme Entertainment


28 Apr 2008 10:23
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 19 posts ]  Go to page Previous  1, 2

Who is online

Users browsing this forum: No registered users and 17 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.