Questions and Answers :
Unix/Linux :
Вопрос по FreeBSD
Message board moderation
Author | Message |
---|---|
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
Возможно-ли добавить в задачу Ваших расчетов платформы FreeBSD 10.3|11.0 i386|amd64 ? |
Send message Joined: 15 May 17 Posts: 88 Credit: 1,971,970 RAC: 13 |
Попробую. Я наконец закончил работу над odlksym, теперь попробую собрать приложения для различных платформ. |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
Отлично! Будем ждать... |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
Удалось чего-то сделать? |
Send message Joined: 15 May 17 Posts: 88 Credit: 1,971,970 RAC: 13 |
Собрать приложение под FreeBSD оказалось не так просто, как я вначале думал. Мне пока удалось собрать для x86_64-pc-freebsd, если будет работать, могу собрать и для 32-битной если необходимо. |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
Спасибо! Вроде заработало! Задания приходят, считаются. Что там именно насчиталось (правильно/не правильно), видимо должно быть видно Вам. Если будет версия для i386, то я только "ЗА". Но, при этом, есть "странности"... Первая, посмотрел диагностику, там вообще много (ничего "эдакого"), но из привлекшего внимание: 03-Aug-2017 11:17:43 [odlk] Temporarily failed upload of odlk3_13719_1501648012.705617_0_r1585384795_0: transient HTTP error М.б. это временное явление. А вторая, куда-то я "пропал" из своей команды. Хотя раньше вроде я там светился. |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
И еще заметил такую вещь, не знаю может это помешать или нет, т.к. это просто зависит от кода который известен Вам но, не мне. Например: ee projects/boinc.progger.info_odlk/input_odlk3_62_0002697_00022.txt 62 1000000^M 0 3 4 2 5 7 8 6 9 1^M 2 1 3 6 9 4 7 5 0 8^M 5 7 2 1 0 8 9 3 6 4^M 6 0 8 3 1 2 4 9 7 5^M 1 9 0 8 4 6 3 2 5 7^M 9 6 1 7 8 5 2 4 3 0^M 8 5 7 9 2 0 6 1 4 3^M 3 8 5 4 6 9 0 7 1 2^M 4 2 9 5 7 3 1 0 8 6^M 7 4 6 0 3 1 5 8 2 9^M ^M 0 3 4 2 5 7 8 6 9 1^M 2 1 3 6 9 4 7 5 0 8^M 5 7 2 4 0 8 9 3 1 6^M 1 0 6 3 2 9 4 8 5 7^M 3 5 0 8 4 6 1 9 7 2^M 4 9 1 7 8 5 0 2 6 3^M 8 4 7 9 1 2 6 0 3 5^M 9 8 5 0 6 1 3 7 2 4^M 6 2 9 1 7 3 5 4 8 0^M 7 6 8 5 3 0 2 1 4 9^M ^M речь о правильности обработки приложением конца строки, т.е. "^M" (виндовый конец строки). |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
И еще вопрос: Заметил, что "минимальный кворум" = 1 т.е. (если я правильно понимаю), то результат расчета не сравнивается с аналогичным результатом полученным другим компьютером. Это нормально? |
Send message Joined: 15 May 17 Posts: 88 Credit: 1,971,970 RAC: 13 |
Собрал версию для 32 бит. 03-Aug-2017 11:17:43 [odlk] Temporarily failed upload of odlk3_13719_1501648012.705617_0_r1585384795_0: transient HTTP error Подобные ошибки иногда наблюдаются при скачивании заданий и закачивании результатов на всех платформах. При этом у себя на сервере причины я в логах не вижу - похоже это какие-то сетевые проблемы. Конец строки на всех платформах используется виндовый - просто так было в исходном приложении и я не стал это менять :). Так получается каждый результирующий квадрат занимает 212 байт, что удобно для подсчёта количества решений в файле. Заметил, что "минимальный кворум" = 1 Изначально стоял кворум 2, затем я стал использовать AdaptiveReplication. Оба варианта имели свои проблемы: при кворуме 2 почему-то одно задание могло дважды обработаться на одном и том же хосте, при адаптивной реплекации некоторые задания выполнялись аж на 4 хостах... Поскольку пока проблем сверки не наблюдалось, я временно отключил репликацию, но скорее всего снова её включу. В общем я с этим ещё экспериментирую :). |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
Вроде по всем пунктам все ясно. Для i386 пока ничего "не приехало" (ни до сбоя, ни после сбоя). Даже каталог с приложением пустой: ls projects/boinc.progger.info_odlk/ total 0В логах: 08-Aug-2017 08:56:37 [odlk] update requested by user 08-Aug-2017 08:56:42 [odlk] Sending scheduler request: Requested by user. 08-Aug-2017 08:56:42 [odlk] Not requesting tasks: don't need 08-Aug-2017 08:56:43 [odlk] Scheduler request completed 04-Aug-2017 12:06:18 [odlk] Sending scheduler request: To fetch work. 04-Aug-2017 12:06:18 [odlk] Requesting new tasks for CPU 04-Aug-2017 12:06:21 [odlk] Scheduler request completed: got 0 new tasks 04-Aug-2017 12:06:21 [odlk] No tasks sentПравда нашел такое: 05-Aug-2017 06:22:22 [odlk] Sending scheduler request: To fetch work. 05-Aug-2017 06:22:22 [odlk] Requesting new tasks for CPU 05-Aug-2017 06:22:25 [odlk] Scheduler request completed: got 0 new tasks 05-Aug-2017 06:22:25 [odlk] No tasks sent 05-Aug-2017 06:22:25 [odlk] odlk3@home needs 476.84 MB RAM but only 438.32 MB is available for use.Т.е. вроде как не хватает памяти. bzcat /var/log/messages.0.bz2|grep memory Jul 28 16:57:11 gw1 kernel: real memory = 536870912 (512 MB) Jul 28 16:57:11 gw1 kernel: avail memory = 497954816 (474 MB)При этом у меня есть машинка на которой совершенно спокойно считается LHC@Home с меньшим размером памяти: bzcat /var/log/messages.0.bz2|grep memory Jul 21 13:16:35 vm1 kernel: real memory = 268435456 (256 MB) Jul 21 13:16:35 vm1 kernel: avail memory = 216690688 (206 MB) 08-Aug-2017 09:18:20 [LHC@home] Scheduler request completed 08-Aug-2017 09:23:41 [LHC@home] Computation for task wten6_jtbb2cm1__3__s__62.31_60.32__10_12__5__49.5_1_sixvf_boinc1503_1 finished 08-Aug-2017 09:23:41 [LHC@home] Starting task wten6_jtbb2cm1__4__s__62.31_60.32__2_4__5__13.5_1_sixvf_boinc1533_1 using sixtracktest version 4615 (sse2) in slot 0 08-Aug-2017 09:23:48 [LHC@home] Started upload of wten6_jtbb2cm1__3__s__62.31_60.32__10_12__5__49.5_1_sixvf_boinc1503_1_0 08-Aug-2017 09:23:53 [LHC@home] Finished upload of wten6_jtbb2cm1__3__s__62.31_60.32__10_12__5__49.5_1_sixvf_boinc1503_1_0 08-Aug-2017 09:23:58 [LHC@home] Sending scheduler request: To report completed tasks. 08-Aug-2017 09:23:58 [LHC@home] Reporting 1 completed tasksХотя понятно, что это разные приложения и могут требоваться разные ресурсы. На второй машинке с i386 установлено 2Gb памяти, но на ней тоже не пришли задания (по крайней мере до сбоя). По ее логам смогу посмотреть только вечером. При этом надо отметить, что приведенный пример по LHC@Home не совсем корректный, т.к. платформа на ней все-таки amd64. uname -a FreeBSD vm1.bhyve.loc 11.0-RELEASE-p1 FreeBSD 11.0-RELEASE-p1 #0 r306420: Thu Sep 29 01:43:23 UTC 2016 root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64 |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
На второй машинке с i386 установлено 2Gb памятиНа выходных пересылал себе лог с этой машины, судя по всему проблема на моей стороне: 05-Aug-2017 13:32:44 [odlk] Sending scheduler request: To fetch work. 05-Aug-2017 13:32:44 [odlk] Requesting new tasks for CPU 05-Aug-2017 13:32:49 [odlk] Scheduler request completed: got 0 new tasks 05-Aug-2017 13:32:49 [odlk] No tasks sent 05-Aug-2017 13:32:49 [odlk] odlk3@home needs 902.89MB more disk space. You currently have 50.79 MB available and it needs 953.67 MB.Правда верится с трудом, вроде там было пару гигов свободно, но сейчас не посмотреть. |
Send message Joined: 15 May 17 Posts: 88 Credit: 1,971,970 RAC: 13 |
Да, я это заметил. Похоже не совпадает имя платформы, с которым обращается клиент и которая на сервере. В списке платформ она называется i686-pc-freebsd и похоже она не подходит. В коде boinc нашёл ещё i386-portbld-freebsd. Сейчас её добавил, возможно по ней запрос пройдёт. |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
Да нет, "пока" вроде все правильно. Именно "i686-pc-freebsd". Это "мое". Как писалось выше, нужно мне со своей стороны внимательно посмотреть. Когда переписывался с разработчиками от LHC@Home (у них тоже не было заданий для FreeBSD), то в переписке есть такое: 4. логи старые: 127: 14-Jan-2017 22:35:25 (low) [https://lhcathome.cern.ch/lhcathome/] Master file download succeeded 128: 14-Jan-2017 22:35:30 (low) [https://lhcathome.cern.ch/lhcathome/] Sending scheduler request: Project initialization. 129: 14-Jan-2017 22:35:30 (low) [https://lhcathome.cern.ch/lhcathome/] Requesting new tasks for CPU 130: 14-Jan-2017 22:35:34 (low) [LHC@home] Scheduler request completed: got 0 new tasks 131: 14-Jan-2017 22:35:34 (user notification) [LHC@home] Message from server: This project doesn't support computers of type i386-pc-freebsd Помню, что заканчивалось одинаково на фразе "This project doesn't support computers of type i386-pc-freebsd".(предложение "Помню ..." относится к цитате). Причем первоначально так и приходило как "i386-pc-freebsd" и все считалось. Потом в какой-то момент они ее сменили на "i686-pc-freebsd" (если я не ошибаюсь). Точно помню, что была выловлена в некий момент времени некая фраза "platform changed to i686-pc-freebsd" (пишу на память, могу ошибаться). И платформа поменялась, это уже произошло без моего участия. К тому-же есть еще "профилирование", которое "приезжает" от менеджера boincstats.com к которому тоже есть "вопросы". Еще не до конца в нем разобрался. Т.к. нужно понять как управляться с "разношерстными" машинками, как по памяти, так и по ресурсам... В любом случае "пока" это мой вопрос, а не Ваш. И в любом случае СПАСИБО, за то, что уже Вами сделано! Если я не ошибаюсь, то - Ваш проект ПЕРВЫЙ в России, который дает задания для FreeBSD. LHC не в счет, т.к. это все-таки совместный Европейский проект. Поздравляю! |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
Поигрался с "профилированием" есть положительные результаты. Но по порядку: 1. Первоначально, как был выпущен релиз модуля для FreeBSD i386, в логах шло: 05-Aug-2017 23:19:25 [odlk] Requesting new tasks for CPU 05-Aug-2017 23:19:30 [odlk] Scheduler request completed: got 0 new tasks 05-Aug-2017 23:19:30 [odlk] No tasks sentПотом был сбой на сервере 07-Aug-2017 03:16:13 [odlk] Sending scheduler request: To fetch work. 07-Aug-2017 03:16:13 [odlk] Requesting new tasks for CPU 07-Aug-2017 03:17:31 [odlk] Scheduler request failed: Couldn't connect to serverПотом пошли 07-Aug-2017 21:44:13 [odlk] Sending scheduler request: To fetch work. 07-Aug-2017 21:44:13 [odlk] Requesting new tasks for CPU 07-Aug-2017 21:44:19 [odlk] Scheduler request completed: got 0 new tasks 07-Aug-2017 21:44:19 [odlk] No tasks sent 07-Aug-2017 21:44:19 [odlk] odlk3@home needs 393.18MB more disk space. You currently have 560.49 MB available and it needs 953.67 MB.Что сразу на вело на мысль "уже теплее", и занялся поиском решения. Сразу подумалось про "профилирование". Что в итоге и сделал через сайт менеджера. Созданный профиль назначался обеим машинкам FreeBSD i386 несмотря на существенную разницу в наличии RAM, на одной 2Gb, на другой 512Mb. Попутно был решен вопрос с пониманием записи в логах такого 09-Aug-2017 15:46:18 [odlk] update requested by user 09-Aug-2017 15:46:20 [odlk] Sending scheduler request: Requested by user. 09-Aug-2017 15:46:20 [odlk] Not requesting tasks: don't need 09-Aug-2017 15:46:21 [odlk] Scheduler request completed Как написано в https://boinc.berkeley.edu/dev/forum_thread.php?id=9239 >I am frequently getting the message ... > Not requesting tasks: don't need If you're getting that then your cache is full.Т.е. по сути, стало понятно, что мое "профилирование" зажало проект в слишком узкие рамки. 2. Поиграв профилированием, добился, что пришли задания на FreeBSD i386 с 2Gb RAM. https://boinc.progger.info/odlk/results.php?hostid=869 3. Дальше смотрю за машинкой FreeBSD i386 с 512Mb RAM. Когда на нее "приехало" профилирование пошли сообщения в логах: 16-Aug-2017 05:28:26 [odlk] Requesting new tasks for CPU 16-Aug-2017 05:28:29 [odlk] Scheduler request completed: got 0 new tasks 16-Aug-2017 05:28:29 [odlk] No tasks sent 16-Aug-2017 05:28:29 [odlk] odlk3@home needs 476.84 MB RAM but only 462.67 MB is available for use. Т.е. теперь стало еще яснее, проекту не хватает физической памяти на этой машине. Что немного странно. У меня есть машинка (правда виртуальная и FreeBSD 11 amd) считает LHC@Home https://lhcathome.cern.ch/lhcathome/show_host_detail.php?hostid=10490178 Параметры по памяти более чем скромные bzcat /var/log/messages.0.bz2 | grep memo Jul 21 13:16:35 vm1 kernel: real memory = 268435456 (256 MB) Jul 21 13:16:35 vm1 kernel: avail memory = 216690688 (206 MB) Как говорится, считает и не жужжит, и памяти ей хватает, и расчеты (как мне думается) не самые простые... Собственно вопрос, на подумать, возможно-ли произвести оптимизацию приложения? |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
Хотя удалось добиться получения первого задания для этой машинки: 16-Aug-2017 20:09:13 [odlk] Sending scheduler request: To fetch work. 16-Aug-2017 20:09:13 [odlk] Requesting new tasks for CPU 16-Aug-2017 20:09:17 [odlk] Scheduler request completed: got 1 new tasks 16-Aug-2017 20:09:19 [odlk] Started download of odlk3_1.0_i686-pc-freebsd 16-Aug-2017 20:09:19 [odlk] Started download of input_odlk3_65_0011158_00025.txt 16-Aug-2017 20:09:21 [odlk] Finished download of input_odlk3_65_0011158_00025.txt 16-Aug-2017 20:09:22 [odlk] Finished download of odlk3_1.0_i686-pc-freebsd 16-Aug-2017 20:09:22 [odlk] Starting task odlk3_1872_1502823587.258623_0 using odlk3 version 100 in slot 2 16-Aug-2017 21:17:32 [odlk] Computation for task odlk3_1872_1502823587.258623_0 finished 16-Aug-2017 21:17:35 [odlk] Started upload of odlk3_1872_1502823587.258623_0_r528186797_0 16-Aug-2017 21:17:38 [odlk] Finished upload of odlk3_1872_1502823587.258623_0_r528186797_0https://boinc.progger.info/odlk/results.php?hostid=868 |
Send message Joined: 15 May 17 Posts: 88 Credit: 1,971,970 RAC: 13 |
Собственно вопрос, на подумать, возможно-ли произвести оптимизацию приложения? Это скорее проблема дефолтных значений, чем оптимизации - программа при работе использует не очень много памяти. Я изменил настройки, теперь новые задания должны иметь меньше требований. |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
Спасибо! |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
Наверное еще обновления не прошли. Добавил Ваш проект в виртуалку, о которой писалось выше (что считает LHC@Home), с небольшим количеством выделенной памяти. Видится как https://boinc.progger.info/odlk/show_host_detail.php?hostid=1111 Пока рисует про нехватку памяти: 17-Aug-2017 12:38:00 [LHC@home] Scheduler request completed: got 5 new tasks 17-Aug-2017 12:38:02 [LHC@home] Started download of w-c9_n111_lhc2016_40_MD-95-16-476-2.5-0.9751__58__s__64.31_59.32__1_2__6__63_1_sixvf_boinc19866.zip 17-Aug-2017 12:38:02 [LHC@home] Started download of w-c9_n111_lhc2016_40_MD-95-16-476-2.5-0.9751__58__s__64.31_59.32__1_2__6__61.5_1_sixvf_boinc19865.zip 17-Aug-2017 12:38:05 [LHC@home] Finished download of w-c9_n111_lhc2016_40_MD-95-16-476-2.5-0.9751__58__s__64.31_59.32__1_2__6__63_1_sixvf_boinc19866.zip 17-Aug-2017 12:38:05 [LHC@home] Started download of w-c9_n111_lhc2016_40_MD-95-16-476-2.5-0.9751__58__s__64.31_59.32__1_2__6__60_1_sixvf_boinc19864.zip 17-Aug-2017 12:38:06 [LHC@home] Finished download of w-c9_n111_lhc2016_40_MD-95-16-476-2.5-0.9751__58__s__64.31_59.32__1_2__6__61.5_1_sixvf_boinc19865.zip 17-Aug-2017 12:38:06 [LHC@home] Started download of w-c9_n111_lhc2016_40_MD-95-16-476-2.5-0.9751__58__s__64.31_59.32__1_2__6__58.5_1_sixvf_boinc19863.zip 17-Aug-2017 12:38:08 [LHC@home] Finished download of w-c9_n111_lhc2016_40_MD-95-16-476-2.5-0.9751__58__s__64.31_59.32__1_2__6__60_1_sixvf_boinc19864.zip 17-Aug-2017 12:38:08 [LHC@home] Finished download of w-c9_n111_lhc2016_40_MD-95-16-476-2.5-0.9751__58__s__64.31_59.32__1_2__6__58.5_1_sixvf_boinc19863.zip 17-Aug-2017 12:38:08 [LHC@home] Started download of w-c9_n111_lhc2016_40_MD-95-16-476-2.5-0.9751__58__s__64.31_59.32__1_2__6__57_1_sixvf_boinc19862.zip 17-Aug-2017 12:38:10 [LHC@home] Finished download of w-c9_n111_lhc2016_40_MD-95-16-476-2.5-0.9751__58__s__64.31_59.32__1_2__6__57_1_sixvf_boinc19862.zip 17-Aug-2017 12:45:39 [https://boinc.progger.info/odlk/] Master file download succeeded 17-Aug-2017 12:45:44 [https://boinc.progger.info/odlk/] Sending scheduler request: Project initialization. 17-Aug-2017 12:45:44 [https://boinc.progger.info/odlk/] Requesting new tasks for CPU 17-Aug-2017 12:45:46 [odlk] Scheduler request completed: got 0 new tasks 17-Aug-2017 12:45:46 [odlk] No tasks sent 17-Aug-2017 12:45:46 [odlk] odlk3@home needs 476.84 MB RAM but only 201.31 MB is available for use.Привел лог "пошире" чтобы видно было статистику от LHC@Home. И, к сведению, с LHC@Home на виртуалке не требовалось "колдунств" или переписки. Просто попробовал, а оно возьми и работай... Первоначально было выделено одно ядро процессора, сегодня добавил еще одно. И на этой виртуалке нет профилирования и нет привязки у boinc-менеджеру типа boincstats.com . Т.о. образом если по настройкам что-то и приезжает, то только с сайта самого проекта. Еще дополнение. Сравнил настройки на сайтах LHC и ODLK - они одинаковые, за исключением, что на LHC по умочанию выключены допонительные проекты+тестовые приложения (тестовые активированы мной для помощи разработчикам). При этом файлы описания проектов разные account_lhcathome.cern.ch_lhcathome.xml <project_name>LHC@home</project_name> <project_preferences> <resource_share>100</resource_share> <no_cpu>0</no_cpu> <allow_beta_work>1</allow_beta_work> <project_specific> <apps_selected> <app_id>1</app_id> <app_id>10</app_id> </apps_selected> <max_jobs>0</max_jobs> <max_cpus>0</max_cpus> </project_specific> </project_preferences> account_boinc.progger.info_odlk.xml <project_preferences> </project_preferences>Но это так, к сведению. |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 31 |
Еще к сведению из виртуалки (RAM 256): ps -wwaux | grep lhcathome boinc 655 100.0 25.1 80960 57432 - RN 12:37 95:33.92 ../../projects/lhcathome.cern.ch_lhcathome/sixtrack_lin32_4517_sse2.linux boinc 656 98.3 25.1 80968 57404 - RN 12:37 95:38.73 ../../projects/lhcathome.cern.ch_lhcathome/sixtrack_lin32_4517_sse2.linux root 840 0.0 1.1 14796 2428 u0 S+ 14:13 0:00.00 grep lhcathomeК примеру на i386 (RAM 512) Ваш процесс видится как: ps -wwaux | grep odlk boinc 56318 80.3 0.7 17984 3556 - SN 1:37PM 29:28.89 ../../projects/boinc.progger.info_odlk/odlk3_1.0_i686-pc-freebsd input.txt output.txt root 56387 0.0 0.4 6248 1780 0 DL+ 2:17PM 0:00.00 grep odlkРечь о цифирях привлекших мое внимание "100.0 25.1" и "80.3 0.7" соответственно. Хотя нет уверенности. Первая из них %CPU, вторая %MEM (т.е. CPU=100.0%, MEM=25.1%). Т.о. мы видим, что из 256Мб занято только 25%, т.е. четверть от памяти (около 64Мб) на процесс (или 2х64=128Мб, примерно). |
Send message Joined: 15 May 17 Posts: 88 Credit: 1,971,970 RAC: 13 |
Наверное еще обновления не прошли. Да, это будет для новых заданий, а в очереди ещё старых на день-два. Хотя по идее он должен выдать первое подходящее задание, но так происходит не всегда почему-то. При этом файлы описания проектов разные Если зайти в настройки проекта и поставить там галочки, то будет то же самое. А вот флаг allow_beta_work вроде может только администратор установить :). Памяти и диска сейчас используется мало. В первой версии приложения были довольно большие файлы - по 42 МБ, поэтому я и оставил дефолтные требования для задач, т.к. они вполне подходили. Конечно их надо было поменять уже для odlk2, но т.к. это был дефолт и в настройках значения я не прописывал, то я про это совсем забыл :). |
©2024 (C) Progger