Версія даної теми для друку

Натисніть сюди для перегляду даної теми у оригінальному форматі

Розподілені обчислення в Україні _ 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

(наслідки міграції) wink.gif

Для файлів, що які потрібно віконувати потрібно встановити атрибут дозволу виконання:
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 тыс атомов - видимо не меньше недели sad.gif )

Invision Power Board
© Invision Power Services