Распределенное тестирование на многоядерном процессоре

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
helen80
Posts:21
Joined:06 October 2011, 19:48
Распределенное тестирование на многоядерном процессоре

Post by helen80 » 16 January 2014, 21:17

Здравствуйте, настроила ejudge.xml следующим образом

Code: Select all

 <hosts_options>
   <host name="192.168.23.200">
      <option name="parallelism" value="3" />
   </host>
  </hosts_options>
Но при перетестировании контеста процесс ej-super-run все-равно один. Это значит что тестирование запущено только на одном ядре?

Использую Intel core i3. 2 реальных (4 виртуальных) ядра.
Подскажите, пожалуйста, в чем может быть проблема?

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Распределенное тестирование на многоядерном процессоре

Post by cher » 17 January 2014, 12:11

Для получения IP-адресов хоста используется /sbin/ifconfig
Проверьте, что он установлен.

helen80
Posts:21
Joined:06 October 2011, 19:48

Re: Распределенное тестирование на многоядерном процессоре

Post by helen80 » 17 January 2014, 16:38

Результат /sbin/ifconfig из-под пользователя ejudge

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 metric 1
inet 192.168.23.200 netmask 255.255.255.0 broadcast 192.168.23.255
inet6 fe80::21b:21ff:fed2:a058 prefixlen 64 scopeid 0x20<link>
ether 00:1b:21:d2:a0:58 txqueuelen 1000 (Ethernet)
RX packets 770990 bytes 70898421 (67.6 MiB)
RX errors 0 dropped 2938 overruns 0 frame 0
TX packets 1173035 bytes 1682071840 (1.5 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 17 memory 0xfa1c0000-fa1e0000

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 16436 metric 1
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 189 bytes 20168 (19.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 189 bytes 20168 (19.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Распределенное тестирование на многоядерном процессоре

Post by cher » 18 January 2014, 22:18

К сожалению, поменялся формат, в котором ifconfig выводит информацию об IP-адресах. Поэтому в текущей версии без исправлений в исходном коде опция parallelism работать не будет.

Обработка вызова /sbin/ifconfig находится в файле unix/ej-process.c в функции ejudge_get_host_names.

helen80
Posts:21
Joined:06 October 2011, 19:48

Re: Распределенное тестирование на многоядерном процессоре

Post by helen80 » 19 January 2014, 22:23

спасибо, исправила, все работает!

DenGaleev
Posts:11
Joined:03 August 2011, 11:35

Re: Распределенное тестирование на многоядерном процессоре

Post by DenGaleev » 14 November 2015, 02:46

По-моему там все еще неверный паттерн стоит. Неплохо было бы если бы исправили. Спасибо.
UPD. Появились еще вопросы.
А правда ли, что такой параллелизм раскидывает именно посылки на разные ej-super-run, и не делит одну посылку между разными ej-super-run?
А что должно быть в списке invokers во вкладке testing queue? Как я понял там выводится то что делает один из экземпляров ej-super-run, казалось бы почему не выводить что делает каждый из них.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Распределенное тестирование на многоядерном процессоре

Post by cher » 15 November 2015, 19:18

ifconfig исправил.

паралеллизм раскидывает посылки целиком

по списку invokers спасибо, исправлю

DenGaleev
Posts:11
Joined:03 August 2011, 11:35

Re: Распределенное тестирование на многоядерном процессоре

Post by DenGaleev » 16 November 2015, 06:35

Отличо, работает. Спасибо.

DenGaleev
Posts:11
Joined:03 August 2011, 11:35

Re: Распределенное тестирование на многоядерном процессоре

Post by DenGaleev » 19 November 2015, 00:46

Еще одна интересная вещь, если в момент тестирования прервать ej-super-run (в моем случае я невовремя перезагрузил сервер), то эти экземпляры будут висеть в списке invokers, и они похоже не собираются исчезать (висят уже два дня). Список получается не чистится автоматически? Если да, то как сделать, чтобы ejudge забыл про прерванные ej-super-run?

DenGaleev
Posts:11
Joined:03 August 2011, 11:35

Re: Распределенное тестирование на многоядерном процессоре

Post by DenGaleev » 22 November 2015, 10:53

Так как это сделать?


Post Reply