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


Найдено 4039 сообщений
Cообщения с меткой

трейдинг - Самое интересное в блогах

Следующие 30  »
igor220101

ТРЕЙДИНГ

Пятница, 22 Сентября 2017 г. 15:02 (ссылка)
https://biznesgermesportal....ments/177/

Объявление : ТРЕЙДИНГ

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Из песочницы] Как мы создали устройство быстрой обработки потока событий на FPGA

Понедельник, 31 Июля 2017 г. 19:32 (ссылка)

Устройство называется CEPappliance. CEP — от Complex Event Processing, а appliance — (и так должно быть понятно, но на всякий случай) “устройство” с английского.



Затеяли мы его в далеком 2010 году как хобби, трудясь над ним после основной работы долгими вечерами, плавно переходящими в короткие ночи, и по выходным дням. За 5 лет такой работы мы создали 3 прототипа в поисках решения с минимальными задержками и простой моделью программирования логики обработки данных.



В 2015 году мы осознали, что у нас получилось достойное творение, которое позволяет обрабатывать потоки данных с гарантированной задержкой в 2-3 микросекунды. И мы начали искать возможности превратить начатое в коммерческий продукт и, вероятно, перестать работать на “дядю”, заняться только нашим продуктом, посвящая ему все свое время. В конце 2015 мы нашли первого клиента, оставили “дядей” и пустились в “свободное плавание”.



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



Работая на “дядей” мы неплохо изучили технические аспекты и потребности торговли финансовыми инструментами на биржах и ориентировались в первую очередь на них. Это автоматизированная торговля (HFT, Algo Trading), контроль рисков (Pre-trade), организация “прямого” доступа к торгам (Direct Market Access) и т.п.



Но нам удалось сделать CEPappliance достаточно универсальным устройством, применимым в областях, где нужно прокачивать много данных и делать это не только быстро, но и с гарантированными малыми задержками. Благодаря встроенной поддержке стандартных сетевых протоколов и внесению минимальных задержек устройство применимо в телекоммуникациях для обнаружения нарушений безопасности в сетях, управления загрузкой сетей. Устройство может применяться в телематике, когда нужно за нескольких микросекунд принять решение и среагировать на поступление сигналов с датчиков. При этом логика обработки данных устройством может быть сложной. Для ее описания (программирования) мы используем некоторые приемы технологии Complex Event Processing (CEP).



CEPappliance было задумано и создавалось для решения задач, которые в упрощенном виде можно сформулировать так: с суммарной задержкой менее 3 микросекунд




  1. получить входные данные (сигнал) по сетевому интерфейсу в формате протоколов Ethernet, TCP/IP, UDP, FIX, FAST, TWIME (FIX SBE) и т.п.;

  2. разобрать и извлечь пользовательские данные;

  3. проанализировать пользовательские данные;

  4. сформировать выходные данные (реакцию) и отправить их по сетевому интерфейсу.



CEPappliance отличается от программного решения, выполняемого на архитектурах с центральным процессором тем, что ядром архитектуры устройства является программируемая пользователем вентильная матрица (ППВМ, FPGA), на которой реализованы все без исключения этапы решения описанных задач.



Архитектуры с центральным процессором развиваются. Появляются гибридные варианты (см. рис. 1, рис. 2 и рис. 3), в которых время доставки данных от сетевых интерфейсов до процессора (и обратно) сокращается за счет переноса обработки протоколов сетевого и прикладного уровней с центрального процессора в сетевые карты. Тем не менее, время доставки данных составляет 1 — 3 микросекунды (в одну сторону) и вносит ощутимый вклад в задержку, которая отдаляет момент реакции от момента поступления сигнала1.



На FPGA мы разместили компоненты для разбора, извлечения, анализа входных данных и формирования выходных данных на одном кристалле образно говоря «без посредников» (см. рис. 4), которые обязательно присутствуют в решениях с центральным процессором.



Логическая схема традиционного решения с центральным процессором


Рис. 1. Логическая схема традиционного решения с центральным процессором



Логическая схема гибридного решения с центральным процессором и TCP Offload Engine на сетевой карте


Рис. 2. Логическая схема гибридного решения с центральным процессором и TCP Offload Engine на сетевой карте



Логическая схема гибридного решения с центральным процессором, TCP Offload Engine и реализацией протоколов прикладного уровня в сетевой карте


Рис. 3.Логическая схема гибридного решения с центральным процессором, TCP Offload Engine и реализацией протоколов прикладного уровня в сетевой карте



Логическая схема CEPappliance


Рис. 4. Логическая схема CEPappliance



В CEPappliance компоненты для разбора, извлечения, анализа входных данных и формирования выходных данных, расположены на кристалле FPGA и непосредственно взаимодействуют между собой.



Для этого пришлось “изобрести велосипед” заново. Напомню, что начинали мы работу (в далеком 2010 году) над CEPappliance в режиме хобби. Все делали сами “как надо и правильно”. В итоге, помимо прочего, мы реализовали Ethernet, TCP/IP, UDP, FIX и FAST “с нуля”.



