Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | | | |
[MD@Home] Step 2 :) 25.06.03 08:32 Число просмотров: 1556
Автор: hazkep Статус: Незарегистрированный пользователь
|
> Это конечно хорошо, но есть два вопроса: > 1) Как это сделать из скрипта PHP? Скорее всего никак. :) Это я на будущее, ведь вы собираетесь в будущем отказаться от части на php и переписать всё на С?
> 2) Даже если есть активное сетевое подключение, то это не > значит что есть связь с сервером MD@home... Поэтому запрос > к серверу с конкретным заранее известным ответом я не > считаю неправильным способом проверки связи.... Но готов > как всегда обсудить конкретные встречные предложения. Есть предложение сделать так же, как в клиенте distributed.net. Насколько я помню, там можно было выбирать постоянное на компьютере подключение или нет. Если постоянное, то и проверять ничего не надо - пускай клиент сразу отсылает, а если dial-up - то, к примеру, пускай пользователь укажет имя соединения при установлении которого сервер будет доступен. Или сделать опцию, что-то вроде: "Означает ли наличие активного сетевого подключения наличие доступа к серверу".
> Нет не правы. Ok, тогда я буду экспериментировать. :)
> > "неустранимая ошибка в wu". > А вот здесь по-подробнее... Я хотел бы видеть кусок ЛОГ-а > где это "сказано". А ещё лучше запустите Send_Report.bat > (если у вас новая бета-версия. С версией 1.17 build 3b это > бесполезно) и нажмите Y+ENTER. Это произошло как раз на 1.17 build 3b. + ко всему я сразу удалил клиента, чтобы не мешался.
> Всегда рад помочь! Даже если нога перестанет болеть не > стесняйтесь обращаться... И вообще - выздоравливайте > скорее!!! Хорошо, спасибо!
|
<dnet>
|
[MD@Home] Вопрос к Konstantin-у 21.06.03 18:52
Автор: hazkep Статус: Незарегистрированный пользователь
|
Расскажите про поведение клиента при работе с Интеренетом. Интересует алгоритм автоматической отправки готовых заданий и получение новых при нестабильном подключений. Т.е. как часто клиент пытается связаться с сервером? Что он делает, когда связи нет и заданий нет? А что будет если клиент простоял несколько дней без заданий, а потом компьютер вышел в инет? Короче, много вопросов. :) Это я всё спрашиваю для организации скрытой работы клиентов, просто клиенты будут ставиться людям, которым не очень то хочеться что-то ещё запускать (я имею ввиду update_cache.bat).
|
|
[MD@Home] Бета версия клиентской программы. 22.06.03 13:10
Автор: Konstantin <Konstantin Leontiev> Статус: Member Отредактировано 22.06.03 14:36 Количество правок: 1
|
Итак, вторая бета версия клиентской программы 1.17 build 4a. С поддержкой авторизации на прокси серверах.
http://dc.md-at-home.ru/downloads/mdathome-client1.17build3b-Win32-BETA2.exe
1) Исправлена ошибка: проверка связи с сервером если нечего ещё отсылать
2) Улучшены процедуры автоматической проверки и исправления КЕШ-а
3) Исправлена ошибка с разрастанием wu.log в фермах.
4) Сделана процедура повторной попытки отправить результат в КЕШ фермы если он недоступен раз в 1 минуту.
5) Все пути в клиентской программе проверены и настроены на новый сайт (в том числе и в SendReport.bat)
6) Слан вывод лог сообщений при запуске update_cache.bat на экран.
7) В скрипте send_report.bat сделан запрос подтверждения отправки отчёта
8) В дистрибутив добавлена утилита poststop.exe останавливающая выполнение MoDyp.exe запущенного как приложение.
9) Сделана возможность инсталяции сервиса с явным указанием логина и пароля пользователя.
10) Увеличин таймаут ожидания завершения счёта.
11) Сделана авторизация на прокси-серверах (ещё не оттестирована).
Beta2
|
| |
[MD@Home] Посмотрел. 24.06.03 15:57
Автор: hazkep Статус: Незарегистрированный пользователь
|
Понравилась новая иконка, а также то, что показывается процесс обновления кеша при запуске "update_cache.bat". Есть у меня предложение по организации связи клиента с сервером. Почему бы не сделать постоянный мониторинг соединения с интернет? (такой принцип у клиента distributed.net). Т.е. как только соединения появилось, сразу ломимся. (если надо, конечно). :)
|
| | |
[MD@Home] Посмотрел. 24.06.03 16:58
Автор: Konstantin <Konstantin Leontiev> Статус: Member
|
> Понравилась новая иконка, а также то, что показывается > процесс обновления кеша при запуске "update_cache.bat". > Есть у меня предложение по организации связи клиента с > сервером. Почему бы не сделать постоянный мониторинг > соединения с интернет? (такой принцип у клиента > distributed.net). Т.е. как только соединения появилось, > сразу ломимся. (если надо, конечно). :)
Так и есть.... Клиент сейчас раз в 20 минут проверяет наличие доступа в Интернет если у него есть чего отправитть или он может в КЕШ чего-то принять... Если чаще, то слишком большой трафик...
|
| | | |
[MD@Home] Далее 24.06.03 19:05
Автор: hazkep Статус: Незарегистрированный пользователь
|
> Так и есть.... Клиент сейчас раз в 20 минут проверяет > наличие доступа в Интернет если у него есть чего отправитть > или он может в КЕШ чего-то принять... Если чаще, то слишком > большой трафик... Откуда трафик? Проверять соединения с интернетом надо на уровне OS, а не попыткой пропинговать сайт. :) Вот ещё: после некоторых экспериментов я понял, что скаченные WU как-то привязываются к конфигу или к чему-то ещё. Я прав? Если прав, то расскажите к чему? В общем, я скачал задания с сервера и отнёс на другой компьютер без инета(но не так, как указано в FAQ на сайте, а просто скопировал кеш) и клиент не стал считать этот кеш, выдав мне сообщение вроде "неустранимая ошибка в wu". Просто напросто, я имею возможность поставить клиента на большое кол-во клиентов без инета и без локальной сети. Я хочу написать программу, которая будет автоматически распределять задания между участниками моей вычислительной "сети" путём раздачи их из единого кеша, который я скачал к себе на локальную машину. Вопрос: Если у всех клиентов будет одинаковый конфиг будет нормлаьно считаться?
P.S. Спрашиваю потому что болит нога и не могу дойти проверить.
|
| | | | |
[MD@Home] Next 25.06.03 00:31
Автор: Konstantin <Konstantin Leontiev> Статус: Member
|
> Откуда трафик? Проверять соединения с интернетом надо на > уровне OS, а не попыткой пропинговать сайт. :) Это конечно хорошо, но есть два вопроса:
1) Как это сделать из скрипта PHP?
2) Даже если есть активное сетевое подключение, то это не значит что есть связь с сервером MD@home... Поэтому запрос к серверу с конкретным заранее известным ответом я не считаю неправильным способом проверки связи.... Но готов как всегда обсудить конкретные встречные предложения.
>Вот ещё:
> после некоторых экспериментов я понял, что скаченные WU > как-то привязываются к конфигу или к чему-то ещё. Я прав?
Нет не правы.
> Если прав, то расскажите к чему? В общем, я скачал задания > с сервера и отнёс на другой компьютер без инета(но не так, > как указано в FAQ на сайте, а просто скопировал кеш) и > клиент не стал считать этот кеш, выдав мне сообщение вроде > "неустранимая ошибка в wu".
А вот здесь по-подробнее... Я хотел бы видеть кусок ЛОГ-а где это "сказано". А ещё лучше запустите Send_Report.bat (если у вас новая бета-версия. С версией 1.17 build 3b это бесполезно) и нажмите Y+ENTER.
>Просто напросто, я имею
> возможность поставить клиента на большое кол-во клиентов > без инета и без локальной сети. Я хочу написать программу, > которая будет автоматически распределять задания между > участниками моей вычислительной "сети" путём раздачи их из > единого кеша, который я скачал к себе на локальную машину. > Вопрос: Если у всех клиентов будет одинаковый конфиг будет > нормлаьно считаться? > P.S. Спрашиваю потому что болит нога и не могу дойти > проверить.
Всегда рад помочь! Даже если нога перестанет болеть не стесняйтесь обращаться... И вообще - выздоравливайте скорее!!!
|
| | | | | |
[MD@Home] Step 2 :) 25.06.03 08:32
Автор: hazkep Статус: Незарегистрированный пользователь
|
> Это конечно хорошо, но есть два вопроса: > 1) Как это сделать из скрипта PHP? Скорее всего никак. :) Это я на будущее, ведь вы собираетесь в будущем отказаться от части на php и переписать всё на С?
> 2) Даже если есть активное сетевое подключение, то это не > значит что есть связь с сервером MD@home... Поэтому запрос > к серверу с конкретным заранее известным ответом я не > считаю неправильным способом проверки связи.... Но готов > как всегда обсудить конкретные встречные предложения. Есть предложение сделать так же, как в клиенте distributed.net. Насколько я помню, там можно было выбирать постоянное на компьютере подключение или нет. Если постоянное, то и проверять ничего не надо - пускай клиент сразу отсылает, а если dial-up - то, к примеру, пускай пользователь укажет имя соединения при установлении которого сервер будет доступен. Или сделать опцию, что-то вроде: "Означает ли наличие активного сетевого подключения наличие доступа к серверу".
> Нет не правы. Ok, тогда я буду экспериментировать. :)
> > "неустранимая ошибка в wu". > А вот здесь по-подробнее... Я хотел бы видеть кусок ЛОГ-а > где это "сказано". А ещё лучше запустите Send_Report.bat > (если у вас новая бета-версия. С версией 1.17 build 3b это > бесполезно) и нажмите Y+ENTER. Это произошло как раз на 1.17 build 3b. + ко всему я сразу удалил клиента, чтобы не мешался.
> Всегда рад помочь! Даже если нога перестанет болеть не > стесняйтесь обращаться... И вообще - выздоравливайте > скорее!!! Хорошо, спасибо!
|
| |
[MD@Home] Так всегда :) 22.06.03 17:43
Автор: hazkep Статус: Незарегистрированный пользователь
|
> Итак, вторая бета версия клиентской программы 1.17 build > 4a. С поддержкой авторизации на прокси серверах. Только дополз до друга, поставил ему понимаешь на две круглосуточные машины клиента, как тут же вышла новая версия. :)
|
|
[MD@Home] Ответ 21.06.03 19:45
Автор: Konstantin <Konstantin Leontiev> Статус: Member Отредактировано 21.06.03 20:01 Количество правок: 1
|
Раскажу кратко (подробнее лучше пообщаться с товарищами по команде или с конкурентами, а ещё лучше полистать исходники на PHP).
1) По умолчанию при запуске клиент создаёт локальный кеш и тутже пытается его заполнить если cache_type=0.
2) Примерно каждые 20 минут клиент проверяет состояние КЕШ-а если параметр cache_type=0.
3) При проверке кеша учитывается число "незянятых" элементов КЕШ-а и число завершённых WU.
4) Если число завершённых WU больше или равно параметра cache_buffer то происходить проверка связи с центральным сервером и отправка результатов если связь есть.
5) Если число "незанятых" элементов КЕШ-а больше чем cache_buffer, то производится проверка связи с сервером и попытка заполнить эти элементы новыми заданиями.
6) При обработке каждого из элементов КЕШ-а клиент пытается обнаружить ошибки в состоянии элементов кеша и при обнаружении исправить их по возможности.
Пункты 2-6 включены в бесконечный цикл, который выполняется отдельным потоком от вычислительного потока и потока главного окна.
Всё это работает так как описано в версии 1.17 build 4a в младших версиях есть ошибки и неточности. В частности в текущей опубликованой версии 1.17 build 3b проверка связи производится каждые 20 минут не зависимо от "готовности" результатов.
|
| |
[MD@Home] Спасибо. 21.06.03 21:37
Автор: hazkep Статус: Незарегистрированный пользователь
|
Спасибо за информацию! Значит надежда на автоотправку результатов есть. :)
|
| | |
[MD@Home] Но... грабли все же есть :( 22.06.03 00:52
Автор: Test Статус: Незарегистрированный пользователь
|
> Спасибо за информацию! Значит надежда на автоотправку > результатов есть. :) Но слабая.
У клиента до 17.3в включительно есть бяка: ежели клиент вычисления
закончил а новый ВУ не начал (кеш пуст или ошибка прежнего ВУ),
то без ручного перезапуска он считать не начнет, даже если в кеше
появятся новые ВУ.
Автоперезапуск при перезагрузке компа может сработать, а может и нет.
Так что следить все равно надо. Тем более что иногда и РНР подвисает,
процессор загружен 100%, а счета нет...
Тестер
|
| | | |
[MD@Home] Но... грабли все же есть :( 22.06.03 08:46
Автор: hazkep Статус: Незарегистрированный пользователь
|
> Но слабая. > У клиента до 17.3в включительно есть бяка: ежели клиент > вычисления > закончил а новый ВУ не начал (кеш пуст или ошибка прежнего > ВУ), > то без ручного перезапуска он считать не начнет, даже если > в кеше > появятся новые ВУ. > Автоперезапуск при перезагрузке компа может сработать, а > может и нет. > Так что следить все равно надо. Тем более что иногда и РНР > подвисает, > процессор загружен 100%, а счета нет... Ну вот... :( Значит будем делать кеш с запасом.
|
| | | | |
[MD@Home] Вы ещё с Deviator-ом посоветуйтесь - он большой спец! 22.06.03 13:14
Автор: Konstantin <Konstantin Leontiev> Статус: Member
|
|
| | | | | |
[MD@Home] Проблема существует + 23.06.03 12:26
Автор: Deviator <n/a> Статус: Member Отредактировано 23.06.03 15:32 Количество правок: 1
|
Какой спец - время покажет :)
Что касается:
> У клиента до 17.3в включительно есть бяка: ежели клиент вычисления > закончил а новый ВУ не начал (кеш пуст или ошибка прежнего ВУ), > то без ручного перезапуска он считать не начнет, даже если в кеше > появятся новые ВУ. > Автоперезапуск при перезагрузке компа может сработать, а может и нет.
да такой эффект есть. Пока не понял - с чем конкретно связано, но даже штатно остановленный сервис, после рестарта машины, как правило не стартует. Причём иногда всё же "пробивает" и тогда работает нормально и при последующих рестрартах системы стартует. Искал у себя - думал конфликт с каким-нить пунктом политик безопасности, но вот не только у меня проявляется. В логах абсолютно ничего интересного.
Подвисаний PHP в последней версии (1.17.3b) я не видел - раньше были.
У себя я разделил рачёт и отправку по разным машинам (как раз в этой версии). На firewall'е лежит кэш и файлы учавствующие в приёмке / отправке WU. Клиента, как такового нет. Скрипт запускается по расписанию через шедулер примитивным батником. Кэш расшарен (невидимка) и на него сделаны права "на редактирование" для стандартной группы - "Domain Computers" и полные права доменным админам и локальной системе на уровне NTFS, остальные права убраны. Права шаринга - "редактирование" доменным машинам и фул доменным админам (для работы клиента второе не нужно).
Персоналки работают с сетевым кэшем от имени системы. Кстати, оч. рекомендую ограничевать права доступа на дир. установки клиента на персоналках. Достаточно сделать доступ "на изменение" админам и локальной системе, если раскидывать клиента через GPO, то понадобится доступ доменным комп. к дир. размещения подготовленного клиента. Для тех, кто впервые решит воспользоваться GPO - положите в папку, откуда персоналки будут брать клиента ещё один файлик с именем типа: "1.17.3b.ver" - при апгрэйде клиента не пожалеете и выкиньте из разбрасываемого дистрибутива все файлы не используемые сервисом. Разбрасывать можно с помощью "xcopy" или любого копировщика, поддерживающего (ключами ком. строки) копирование вложенных дир. и прав доступа.
У меня, в основном, работает штатно. ОСь везде W2k SP3. Начал тестировать новую бету (вчера не качалась), 4 часа - полёт нормальный. Но авторизацию на проксях я не поверю - мне такой вариант не годится.
|
| | | | | | |
[MD@Home] Проблема существует + 24.06.03 03:09
Автор: Test Статус: Незарегистрированный пользователь
|
> да такой эффект есть. Пока не понял - с чем конкретно > связано, но даже штатно остановленный сервис, после > рестарта машины, как правило не стартует. Причём иногда всё > же "пробивает" и тогда работает нормально и при последующих > рестрартах системы стартует. Искал у себя - думал конфликт > с каким-нить пунктом политик безопасности, но вот не только > у меня проявляется. В логах абсолютно ничего интересного. ИМХО это связано с последовательностью шутдауна, точнее
таймаутах при остановке Виндов.
МоДипу требуется несколько секунд для нормальной остановки.
А вот Винды могут остановить необходимые ресурсы раньше,
чем Модип закончит с ними работу (ну скажем сеть выключится
раньше, чем Модип начнет писать завершение в логи).
И тогда Модипу придется завершаться некорректно...
Какие именно ресурсы виснут, мне не ясно. Но дело думаю именно в этом...
Тестер
|
| | | | |
[MD@Home] Не так! 22.06.03 11:38
Автор: Test Статус: Незарегистрированный пользователь
|
> > то без ручного перезапуска он считать не начнет, даже > > Так что следить все равно надо. Тем более что иногда и > > процессор загружен 100%, а счета нет... > Ну вот... :( Значит будем делать кеш с запасом. Низ-зяЯ!!! Большой кеш приводит к большим задержкам, ВУ лежащие в нем
могут быть уже выданы повторно другим. Хоть на набор очков это не повлияет,
но в целом снижает общую производительность.
Так что размер кеша не должен превышать недельной нагрузки.
На моем старом компе 1 ВУ считается примерно 1 день (20-28часов
вместе с аппроксимацией), так что лично я снизил размер кеша с 10 до 7.
Тестер
|
| | | | | |
[MD@Home] Да,... :) 22.06.03 12:07
Автор: hazkep Статус: Незарегистрированный пользователь
|
> Так что размер кеша не должен превышать недельной нагрузки. Я, собственно, так и хотел :)
|
|
|