Настройка вычислительного сервера

Настройка вычислительного сервера выполняется в файле data/paserver.cfg. Особенности настройки параметров приведены в следующей таблице:

Параметр

Назначение

Значение по умолчанию

Примечание

dbservice_host

Имя хоста или IP машины с координатором кластера

Обязательный параметр

dbservice_port

Порт для установки соединения с координатором кластера

Обязательный параметр

rpc_port

Слушающий TCP порт для подсоединения других серверов кластера. Должен быть открыт в системном файрволе

Обязательный параметр

log_level

Уровень логирования. Принимает значения от 1 до 5

3

Параметр log_level принимает следующие значения в зависимости от градации ошибок:

1 - Отладка
2 - Замечание
3 - Предупреждение
4 - Ошибка
5 - Критично

effective_concurrency

Эффективный параллелизм сервера. Предполагаемое количество используемых ядер ЦП

0 (все ядра)

storage_path

Абсолютный путь к директории с хранилищем данных сервера

data/storages

service_name

Имя сервиса сервера кластера для проверки подлинности Kerberos

paserver

Используется для поддержки Kerberos.

service_host

Имя или IP, которое сервер будет иметь на вкладке Серверы в Административном клиенте. Это адрес, по которому происходит подключение серверов.

Если параметр пустой, он определяется автоматически.

keytab_path

Абсолютный или относительный путь к файлу keytab с принципалом сервера кластера.

krb5.keytab

Используется для поддержки Kerberos.

krb5conf_path

Абсолютный или относительный путь к конфигурационному файлу Kerberos (krb5.conf).

Если не указан, используется системный путь по умолчанию.

Используется для поддержки Kerberos.

cpu_core_score

Явное указание производительности одного ядра процессора.

Если параметр пустой, он определяется автоматически с помощью микробенчмарка.

web

Включение режима сервера приложений: Значение true активирует режимы и вычислительного сервера и сервера приложений. Значение only активирует режим только лишь сервера приложений. Значение по умолчанию false оставляет сервер только как вычислительный.

ocr_local_port

Порт локальной службы OCR

55555

Если значение равно 0, локальная служба OCR отключена.

ocr_log_level

Уровень логгирования, который будет использоваться для создания логов.

WARNING

Возможные значения: DEBUG, INFO, WARNING, ERROR, CRITICAL.

ocr_max_cpu

Количество ядер процессора, которые будут использоваться для распознавания.

0

Значение 0 означает, что будут использованы все ядра процессора.

ocr_device

Устройство, которое будет использоваться для распознавания.

cpu

Можно использовать либо значение cpu (центральный процессор), либо cuda (СUDA-ядра графического процессора).

Файлы сертификата и приватного ключа

Сервер кластера в режиме сервера приложений должен дополнительно содержать конфигурационный файл data/webengine.cfg, также как файл сертификата data/server.crt и его приватный ключ data/server.key в PEM формате без пароля.

Эффективный параллелизм

Параметр effective_concurrency означает количество используемых процессов (воркеров) и используется для распараллеливания вычислений при меньшем количестве процессорных ядер (логических процессоров).

Параметр effective_concurrency редактируется в файле конфигурации paserver.cfg.

Параметр отображается в Административном клиенте (на левой панели найдите вкладку Системный монитор и откройте раздел Серверы). Значение параметра влияет только на распределение задач. Задачи могут как выполняться одновременно, так и чередоваться.

Как использовать эффективный параллелизм

Ниже приведены несколько примеров для лучшего понимания использования эффективного параллелизма:

  • Если задано значение 8, то задачи распределяются так, как если бы существовало 8 логических процессоров. Но это не значит, что будет загружено только 8 ядер (из общего количества ядер): все ядра по-прежнему могут быть загружены. Например, такое бывает при использовании большего числа воркеров, чем заданное значение параллелизма (а точнее, в два раза больше). Также существуют алгоритмы, которые распараллеливаются в одном процессе на несколько потоков: в этом случае один процесс может использовать все процессорные ядра.

  • Предположим, имеется кластер из нескольких машин с 8 ядрами и одной машины с 16 ядрами. Пользователь не хочет, чтобы машина с 16 ядрами выполняла вдвое больше работы, но ему нужно, чтобы задачи были распределени поровну на всех машинах. Тогда значение effective_concurrency должно быть равно 8.

Настройки OCR

Вы можете использовать как локальную службу OCR, так и внешнюю службу.

Значение порта по умолчанию для службы распознавания равно 55555. Такой порт должен быть доступен заранее. В противном случае необходимо изменить порт службы распознавания.
Должна быть установлена переменная окружения JAVA_PATH (в корневой папка Java должны быть указаны папки lib и bin).

Локальная служба OCR запускается автоматически при первом использовании службы. Служба останавливается при остановке paserver. Служба использует папку data/temp/ocr, которая очищается автоматически. Журнал выполнения хранится в папке data/logs/ocr. По умолчанию инструмент распознавания находится в папке resources/java/pdf_box/pa_pdfbox-1.0.jar.

Внешние службы распознавания задаются в настройках кластера.

admin ocr.rus

Например, это могут быть другие машины с GPU или CPU. Обратите внимание, что такая машина выбирается с использованием алгоритма Round-robin.