• Авторизация


сокеты 28-08-2007 18:30 к комментариям - к полной версии - понравилось!


В колонках играет - astral projection - "zero"
Настроение сейчас - уставше - удовлетворенное

Очень доволен, что завершил начатое дело и получил экспериментальные данные. Сделал короче "пожарную" версию распределенной системы. Вполне реально распределенно считает :). Сляпал на Delph'ях. В будущем... ближайшем будущем буду делать на C++ (MSVS C++). Самый гемор был у меня с этими сокетами в плане обработки нескольких одновременных подключений на сервере, несколько Thread'ов, которые работают на TCP/IP сервере (серверном приложении) для обработки результатов расчетов. компоненты TTcpServer выкинуть нах!!! TTcpClient еще пусть живет - там не критично. А вот для многопоточного (multithread) сервера надо юзать TServerSocket - какой дурка его убрал с панели компонент??? В мануалах черным по белому написано про то, что он работает с multiple connections и может обрабатывать несколько соединений одновременно.
Жутко уставший, только в сумме за 2 суток спавший 8 часов, с красными глазами, я был вечером очень доволен! И результаты порадовали! Напрмер, на серверной машине (обычная рабочая станция Athlon XP 2400+ 2ГГц с 512 оперативы) работает с задачей 57.484 сек. В локалке было помимо сервера еще 4 машины похожей конфигурации - задача распределилась по ним. Вот такое время каждая из них считала свою порцию задачи: 12.453 sec, 10.453 sec, 14.704 sec, 11.391 sec. В среднем 12.25 sec. По серверным логам с момента посылки задач каждой машине (всем разослано в течение одной секунды) до последнего приема последнего пакета данных - 25 секунд!!! Т.е. если учесть, что одна из частей задачи управилась за 10+ сек , то 15 сек - это трафик на передачу результатов расчета. Да, сервер принял 40 960 000 байт! :). Так и должно было быть. А размер задания для каждого - всего 80 байт :). Вообще эи данные можно ужать в 8 раз, но это дополнительное время.
Благодаря отдельным тредам на сервере, закачка шла параллельно, без ожидания другими узлами своей очереди. По логам видно "соперничество" - то пакет с одного IP, то с другого :).
В принципе, нет ограничений на использование машин не только в локальной сети, а также и через интернет. Только нужно открыть определенный порт. Ну, и эта наскоро сляпаная система не работает с проксёй - отлично подойдет обычный домашний комп.
А вообще, я жутко доволен. =)))
Завтра вечером укатываю на конференцию в Политехник (гы) :). Долго там не буду зависать. Будет автобус каждый день. Хочу наконец-то искупаться хоть раз за это лето и ужасно хочется банкета!!! :)
Все, спать!!! :) И вообще, я тут вам свежайшие результаты научных исследований распространяю =)))
вверх^ к полной версии понравилось! в evernote
Комментарии (9):
tvictor 29-08-2007-00:43 удалить
привет! молодец, науку шевелишь;) 15 сек на 41 метр чего-то долго. хотя если у тебя 4 клиента на 1 порт данные шлют... хз, на 100Мб сетке скорость передачи 10метроф/с примерно (идеал - 12.5). Так что даже основная задержка у тебя не в расчёте, а в транспорте=). Будешь писать нормальную версию - будет Ыщо быстрее работать, ИМХО.
Vam_Pir 29-08-2007-02:26 удалить
Для распределенных вычислений однозначно рулит Эрланг. Настолько простой механизм создания и синхронизации тредов, аж диву даешься! А чего стоит возможность посчитать на обычном Цел 3,1Гц с гигом мозгов факториал 50000, а потом 5 минут с глупой улыбкой пялиться как бегут циферки ответа по экрану. ;)
Dimonius91929631 29-08-2007-03:19 удалить
tvictor, да, вот я тоже по скоростям подумал :) а про более "нормальную" версию - это скоро буду делать.
Dimonius91929631 29-08-2007-03:28 удалить
Vam_Pir, существуют еще спец. инфраструктуры и интерфейсы для распределенных вычислений. хотя они различны. параллельные уже давно используются и немало всяких интерфейсов для работы с ними, тот же MPI. а вот в концепции grid до сих пор нет единого стандарта. BOINC - вроде неплохой инструмент для разнородных расчетов (в т.ч. и на различных платформах). вообще, потребность создавать приложения и реализовывать в них расчетные алгоритмы не отпадает и не отпадет, несмотря на то, что вроде бы существует масса математических пакетов, типа таких монстров, как MathLab. "Видимо", в некоей общности их подхода есть свои минусы :).
Dimonius91929631 29-08-2007-03:32 удалить
да, кстати, еще буду клиентскую часть под Linux ваять. серверную под Линух может и не осилю, да и зачем она нужна. А вот в клиенте не так много гемора. Да и задействовать еще другие платформы тож надо :)
tvictor 29-08-2007-03:53 удалить
под линух на чём ваять будешь? на яве? или таки на си?
Vam_Pir 29-08-2007-04:04 удалить
Исходное сообщение Dimonius91929631 Vam_Pir, существуют еще спец. инфраструктуры и интерфейсы для распределенных вычислений. хотя они различны. параллельные уже давно используются и немало всяких интерфейсов для работы с ними, тот же MPI. а вот в концепции grid до сих пор нет единого стандарта. BOINC - вроде неплохой инструмент для разнородных расчетов (в т.ч. и на различных платформах). вообще, потребность создавать приложения и реализовывать в них расчетные алгоритмы не отпадает и не отпадет, несмотря на то, что вроде бы существует масса математических пакетов, типа таких монстров, как MathLab. "Видимо", в некоей общности их подхода есть свои минусы :).
Фича Эрланга - он изначально спроектирован для распределенной работы, полностью кросплатформенный, заточен на надежность, позволяет производить "горячую" замену работающего кода. Язык спроектирован компанией Эриксон для телекоммуникационных систем - т.е. работает годами без перезагрузок. Еще личные впечатления - пишется очень легко, код получается весьма короткий, достаточно сложно ошибиться. Основные преимущества, на мой взгяд - легкий в восприятии, лаконичный (код получается куда короче чем на С++), есть абсолютно свободная версия. Вобщем, после того как сам попробовал, настоятельно рекомендую - экономит время и нервы.
не осилила..т.к. ничего не понимаю :)


Комментарии (9): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник сокеты | Dimonius91929631 - в тихом омуте | Лента друзей Dimonius91929631 / Полная версия Добавить в друзья Страницы: раньше»