Нам удалось создать эти компоненты так, что разбор входных данных происходит со скоростью их поступления (at wire speed). Компоненты реализуют соответствующие стандарты, которые “высечены в камне” и не часто изменяются. Для стандартных протоков мы предусмотрели механизм настройки. Например, модули протоколов FIX, FAST, TWIME и др. настраиваются с помощью параметров, задаваемых пользователем, и шаблонов или схем, описывающих структуру сообщений.



В то же время мы исходили из того, что (пользовательскте) алгоритмы обработки данных могут изменяться. Например, торговые стратегии или проверки, выполняемые брокером для минимизации рисков (pre-trade risk checks), следуют за изменением ситуации на рынке, модернизацией микроархитектуры биржи или требованиями регуляторов.



Разработка алгоритмов для FPGA непосредственно на “железячных” языках (VHDL, Verilog и т.п.) требует значительно больше времени для кодирования, отладки и тестирования, чем разработка на языках высокого уровня [2]. Для этого также необходимы специальные навыки, которыми программисты, пишущие программы на языках высокого уровня, как правило, не обладают. И если вы планируете использовать FPGA для ускорения выполнения своих алгоритмов, то вам придется передать детальное описание алгоритма FPGA-разработчику, который будет его реализовывать. Иногда это крайне нежелательно, так как передача описания алгоритма создает для его обладателя риск потери конкурентного преимущества.



Наше устройство предоставляет пользователю возможность самому описать алгоритм обработки данных. Для этого мы разработали




  • алгоритмический язык высокого уровня,

  • процессор оригинальной архитектуры и

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



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



Предоставив пользователю возможность самостоятельно программировать CEPappliance мы, очевидно, должны были предоставить и инструментарий для отладки этих программ. Без такого инструментария трудно будет воспользоваться всеми преимуществами CEPappliance. Поэтому мы разработали эмулятор устройства, который на 100% совместим с самим устройством. Отладив программу на эмуляторе, можно изменить конфигурацию (в большинстве случаев это смена IP адреса) и сходу запустить программу на устройстве.



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



А для автоматического тестирования пользовательских программ, написанных для CEPappliance, у нас есть специальный инструмент — Test Bench, который читает тестовые сценарии в табличном виде и выполняет их. Один и тот же набор тестов можно выполнять как с устройством, так и с его эмулятором.



Ну и подводя некоторые итоги… Наши платы стоят в датацентре Московской биржи и успешно торгуют. Про результаты торгов рассказать не можем — это не наша тема, но клиент весьма доволен (и этот текст с ним согласован).



Впереди много работы по развитию устройства, поиск клиентов в областях за пределами биржевой торговли и много новых идей!






1Про то, как образуется эта задержка в случае обмена данными по TCP/IP можно почитать в [1]. А здесь рассказано, как эту задержку можно уменьшить за счет реализации гибридной архитектуры с применением FPGA.



Ссылки



1. S. Larsen and P. Sarangam, “Architectural Breakdown of End-to-End Latency in a TCP/IP Network,” International Journal of Parallel Programming, Springer, 2009.

2. David F. Bacon, Rodric Rabbah, and Sunil Shukla. FPGA Programming for the Masses. ACM Queue, Vol 11(2), February 2013.
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/334574/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Обновление инфраструктуры рабочих мест трейдеров

Понедельник, 31 Июля 2017 г. 18:43 (ссылка)

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



В то время мы долго искали выход из сложившейся ситуации и в итоге пришли к очень

интересному и технологичному решению, о котором сегодня расскажем.



2014 год:











Итак, мы поняли, что пора что-то менять, и сформулировали основные цели обновления инфраструктуры рабочих мест трейдеров в Райффайзенбанке:



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

• Продление срока эксплуатации установленного оборудования.

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

• Обеспечить возможность сотрудникам трейдинга “бэкапить” коллег в момент их отсутствия с помощью функции просмотра и перехвата управления источников информации.

• Внедрение высокопроизводительного решения и организация распределенного доступа ко всем источникам информации в режиме реального времени.

Виртуализация



Самый очевидный вариант решения проблемы — развертывание виртуальных рабочих станций WmWare на серверах компании. Однако тут мы очень быстро столкнулись с проблемами, которые были несовместимы с нормальной работой трейдера. В первую очередь — это задержка при работе тонкого клиента. Если, к примеру, обычный сотрудник её и не заметит, то для трейдера даже секундная задержка может привести к крупным финансовым потерям. И минимальные системные требования к трейдинговым терминалам обычно соответствуют уровню очень высокопроизводительных рабочих стнций, что сильно уменьшает привлекательность применения виртуализации. К тому же размещение программного обеспечение на виртуальных серверах очень часто запрещается (в том числе и техническими средствами) компаниями, которые разрабатывают трейдинговые терминалы (программное обеспечение).

WEY



Затем мы обратили внимание на комплексное решение от компании WEY, которое представляет собой комплекс аппаратных средств, который позволяет интегрировать различные системы: торговые, информационные, аналитические, риск-менеджмент системы управления, контроля, — и организовать современный трейдинг в банке, центр управления и контроля различными системами безопасности и сетями. Оно включало в себя интеграцию большого количества разнородных систем и источников данных на каждом рабочем месте. С его помощью можно было объединить Thomson Reuters Dealing (впоследствии FX Trading), Bloomberg, Moex (MICEX +RTS), Quik и многие другие трейдинговые площадки. Технологически же, WEY — платформа распределенного доступа, которая состоит из передающих и приемных интерфейсных карт, коммутационном сетевым оборудовании HUAWEY, управляющих консолей WEY, адаптированных и настроенных под определенные банковские торговые системы, а в качестве рабочих станций мы применили сервера HP семейства SL.



Решение WEY полностью аппаратное. Работает на технологии передачи данных по WEY протоколу, обеспечивающему real-time передачу данных с возможностью инкапсуляции в IP для передачи в режиме unicast и multicast. Связь компьютеров в техническом помещении с трейдинговым залом осуществляется на уровне интерфейсов компьютеров через платформу WEY, по отдельному специально организованному (выделенному) сегменту сети на базе проприетарного протокола WEY.



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



Сервера HP были выбраны не случайно. Их можно было поставить в стойку и тем самым сократить используемое место в техническом помещении. Однако изначально с ними возникла серьезная проблема: серверное оборудование не особенно предназначено для работы как полноценная рабочая станция, например поставлялось без видео и звуковых карт. Если с видеокартами особых проблем не возникло, мы использали профессиональные решения от Nvidia, то со звуком возникли проблемы – звуковую карту банально некуда было вставлять… Решение было найдено неожиданное — USB-карты, которые подключались и устанавливались внутри самих серверов в свободный USB порт на материнской плате.



Мультифункциональная клавиатура WEY MK 06



Вместо нескольких клавиатур и манипуляторов “мышь” на каждом рабочем месте была установлена одна мультифункциональная клавиатура WEY MK 06 на основе FPGA с клавишами и цветным ЖК дисплеем. Специальные встроенные блоки и функциональные клавиши в дисплее для работы с системами ведущих поставщиков информационно-аналитических и торговых сервисов позволяют значительно ускорить работу трейдера. Функциональные настройки клавиатуры и раскладки клавиш могут быть изменены персонально в зависимости от требований пользователя, максимально обеспечивая удобство работы при осуществлении ежедневных операций.



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



Безопасность

Очень важно было обеспечить безопасность решения. В трейдинговом зале могут находиться несколько различных систем от разных провайдеров, которые находятся в разных сетях. Некоторые из этих сетей могут быть публичными и небезопасными. С WEY нет необходимости устанавливать все системы в одну подсеть для того, чтобы пользователь мог комфортно работать со всем множеством систем. Платформа позволяет оставить каждую систему в своей подсети и работать пользователю со всеми необходимыми системами и быстро переключаться между ними. При этом все сети остаются изолированными, а система WDP работает в отдельном изолированном специально организованном сегменте. Для передачи сигналов используется специально разработанный проприетарный протокол WEY, инкапсулированный в IP для транспортировки через Ethernet для соединения карт sender-receiver применяются универсальные платы с SFP модулями, которые позволяют адаптировать систему под любую кабельную систему в зависимости от предпочтений клиента и технических ограничений ( требований ) объекта.

В системе предусмотрена возможность создания логинов и паролей для пользователей, логирование использования систем пользователями. В последних моделях клавиатур SmartTouch предусмотрены датчики “присутствия” пользователей на рабочем месте, которые позволяют автоматически «разлогинить» пользователя из системы, как только он покидает рабочее место. В этот момент все мониторы становятся темными.



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



Как обеспечивается просмотр и перехват управления источниками информации?

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



• отсутствуют права доступа

• полный доступ

• только просмотровый режим

• приватный режим

• режим доступа только по разрешенным интерфейсам



В процессе присвоения прав и приоритетов доступа, например, руководителям присваиваются более высокие права и приоритеты доступа, что позволяет руководителю отдела (департамента) в процессе операционной деятельности подключиться к любой системе в режиме просмотра и в случае необходимости перехватить управление системой на себя. При этом на ЖК дисплее клавиатуры руководителя будет видно, кто из пользователей в данный момент пользуется данной системой.



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

Расширение трейдингового зала

Для того чтобы добавить новое рабочее место, необходимо просто подключить приёмные карты и клавиатуру к сети WEY и создать в системе нового пользователя, присвоить ему права и приоритеты доступа. После этого на рабочем месте могут быть доступны абсолютно все источники, интегрированные в систему. То же самое касается и самих источников — компьютеров. Устанавливается новая передающая карта, к которой подключаются интерфейсы систем. И всё, система с этого момента доступна к просмотру или управлению с любого рабочего места (в зависимости от настроек прав доступа конкретного пользователя). При этом пользователь может зайти в систему WEY с любого рабочего места. Он не привязан ни к какому из них. Поэтому рабочие места можно расположить даже в другом здании. Таким образом, система может расширяться минимальными шагами.



2017 год:





Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/334570/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<трейдинг - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda