информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяАтака на InternetГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Google заблокировала 2 с лишним... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / dnet
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[MD@Home] Ответ 21.06.03 19:45  Число просмотров: 1498
Автор: 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 минут не зависимо от "готовности" результатов.
<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 Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Так что размер кеша не должен превышать недельной нагрузки.
Я, собственно, так и хотел :)
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach