Версія даної теми для друку
Розподілені обчислення в Україні _ Linux, Mac та інші платформи _ F@H під GNU/Linux
Автор: romko Jul 6 2006, 13:15
В мене тут накльовується можливість запустити F@H на одному компі, який працюватиме під GNU/Linux. Хтось може популярно описати процес установки з точки зору недосвідченого користувача Linux? Як налаштувати сервіс, встановити кілька клієнтів, організувати запуск і зупинку в певний час?
Заодно і матеріал для сайту би вийшов, а то в нас поки що так склалось, що всі описання ґрунтуються на припущенні, що F@H виконується під Windows. А люди в команді, які рахують на компах з Linux, явно повинні бути (і є, наскільки я знаю зі спілкування) .
Автор: ReMMeR Jul 6 2006, 13:43
Саме сьогодні я виклав на http://spin.org.ua/fah/ повний пакунок для лінукс.
Опишу свій досвід.
Копіюємо всі файли в якусь папку на системі. Я мав права РУТ-користувача, тому зкопіював їх в
cd /usr/share/fad
(наслідки міграції) Для файлів, що які потрібно віконувати потрібно встановити атрибут дозволу виконання:
chmod +x (список файлів)
наприклад
chmod +x *.exe *.sh
Нижче наведу свої скрипти (на деяких Лінукс-машинах 504 консоль не запускалась, приклади наведу на 502 версії)
Запруск клієнту : файл fah.sh
cd /usr/share/fad
./FAH502-Linux.exe
Зупиника клієнту : файл fah_kill.sh
killall -9 FAH502-Linux.exe
не зупиняйте ядра, ви можете втратити данні ! Зупиняйте тільки консолі. Ядра зупиняться самі через кілька секунд.Перегляд стану черги завдань : файл queue.sh
FAH502-Linux.exe -queueinfo
Перегляд Консолей, що запущені : файл topf.sh
ps -C FAH502-Linux.exe -o pid=,nice=,fname=
Головні команди, що використовувались при налаштуванні :
top - подивитись які процеси запущені, детальна інформація. Таск-менеджер такий собі. (k <номер PID> <enter> - зупинити програму з заданим PID)
mc - Аналог ФАР-у чи нортон-командеру. Дуже рекомендую ! F3 - перегляд файлів F4 - редагування
ls - передивитись вміст директорії (аналог ДОС dir /w )
ls -l - передивитись вміст директорії з детальною інформацією (аналог ДОС dir )
cd <dir> - перейти в директорію <dir>
cd .. - перейти в директорію на рівень вище
cat <filename> - передивитись вміст файлу
killall -9 <filename> - зупинити усі програми з заданим ім'ям
Автор: ReMMeR Jul 6 2006, 14:33
cron - запуск програм по розкладу.
contab -l - вивести на екран поточні запланованы завдання
contab -l > file - вивести у файл поточні заплановані завдання
contab file - встановити новий список завдань
Що робимо :
contab -l > file.txt - завантажуємо у файл поточні заплановані завдання
дивимось що там (у mc по F3)
або cat file.txt
У моєму випадку потрібно було стартувати ФАХ в 19-00 і гасити о 8-00
тому рядки що відповідають за старт та зупинку ФАХ виглядають так :
30 19 * * * /usr/share/fad/fah.sh
00 08 * * * /usr/share/fad/fah_kill.sh
Додаємо ці рядки у file.txt :
(у mc по F4) або
echo 30 19 * * * /usr/share/fad/fah.sh >> file.txt
echo 00 08 * * * /usr/share/fad/fah_kill.sh >> file.txt
Завантажуємо файл у планувальник :
contab file.txt
Перевіримо чи все вийшло (вкінці повинні показатися наші рядки)
contab -l
Докладніше про формат кронтабу
Общий формат команды:
------------------------------------------------
минута час день_месяца месяц день_недели команда
------------------------------------------------
Допустимые значения:
минута от 0 до 59
час от 0 до 23
день_месяца от 1 до 31
месяц от 1 до 12 (можно три буквы из названия месяца, регистр не имеет значения от jan до dec)
день_недели от 0 до 6 (0 это воскресенье, можно писать от sun до sat)
Приклади :
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
докладніше ось тут : http://www.codenet.ru/webmast/php/cron.php
Автор: romko Jul 6 2006, 14:59
Дякую! Все дуже просто і зрозуміло!
killall -9 <filename> - зупинити усі програми з заданим ім'ям
Це означає, що навіть якщо запущено кілька клієнтів, то для зупинки достатньо викликати цю команду один раз?
І ще: чи підходять файли конфігурації від Windows-версії F@H до Linux-версії?
Автор: ReMMeR Jul 6 2006, 15:05
(romko @ Jul 6 2006, 03:59 PM)
Дякую! Все дуже просто і зрозуміло!
killall -9 <filename> - зупинити усі програми з заданим ім'ям
Це означає, що навіть якщо запущено кілька клієнтів, то для зупинки достатньо викликати цю команду один раз?
Так. Зупинить усі клієнти. зручно.
І ще: чи підходять файли конфігурації від Windows-версії F@H до Linux-версії?
Здається підходить, але треба обережніше з символом переносу курсору в кінці кожного рядка.
Тобто правильний редактор треба.
Підходить точно той що вбудований у фар.
Взагалі я б рекомендував якщо і редагувати файл - то на лінукс - системі (MidnightCommander - чудова річ!).
Автор: MathWay Aug 4 2006, 08:36
Помітив таку проблємку. Мабуть присутня і у віндовому клієнті. Коли закінчується вінт і клієнт не може зберегти результати, він, замість того, щоб завершити роботу, нах зносить все, що встиг порахувати, і починає закачувати нове завдання. Бєдьняга. А зберегти-то він його теж нікуди не може, бо поки качав, звільнене місце фільмом забилося =). Отакої.
Сумно таваріщі, піду знущатись над розробниками, може шось вийде.
Якщо хтось знає workaround, прохання не стримувати себе, і постити сюди.
Автор: tyoma Aug 5 2006, 09:00
(MathWay @ Aug 4 2006, 09:36 AM)
Помітив таку проблємку. Мабуть присутня і у віндовому клієнті. Коли закінчується вінт і клієнт не може зберегти результати, він, замість того, щоб завершити роботу, нах зносить все, що встиг порахувати, і починає закачувати нове завдання. Бєдьняга. А зберегти-то він його теж нікуди не може, бо поки качав, звільнене місце фільмом забилося =). Отакої.
Сумно таваріщі, піду знущатись над розробниками, може шось вийде.
Якщо хтось знає workaround, прохання не стримувати себе, і постити сюди.
Вільного місця не мати - ІМХО зле й для системи взагалі (логі то хоч куда лінух писати буде) . Звільняй тобіш місце полюбому.
Автор: Ckopoxod Aug 16 2006, 18:45
Доречі, а на Юнік-системах при однакому залізу з Віндовс буде рахувати швидще чи ні?
Автор: Vlad Aug 23 2006, 08:54
(ReMMeR @ Jul 6 2006, 02:43 PM)
не зупиняйте ядра, ви можете втратити данні ! Зупиняйте тільки консолі. Ядра зупиняться самі через кілька секунд.
Вопрос: при штатном шутдауне Линукса происходит корректное гашение консольной задачи ? Результаты не будут потеряны ?
Автор: romko Aug 23 2006, 13:47
Вопрос: при штатном шутдауне Линукса происходит корректное гашение консольной задачи ? Результаты не будут потеряны ?
Ніби все нормально...
Правда, я запускаю клієнта з ключем -forseasm, тому що при деяких вимиканнях сервера процеси завершувались ненормально, і потім запускались без оптимізацій (тобто завдання не втрачались, але розрахунки йшли в 2-3 рази повільніше).
До речі, ти запускаєш фолдінг в консольному вікні, чи як демона?
Автор: Vlad Aug 23 2006, 13:57
(romko @ Aug 23 2006, 02:47 PM)
До речі, ти запускаєш фолдінг в консольному вікні, чи як демона?
С помощью крона, как демон. Иногда у меня возможны выключения сервера ДО того момента, как по крону снимется процесс (скрипты для всего брал в этой же ветке) - в связи с этим и возник вопрос.
(Сейчас идет расчет задачи 1488 - 77 тыс атомов - видимо не меньше недели
)
Invision Power Board
© Invision Power Services