Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

В середине июня 2018 года произошло обновление всех компиляторов (кроме Delphi) и добавление к ним нового компилятора PyPy для языка Python. Поскольку данные изменения были на старом оборудовании, то многие заметили, что скорость проверки решений сильно упала, так как в качестве компьютера, на котором располагались тестирующие системы, выступал обычный ПК, который по мощности уступал многим домашним компьютерам пользователей данного сайта. Действительно, системные требования новых компиляторов к операционной системе и оперативной памяти значительно выше, в связи с чем было снижено количество тестирующих систем с трех до двух. К тому же скорость работы отдельной тестирующей системы снизилась, в основном из-за увеличения времени компиляции. Например, время проверки решения задачи №162 "Манхэттенский полицейский" составляло порядка 20 секунд, а в настоящее время - всего около 5 секунд, что примерно в четыре раза быстрее!

Приведем для сравнения основные параметры старого "сервера", на котором ранее располагались три тестирующие системы:

НаименованиеСпецификацияОписание
1Материнская платаGigabyte GA-EP35C-DS3R3 PCI, 3 PCI-E x1, 1 PCI-E x16, 4 DDR2 DIMM, 2 DDR3 DIMM, Audio, Gigabit LAN
2ПроцессорQuadCore Intel Core 2 Quad Q66002.4 GHz / 4 ядра / 8Mb / 105W / 1066MHz LGA775
3Оперативная памятьKingston KVR800D2N5 / 2G DIMM DDR2-800 DDR2 SDRAM8 Gb = 4 x DIMM 2Gb
4Жесткий дискSeagate 320 Gb Barracuda 7200 ST3320613AS320 Гб SATA

Нельзя не отметить тот факт, что все новые "плюшки" в виде нового сервера, возможности установки и подключения тестирующих систем с современными компиляторами, стали возможны не благодаря министерству образования или каким-то иным государственным структурам Красноярского края, а благодаря бывшему нашему соотечественнику - Денису Кокареву, ныне проживающему в США, в штате Нью-Джерси. Именно он целенаправленно 02.06.2018 оказал материальную поддержку сайту в размере 1000$ на покупку нового сервера, что за вычетом комиссий банков составило 59 548 рублей. За что администрация сайта в составе одного человека выражает ему большое СПАСИБО и полагает, что пользователи сайта присоединятся к администратору: также смогут найти пару-тройку слов благодарности и напишут Денису что-нибудь доброе в соответствующей теме форума. К слову сказать, это был самый большой "донат" за всю историю acmp.ru, которая началась в декабре 2006 года.

Многие спрашивают о том, что же побудило человека оказать столь солидную финансовую поддержку. Следующая цитата из письма Дениса прольет свет на эти обстоятельства:

Как я набрел на acmp.ru? Несмотря на проштудированную литературу, провалил пару важных интервью и решил, что так дальше нельзя и надо на старости лет "прокачать" мозг. Начал с codeforces, но чувствую для меня слишком круто - время идет, скил не растет. Начал смотреть материалы по теме и наткнулся на видеоуроки Федора Меньшикова. Зашел на acmp.ru и увидел задачи, разбитые по темам (раздел олимпиадное программирование). Понял что это то, что нужно на начальном этапе. С этими задачками дело пошло повеселее. По ходу стало понятно, что мне на сайте acmp.ru нравится, а что не очень. Оказалось, что недостатки не фатальные и самое главное есть мотивированные люди, готовые улучшить ситуацию, если найдется более производительный сервер.

Тут надо немного сказать про то, кому и как помогать. Мне за 40, при этом я живу в Америке почти 20 лет. Все это позволяет с большей полнотой смотреть на некоторые жизненные вопросы. Например, становится очевидным, что помогать людям надо. Причем в Америке с этим все очень и очень хорошо даже без меня.

Наиболее распространенная и правильная форма поддержки - это трата своего личного времени. Но если есть надежные люди, которые сделают лучше, то помощь можно делегировать в материальной форме. При этом у вас должна быть ясность: как именно деньги или оборудование будут использованы.

Насчет кому помогать. Если ресурсы ограничены, то как бы не было жалко, помогать надо не бедным, а людям работающим в области развития на будущее. Например над образовательными проектами. Acmp.ru и его администратор Сергей Беляев соответствуют всем этим критериям в полной мере.

