OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 00:35

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: Олимпиадный сервер
СообщениеДобавлено: Вторник, 14 Апрель, 2009 15:07 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 210
Откуда: Россия, Томск
Пётр Кушнир писал(а):
Вроде как всё очевидно - сразу нажали Enter

"Ты не умничай, ты пальцем покажи" :)
Из Вашего ответа не стало ясней, будет ли работать вариант while без предварительного считывания символа.

Но сейчас я хочу Вас спросить о более важном. Вы в подписке BLACKBOX@LISTS.OBERON.CH дали публичное пояснение некоему Rainer Neubauer про работу ББ как сервера. Мой вопрос: не могли бы Вы так настроить ББ на каком-нибудь физическом сервере, работающем под Виндами, чтобы он (ББ-сервер) мог принимать на компиляцию и прогон программы (модули КП), принимаемые через Интернет? Для организации дистанционной турнирной работы с удаленными учащимися это просто необходимо. Идти на поклон к разработчикам систем автоматического тестирования достаточно неудобно (им, например, версию под линухами подавай), а то и просто неприятно (было и такое). Федор Васильевич и Александр Ильин высказывались в том духе, что учинить турнирый сервер возможно, но надо время. Может, Ваш личный задел в этом плане и энтузиазм позволят обойтись совсем "малой кровью" и реализовать-таки идею в обозримом будущем??


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Долой цикл FOR (?)
СообщениеДобавлено: Вторник, 14 Апрель, 2009 18:56 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
А.П. писал(а):
учинить турнирый сервер возможно, но надо время. Может, Ваш личный задел в этом плане и энтузиазм позволят обойтись совсем "малой кровью" и реализовать-таки идею в обозримом будущем??
Да, хорошая идея. Только его же, сервер в смысле, как-то обслуживать надо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 15:03 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
В целом видится мне это так: web-сервер на базе O3 (исходники есть) получает модуль решения задачи (plain text через copy-paste в браузер либо odc-файл), компилирует в консольное приложение и получает exe-шник. Компилятор тоже лучше консольный использовать, для максимальной изоляции (уже реализован), но это обсуждаемо. Затем сервер последовательно прогоняет тесты, замеряя показатели дочерних процессов (потребление памяти, максимальное время работы и пр.), и сообщает результат пользователю. Что использовать в качестве БД участников и результатов я не знаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 15:14 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
В O3 есть ODBC-сервлет(ну или что-то на него явно похожее). Так что можно например использовать MySQL.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 15:18 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Вообще, может, стоит использовать на стороне участника особый ББ (клиент для олимпиадного сервера). Неясно, если планируется использовать множество ЯП, то, наверное, такой клиент будет ограничением(например для линуксоидов) но зато преимуществом в плане обратной связи, интеграции. В таком случае разумно использовать джаббер, как более структурированый поток обмена инфой, нежели HTTP. Правда вознимает потрбность в джаббер-сервере, но их сейчас много бесплатных.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 15:30 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
А для сервера стоит использовать Active BlackBox. Иначе от пары сотен клиентов ББ сдохнет. Да и компиляция тогда может проводиться в том же самом ББ(нет проблем с межпрограммным общением, нет нужды в компиляции exe-файла).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 15:34 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
В целом, если время позволяет, то можно реализовать оба варианта.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 15:35 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 210
Откуда: Россия, Томск
Александр Ильин писал(а):
... Что использовать в качестве БД участников и результатов я не знаю.

Возможно, БД уч-ков и таблица баллов - это просто один массив записей подходящей структуры, который в ходе турнира постепенно заполняется и раз в минуту фиксируется на диск. БД решений - изначально пустые папки с вложенной структурой стандартных папок Mod, Sym и Code. Очередное решение заносится в папку уч-ка под очередным именем-номером с учетом номера решаемой задачи. Всю структуру вроде нетрудно выстроить. Потом под нее сделать сервисные функции типа занести решение в папку участника N, очистить папку участника N, удалить участника, зарегистрировать нового участника...
Тесты к задачам находятся в своей иерархии папок. Поскольку размерность турнира не слишком большая (100-300 участников, не более 10 задач, не более 10 попыток на задачу), вся совокупность папок не будет чрезмерно большой.
Как-то так...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 15:45 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 210
Откуда: Россия, Томск
Пётр Кушнир писал(а):
Вообще, может, стоит использовать на стороне участника особый ББ (клиент для олимпиадного сервера)

Ни первый взгляд это нежелательно, поскольку я предполагаю в качестве участников и совсем наивный юный народец. Можно в штатный (школьный, лицейский) ББ вставить олимпиадные компоненты. Они ведь много места не займут. Его и распространять в школах как основной учебный инструмент. С черепашками, роботами и прочей детской атрибутикой.

Или у Вас есть веские аргументы в пользу особого ББ?


Последний раз редактировалось А.П. Четверг, 16 Апрель, 2009 15:58, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 15:50 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Особый в том плане, что в нём будет установлена подсистема, отвечающая за нужный функционал. Ессественно, любая актуальная сборка ББ может быть использована.
Пётр Кушнир писал(а):
преимуществом в плане обратной связи, интеграции
Ну вот такие аргументы.
Плюс ещё один фактор: уж делать, так по-большому. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 16:08 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 210
Откуда: Россия, Томск
Пётр Кушнир писал(а):
Особый в том плане, что в нём будет установлена подсистема, отвечающая за нужный функционал. ...Плюс ещё один фактор: уж делать, так по-большому. :)

Если только одна подсистема, да не очень громоздкая, то легко вставим в любую учебную сборку.
Я на "по-большому" что-то уже мало надеюсь, слишком много интересных задумок не состоялось :wink:
Правда, появление тут активных астраханцев внушает новые надежды :)


Последний раз редактировалось А.П. Четверг, 16 Апрель, 2009 16:31, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 16:27 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Ну одной подсистемой врядли обойдётся


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 16:47 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Пётр Кушнир писал(а):
А для сервера стоит использовать Active BlackBox. Иначе от пары сотен клиентов ББ сдохнет. Да и компиляция тогда может проводиться в том же самом ББ(нет проблем с межпрограммным общением, нет нужды в компиляции exe-файла).
О3 имеет встроенные средства для распределения нагрузки по нескольким серверам (правда, подробно я их не изучал, но читал, что они есть).

Попрошу не сбрасывать со счетов вопросы безопасности и отказоустойчивости системы. Нет ни одной причины, по которой размещение веб-сервера, компилятора и тестируемого кода в пределах одного процесса выглядело бы привлекательно. Разнесём по разным процессам, поручим распараллеливание операционной системе. К тому же, я знаю, как проконтролировать объём выделенной памяти и время _работы_ (а не время от запуска до завершения) для _процесса_ средствами ОС, но как это сделать для отдельно взятого модуля ББ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 16:49 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
К тому же, использование консольного компилятора, и тестирование консольного приложения позволяют единообразно добавить в систему другие языки программирования. Не будем забывать и о такой цели.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 16:52 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
А.П. писал(а):
Возможно, БД уч-ков и таблица баллов - это просто один массив записей подходящей структуры...
Не хотелось бы изобретать велосипед. Я думаю, что O3 уже поддерживает генерацию страниц по результатам запросов к БД, так что можно использовать готовое решение. Надо уточнить, действительно ли там это есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Четверг, 16 Апрель, 2009 18:30 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Пётр Кушнир писал(а):
... уж делать, так по-большому. :)
Коллеги, умоляю, попроще!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Олимпиадный сервер
СообщениеДобавлено: Вторник, 26 Май, 2009 06:47 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Коллеги, хорошо бы какую-нибудь самую минимальную работающую версию сделать как можно быстрее.
Чтобы могла обслужить трех соревнующихся безо всяких изысков. (На самом деле, десяток по-любому обслужит.)

А дальше видно будет.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB