Приглашаем на митап «Java и Linux – Борьба за микросекунды»

в 15:20, , рубрики: java, linux, Блог компании Технологический Центр Дойче Банка, время отклика, высокая производительность, дойче банк, Разработка под e-commerce

Приглашаем на митап «Java и Linux – Борьба за микросекунды» - 1

Привет!

Я, Алексей Рагозин, и мой коллега – Сергей Сорокин приглашаем вас на открытое мероприятие по теме «Java и Linux – Борьба за микросекунды». Мероприятие пройдет во вторник 8 августа в 19.00 в офисе Технологического Центра Дойче Банка. Все подробности и регистрация по ссылке.

Вот о чем мы планируем говорить.

В области электронной торговли время отклика информационной системы зачастую является серьезными конкурентным преимуществом на рынке. Скорость реакции торговой системы на рыночные события позволяет банку делать более выгодные предложения клиентам и избегать потерь, связанных с колебаниями финансовых рынков.

Многим знаком термин высокочастотная торговля (high frequency trading). В этом классе счет времени отклика идет на микросекунды, но и стоимость владения подобными системами очень велика. Специализированное сетевое оборудование, размещение серверов на хостинге торговой площадки, высокооптимизированный код, — все это экономически оправданно только для ограниченного числа торговых систем.

Чаще встречаются ситуации, в которых нужен разумный баланс между стоимостью владения, скоростью разработки и временем отклика системы.

На встрече 8 августа в Технологическом Центре Дойче Банка в Москве мы расскажем об особенностях разработки систем, которые должны обеспечивать низкое время отклика, используя обычные сервера и программную платформу Linux + Java. В частности, речь пойдет об архитектуре систем управления заявками.

Система управления заявками — важная часть стека электронной торговли. Это компонент, в котором происходит фиксация бизнес-транзакции на основании обмена сообщениями между контрагентами: клиентом, брокером (инвестиционным банком) и рынком.

Система управления заявками должна быть надежной, отказоустойчивой и обеспечивать минимальное время отклика.

В данном контексте малое время отклика — это сотни микросекунд (обычно до 1 миллисекунды)  на обработку события в прикладном процессе (не считая сетевого взаимодействия).

Получить подобные характеристики от системы, через которую могут проходить тысячи транзакций в секунду, непросто.

Традиционная архитектура систем управления заявками существенно отличается от классического JEE. Ключевым моментом является исключение «медленной» базы данных с критического пути. Данные для обработки транзакций хранятся в оперативной памяти, а ACID характеристики обеспечивает надежная очередь передачи сообщений.

Прикладная логика также требует особого подхода. Параллельная обработка запросов ведет к издержкам межпоточной синхронизации и конкуренции при доступе к общим структурам данных. Для достижения минимального времени отклика события обрабатываются последовательно конвейером из нескольких стадий. Каждая стадия обработки обслуживается отдельным потоком, что позволяет убрать «гонки» и при этом задействовать вычислительные ресурсы нескольких процессорных ядер.

Наконец, чтобы получить стабильное время отклика, недостаточно просто написать хороший код. Существуют факторы, неподвластные прикладному коду, — такие как конкуренция между процессами за вычислительные ресурсы, режимы энергосбережения процессора, локальность памяти и вычислительных ядер. Специальная настройка ОС Linux позволяет бороться с этими негативными факторами и существенно улучшать показатели времени отклика приложения.

Подводя итог, на этой сессии мы расскажем об особенностях создания решений с низким временем отклика на неспециализированном железе, Java и Linux.

До встречи!

Автор: aragozin

Источник

Поделиться

* - обязательные к заполнению поля