Инструкция установки дополнительных пакетов для сервера Debian 28


Скачать 0.52 Mb.
Название Инструкция установки дополнительных пакетов для сервера Debian 28
страница 8/10
Тип Инструкция
rykovodstvo.ru > Руководство эксплуатация > Инструкция
1   2   3   4   5   6   7   8   9   10

3.5. Создание собственного приложения


Для создания собственного приложения для системы BOINC существует два пути:

  • написание приложения с нуля.

  • Написание приложения, используя шаблоны, предложенные разработчиками.


Оба способа предполагают использование BOINC application programming interface (API), которое представляет собой набор функций написанных на C++. Большинство функций имеют стандартный интерфейс языка Си, в связи с этим функции могут использоваться и с другими языками программирования. При отсутствии иных указаний, функция вернет целочисленное число - код ошибки; нулевой означает успешное выполнение.

Для использования API необходимо добавить в заголовочный файл библиотеку:
#include "boinc_api.h"
Приложения так же могут взаимодействовать с графическими программами, которые выступают в роли заставки.

Инициализация


Перед вызовом остальных функций, необходимо вызвать следующую функцию.

Для последовательного (однопоточных приложений) :
boinc_init();
Если же вы используете несколько потоков, для инициализации следует ввести следующее:
«

BOINC_OPTIONS options;
boinc_options_defaults(options);

options.multi_thread = true; // if your app's main process uses multiple threads

options.multi_process = true; // if your app uses multiple processes
boinc_init_options(&options);

»[13]
Сделайте это, прежде чем создавать потоки или процессы.
Если же для приложения необходимо использование GPU(Графический процессор), Для инициализации введите следующее:

«

BOINC_OPTIONS options;
boinc_options_defaults(options);

options.normal_thread_priority = true;

boinc_init_options(&options);

»[13]
В операционной Windows, в этом случаее, приложение будет запущено в нормальном приоритете потоков, GPU будет работать в полную силу даже если CPU загружена.

Завершение


Когда приложение выполнилось оно должно вызвать:
int boinc_finish(int status);
Не нулевой статус завершения приложения бывает в случае ошибки.

Не вызывайте функцию exit(0), это приведет к перезагрузке приложения.

Если при завершении вы хотите показать сообщение пользователю ,используйте:
boinc_finish_message(int status, const char* msg, bool is_notice);
если флаг « is_notice » True, приложение будет показано в приложении-клиен(поддерживается в версиях клиента выше 7.5, в других версия сообщение не будет показано).

Конвертирование имен файлов


Приложения, которые используют сгенерированные входные или выходные файлы, должны вызвать:
int boinc_resolve_filename(char *logical_name, char *physical_name, int len);
или
int boinc_resolve_filename_s(char *logical_name, std::string& physical_name);
для того чтобы сконвертировать физическое имя файла к логическому. К примеру, вместо того чтобы использовать:
f = fopen("my_file", "r");

приложение должно использовать:
«

string resolved_name;

retval = boinc_resolve_filename_s("my_file", resolved_name);

if (retval) fail("can't resolve filename");

f = boinc_fopen(resolved_name.c_str(), "r");

»[13]
Не используйте boinc_resolve_filename() для файлов с атрибутом «copy_file», или временными файлами. Это должно использовать для всех файлов описанных в шаблонах, или файлах что являются частью версии приложения.

Оболочка входных/выходных данных


В приложении необходимо использовать, вместо fopen() :

boinc_fopen(char* path, char* mode);
Она решает проблемы связанные с платформами, в этом случае

Есть несколько повторных попыток открыть файл, чего нет в fopen().

Контрольные точки


В объемных работах есть необходимость периодически записывать текущее состояние на жесткий диск. Это и называется контрольной точкой. Этот файл должен включать в себя все, необходимые для продолжения работы, данные. При запуске программа читает контрольную точку и начинает с места последнего вычисления.

При проектировании приложения необходимо предусмотреть места где можно сделать контрольную точку.

Для того чтобы приложение могло сделать контрольную точку необходимо вызвать:
int boinc_time_to_checkpoint();
если вернуло не ноль, то приложение должно немедленно сдл\елать контрольную точку. Затем вызовите:
void boinc_checkpoint_completed():
Контрольные точки делаются быстро, по этому, стоит чаще создавать их.

Контрольная точка создается только в том случае, если прошел заданный интервал времени, с момента создания последней контрольной точки.
Выставить интервал можно двумя способами:

Первый, это выставив пользовательские параметры в приложении-клиент.

Второй, можно выставить в ручную в приложении вызвав:
boinc_set_min_checkpoint_period(int nsecs);

Критические секции


void boinc_begin_critical_section();

void boinc_end_critical_section();
Используется в том случае, если вы не хотите чтобы в период выполнения кода заключенного между ними, приложение не было завершено или сброшено пользователем ядра.

