Difference between revisions of "Параллельное тестирование"
(Created page with "Навигация: Главная страница/Система ejudge/Использование/Параллельное тестирование") |
|||
Line 1: | Line 1: | ||
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Параллельное тестирование]] | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Параллельное тестирование]] | ||
+ | |||
+ | Система ejudge поддерживает распараллеливание тестирования программ как на многоядерных процессорах, так и по сети. На каждом экземпляре тестировщика единицей тестирования является одна посылка, то есть на тестирование берется исполняемый файл, и пока он не будет проверен до конца (в зависимости от типа турнира либо на всех тестах, либо до первого неуспешного тесте), данный тестировщик не перейдет к тестированию следующего решения. | ||
+ | |||
+ | Очередь тестирования является общей для всех турниров, в очереди посылки упорядочиваются по приоритету тестирования. Чем меньше значение приоритета, тем выше приоритет. Стандартное значение приоритета - 0. Значние приоритета может быть повышено до +15 (минимальный приоритет), либо понижено до -16 (максимальный приоритет). Отталкиваясь от базового значения 0 приоритет тестирования можно изменять для всего турнира, задачи, языка программирования, пользователя и т. п. Кроме того, решения, оправляемые на перепроверку, получают +10 к приоритету. | ||
+ | |||
+ | За тестирование посылок отвечает программа [[ej-super-run]]. | ||
+ | |||
+ | === Параллельное тестирование на многоядерном процессоре === | ||
+ | |||
+ | Для параллельного тестирования на одном процессоре достаточно запустить столько экземпляров программы ej-super-run, сколько требуется. Параллельно работающие экземпляры ej-super-run не конфликтуют между собой. | ||
+ | |||
+ | Для настройки автоматического запуска необходимого количества экземпляров программы ej-super-run при старте ejudge в конфигурационный файл [[ejudge.xml]] необходимо добавить следующий фрагмент. | ||
+ | |||
+ | <config> | ||
+ | ... | ||
+ | <hosts_options> | ||
+ | <host name="IP-ADDRESS"> | ||
+ | <option name="parallelism" value="3" /> | ||
+ | </host> | ||
+ | </hosts_options> | ||
+ | ... | ||
+ | </config> | ||
+ | |||
+ | Фрагмент, как показано, добавляется внутрь корневого элемента <config>. Вместо <tt>IP-ADDRESS</tt> необходимо подставить IP-адрес сервера. В значение атрибута <tt>value</tt> подставляется требуемое количество параллельно запускаемых экземпляров ej-super-run. | ||
+ | |||
+ | === Параллельное тестирование на нескольких компьютерах по сети === |
Revision as of 11:51, 3 December 2013
Навигация: Главная страница/Система ejudge/Использование/Параллельное тестирование
Система ejudge поддерживает распараллеливание тестирования программ как на многоядерных процессорах, так и по сети. На каждом экземпляре тестировщика единицей тестирования является одна посылка, то есть на тестирование берется исполняемый файл, и пока он не будет проверен до конца (в зависимости от типа турнира либо на всех тестах, либо до первого неуспешного тесте), данный тестировщик не перейдет к тестированию следующего решения.
Очередь тестирования является общей для всех турниров, в очереди посылки упорядочиваются по приоритету тестирования. Чем меньше значение приоритета, тем выше приоритет. Стандартное значение приоритета - 0. Значние приоритета может быть повышено до +15 (минимальный приоритет), либо понижено до -16 (максимальный приоритет). Отталкиваясь от базового значения 0 приоритет тестирования можно изменять для всего турнира, задачи, языка программирования, пользователя и т. п. Кроме того, решения, оправляемые на перепроверку, получают +10 к приоритету.
За тестирование посылок отвечает программа ej-super-run.
Параллельное тестирование на многоядерном процессоре
Для параллельного тестирования на одном процессоре достаточно запустить столько экземпляров программы ej-super-run, сколько требуется. Параллельно работающие экземпляры ej-super-run не конфликтуют между собой.
Для настройки автоматического запуска необходимого количества экземпляров программы ej-super-run при старте ejudge в конфигурационный файл ejudge.xml необходимо добавить следующий фрагмент.
<config> ... <hosts_options> <host name="IP-ADDRESS"> <option name="parallelism" value="3" /> </host> </hosts_options> ... </config>
Фрагмент, как показано, добавляется внутрь корневого элемента <config>. Вместо IP-ADDRESS необходимо подставить IP-адрес сервера. В значение атрибута value подставляется требуемое количество параллельно запускаемых экземпляров ej-super-run.