Несмотря на весомый вклад в развитие acmp.ru, Денис не занял первое место в разделе «Баланс», а лишь почётное второе. Дело в том, что в суммарном зачёте там лидирует известный многим в мире олимпиадного программирования человек - Фёдор Меньшиков, который на протяжении нескольких лет оказывает сайту не только значительную материальную, но и интеллектуальную поддержку. Он финансирует хостинг c VPS, на котором располагается резервная копия сайта, которая доступна по адресу http://w.acmp.ru. В ближайшем будущем есть договоренность о переходе на более мощный VPS, который будет оплачиваться Фёдором Владимировичем совместно с администратором сайта. Фёдор в бывшем - олимпиадник, участник финала ACM ICPC в 2003 году, автор известной книги по олимпиадному программированию «Олимпиадные задачи по программированию» (книга содержит 90 задач 15 тренировок с разбором). Также на протяжении нескольких лет Фёдор ведет проекты «3.5 задачи в неделю» и «Олимпиадное программирование с нуля на Java», которые используют задачи данного сайта и содержат множество видеоразборов.

Покупка нового сервера - дело не из дешевых, поэтому был приобретен сервер б/у, стоимость которого составила "всего-лишь" 68 304 рубля (новый в нем только винчестер SSD). Сервер был приобретен в компании ittelo через их сайт https://ittelo.ru. Внешний вид приобретенного сервера не оставляет сомнений в том, что он б/у :) Однако он работает и у него 1 год гарантии. Если вдруг кто-то не знает, то стоимость нового сервера превышает б/у раза в 2-3. К сравнению, старый "сервер", который ранее использовался для тестирующих систем обошелся всего в 8 000 рублей. Тогда спонсором выступил именно Фёдор Меньшиков, собственно и в этот раз он не упустил возможности оказания спонсорской поддержки в размере 8 000 рублей. Администратору осталось лишь добавить 756 рублей + 3 недели работы по установке сервера и настройке ПО. Поэтому пользователи, которым не жалко слов благодарности, могут отписаться и об этих людях в соответствующей теме форума :)

Собственно, спецификация нового сервера:

НаименованиеСпецификацияОписание
1Материнская платаSupermicro X8DTU2x Socket LGA1366 (Intel 5520) / RAID-контроллер / 6Gb/s / 12 x DDR3 Tripple
2ПроцессорыIntel(R) Xeon(R) CPU X56502 x (2.67GHz / 6 ядер / 12 потоков / 12Mb / 95W / 6.4 GT/s / LGA1366)
3Оперативная памятьSamsung DDR3-1066 SDRAM, 4Gb48 Gb = 12 x DIMM Samsung M393B5170FH0-CF8
4Жесткий дискIntel DC S4600 Series 480 Gb SSDSC2KG480G701 SATASSD 480 Gb SATA 6Gb / 3D TLC

На сегодняшний день сервер используется только для тестирующих систем, которых в данный момент 6 штук (то есть в два раза больше, чем раньше). Для тех, кто не знает, что из себя представляет тестирующая система, скажем, что это отдельный компьютер, который работает внутри виртуальной машины (ВМ). Внутри каждой ВМ содержится набор тестов для проверки решений пользователей, а проверку осуществляет специальная программа, которая обращаясь к базе данных (БД) сайта запрашивает решение, компилирует его и последовательно запускает на каждом тесте, а результаты тестирования записывает в БД. Поскольку все программы запускаются под гостевым пользователем, у которого нет никаких прав, кроме запуска программ пользователей и работы с выделенным RAM-диском объемом 128 Mb, то подобная изоляция делает процесс проверки безопасным как для гостевой ОС, так и для хоста.

Ранее система сайта acmp.ru располагалась на трех серверах: сервер с БД, сервер с сайтом и сервер с тестирующими системами. В настоящее время используется два сервера: сервер с сайтом (на него переехал сервер с БД и был отключен) и новый сервер с тестирующими системами, о котором и идет речь. В ближайшем будущем планируется разместить все необходимые службы (сайт, БД и тестирующие системы) на одном сервере, так как его спецификация позволяет это сделать (12 ядер процессора и 48 Гб ОЗУ делают это возможным). Но в настоящее время нет свободного белого IP и поэтому сервер находится лишь в локальной сети организации (Красноярский краевой Дворец пионеров), где работает администратор сайта. Поскольку многие сейчас в отпусках, пока нет возможности решения данной проблемы. Но и при таких обстоятельствах работа сайта выглядит более, чем удовлетворительной.

И в завершении приведем некоторый сравнительный анализ старого (слева) и нового (справа) оборудования:

ЖЕСТКИЙ ДИСК
ОПЕРАТИВНАЯ ПАМЯТЬ
(тест AIDA : копирование в памяти)
ПРОЦЕССОР
(тест AIDA : CPU Queen)

Вот и сделан очередной шаг в развитии проекта. Ну а мы не будем стоять на месте, будем развиваться дальше! Стоит верить, что вы - пользователи сайта, нам в этом поможете. Спасибо всем читателям за проявленный интерес к статье!



11.07.2018Беляев Сергей Николаевич
(администратор сайта)


Красноярский краевой Дворец пионеров, (c)2006 - 2024, ИНН 246305493507, E-mail: admin@acmp.ru