Вывод прогресса


BOINC manadger выводит, состояния текущих процессов и их прогресс.

Для того чтобы обновлять статус необходимо вызвать функцию:
boinc_fraction_done(double fraction_done);
значение параметра fraction_done варьируется от 0 до 1, показывая готовность приложения. Эту функцию можно часто вызывать. Значения переменной не должны убывать.

Временная информация



int boinc_wu_cpu_time(double &cpu_time);
Выводит общее затраченное процессором время, на одно задание.
double boinc_elapsed_time();
Выводит затраченное время за последнюю рабочую сессию.

Автономный режим


Для тестового запуска, приложение может быть запущено в «автономном» режиме или же под контролем BOINC клиента. В обоих случаях можно запрограммировать разное поведение приложения, к примеру, с целью вывода отладочной информации.

int boinc_is_standalone(void);

Возвращает не ноль если работает в автономном режиме и ноль если запущено под контролем BOINC клиента.

Замечания по сборке приложений


Кардинальной разницы в сборке приложений для разных операционных систем, нет, есть только некоторые нюансы которые стоит учитывать при написании исходного кода, к примеру, пути файлов в разных системах могут быть написаны по разному. Поэтому каждое приложение лучше собирать на целевой платформе, либо же к примеру для linux, можно собрать приложение на сервере используя скрипт make.
1   2   3   4   5   6   7   8   9   10

Похожие:

Инструкция установки дополнительных пакетов для сервера Debian 28 icon Пошаговое руководство по функции установки Server Core операционной системы Windows Server 2008
Руководство включает информацию о выполнении установки, начальной настройки сервера с установкой Server Core, выполнении установки...
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Пошаговое руководство по функции установки Server Core операционной системы Windows Server 2008
Руководство включает информацию о выполнении установки, начальной настройки сервера с установкой Server Core, выполнении установки...
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Инструкция по установке Plaza2 Router Для установки Plaza2 Router...
Для установки Plaza2 Router необходимо с ftp сервера ртс по адресу ftp://ftp rts ru/pub/forts/Plaza2/ скачать файл P2 ClientGat 12....
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Пошаговая инструкция по установке программы R, дополнительных пакетов...
Установите программу– R. Скачать последнюю версию программы r можно по адресу: https://cran r-project org/bin/windows/base
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Должностная инструкция администратора сервера (web-, файл-, почтового и др.)
На должность администратора сервера I категории назначается лицо, имеющее высшее профессиональное (математическое, инженерно-математичесвое,...
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Лабораторная работа №5 Тема: Использование элементов управления, cookie, сессии. Работа с почтой
Запустите файл из папки лабораторной работы №7 для установки Denver. Внимательной следуйте инструкциям программы – установки. Установку...
Инструкция установки дополнительных пакетов для сервера Debian 28 icon М. Ю. Храмцов Руководство пользователя системы мвс-1000/16
Эвм (сервера доступа) и файлового сервера. Вычислитель состоит из вычислительных модулей – узлов, каждый из которых уникально именован...
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Инструкция по работе с компонентами школьного сервера Начало работы
Перейдите на главную страницу школьного сервера. На ней вы можете выбрать следующие компоненты
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Обращение в службу технической поддержки Официального сайта еис
...
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Инструкция по настройке теневого сервера rkc I. Установка Cache копируем...
Настроить брэндмауэр открыть порты суперсервера и веб сервера портала (10101 и 20202)
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Инструкция по оплате пакетов Триколор тв по счёту для юридических...
Для оплаты пакетов «Оптимум» и/или «Ночной» свяжитесь с нами любым удобным для вас способом сообщите свои реквизиты, и мы выставим...
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Инструкция по эксплуатации коммуникационного сервера Требования,...
Требования, изложенные в данной инструкции, являются обязательными для исполнения и направлены на обеспечение бесперебойного и безаварийного...
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Инструкция по смене ip-адреса сервера доступа «Континент»
Управлении Федерального казначейства по Камчатскому краю, с 04. 05. 2017 изменяется ip-адрес сервера доступа «Континент». Для подключения...
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Линии для производства полиэтиленовых пакетов
Линии вм-пак 680 У2 и вм-пак 850 У2 (далее вм-пак у2) предназначена для производства пакетов типа «Майка», «Фасовка» из полиэтиленовой...
Инструкция установки дополнительных пакетов для сервера Debian 28 icon М. Ю. Храмцов Руководство пользователя системы мвс-1000/М
Эвм, сервера доступа и файлового сервера. Вычислитель состоит из двухпроцессорных модулей – узлов, каждый из которых уникально именован...
Инструкция установки дополнительных пакетов для сервера Debian 28 icon Инструкция по работе с эд-2 Системные требования и комплект поставки...
Для функционирования системы Электронного Декларирования в составе программного комплекса Альта-гтд pro необходимо наличие дополнительного...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск