Обсуждение вопросов, связанных с системой проведения турниров ejudge.
-
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:
Post
by cher » 17 January 2014, 12:11
Для получения IP-адресов хоста используется /sbin/ifconfig
Проверьте, что он установлен.
-
helen80 - Posts:21
- Joined:06 October 2011, 19:48
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:
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
Post
by helen80 » 19 January 2014, 22:23
спасибо, исправила, все работает!
-
DenGaleev - Posts:11
- Joined:03 August 2011, 11:35
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:
Post
by cher » 15 November 2015, 19:18
ifconfig исправил.
паралеллизм раскидывает посылки целиком
по списку invokers спасибо, исправлю
-
DenGaleev - Posts:11
- Joined:03 August 2011, 11:35
Post
by DenGaleev » 19 November 2015, 00:46
Еще одна интересная вещь, если в момент тестирования прервать ej-super-run (в моем случае я невовремя перезагрузил сервер), то эти экземпляры будут висеть в списке invokers, и они похоже не собираются исчезать (висят уже два дня). Список получается не чистится автоматически? Если да, то как сделать, чтобы ejudge забыл про прерванные ej-super-run?
-
cher - Posts:1153
- Joined:13 March 2004, 17:00
-
Contact:
Post
by cher » 22 November 2015, 18:53
Попробуйте master