Обсуждение вопросов, связанных с системой проведения турниров 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