Мы уже 2 года плотно общаемся с HFT трейдерами и разработчиками решений для HFT торговли. И испытываем некоторую неловкость от того, что никто в этой среде открыто не рассказывает о своих технологических успехах. Так как мы делаем устройства на основе FPGA CEPappliance, применимые в том числе для HFT торговли, мы неустанно интересуемся кто и как использует FPGA в этой сфере. Складывается навязчивое впечатление, что FPGA в HFT торговле, как секс у подростков — все о них говорят, но мало кто ими занимается, да еще и успешно.
Читать полностью »
Рубрика «high performance» - 2
Реализация HFT роботов на устройствах CEPappliance
2017-10-27 в 8:57, admin, рубрики: algorithmic trading, fpga, HFT-трейдинг, high performance, pre-trade, risk checks, Анализ и проектирование систем, высокая производительность, Программирование, стартапы; команда; опытСравнение tick-to-trade задержек CEPappliance и Solarflare TCPDirect
2017-10-09 в 19:38, admin, рубрики: algorithmic trading, fpga, HFT-трейдинг, high performance, Исследования и прогнозы в IT, стартапы; команда; опытВ этой статье мы приводим значения задержек, измеренных для двух типов окружений — устройство на основе FPGA CEPappliance (“железка”) и компьютер с сетевой платой Solarflare в режиме TCPDirect, рассказываем как мы эти замеры получили — описываем методику измерения и ее техническую реализацию. В конце статьи есть ссылка на GitHub с полученными результатами и некоторыми исходниками.
Как нам кажется, полученные нами результаты могут быть интересны высокочастотным трейдерам, алготрейдерам и всем неравнодушным к обработке данных с малыми задержками.
Читать полностью »
Как мы создали устройство быстрой обработки потока событий на FPGA
2017-07-31 в 16:32, admin, рубрики: algorithmic trading, fpga, HFT-трейдинг, high performance, pre-trade, risk checks, стартапы; команда; опыт, я пиарюсьУстройство называется CEPappliance. CEP — от Complex Event Processing, а appliance — (и так должно быть понятно, но на всякий случай) “устройство” с английского.
Затеяли мы его в далеком 2010 году как хобби, трудясь над ним после основной работы долгими вечерами, плавно переходящими в короткие ночи, и по выходным дням. За 5 лет такой работы мы создали 3 прототипа в поисках решения с минимальными задержками и простой моделью программирования логики обработки данных.
В 2015 году мы осознали, что у нас получилось достойное творение, которое позволяет обрабатывать потоки данных с гарантированной задержкой в 2-3 микросекунды. И мы начали искать возможности превратить начатое в коммерческий продукт и, вероятно, перестать работать на “дядю”, заняться только нашим продуктом, посвящая ему все свое время. В конце 2015 мы нашли первого клиента, оставили “дядей” и пустились в “свободное плавание”.
Сегодня мы можем точно сказать, что устройство у нас получилось. Мы еще не реализовали всего задуманного и нам по-прежнему приходится много работать, чтобы добавлять новый функционал, иногда исправлять ошибки. Но наше устройство уже год работает в промышленной эксплуатации.
Читать полностью »
Потокобезопасный std::map с производительностью lock-free map
2017-05-10 в 21:44, admin, рубрики: c++, c++11, C++14, high performance, lock, lock-free, locks, low-latency, высокая производительность, параллельное программирование, ПрограммированиеПримеры использования и тестирование потоко-безопасного указателя и contention-free shared-mutex
В этой статье мы покажем: дополнительные оптимизации, примеры использования и тестирование разработанного нами потоко-безопасного указателя с оптимизированным разделяемым мьютексом contfree_safe_ptr<T> – это эквивалентно safe_ptr<T, contention_free_shared_mutex<>>
В конце покажем сравнительные графики тестов нашего thread-safe указателя и одних из лучших lock-free алгоритмов из libCDS на процессорах Intel Core i5/i7, Xeon, 2 x Xeon.
Читать полностью »
Выбор и настройка Garbage Collector для Highload системы в Hotspot JVM
2016-06-08 в 14:33, admin, рубрики: garbage collector, gc, high performance, hotspot, hotspot jvm, java, jvm, low-latency, RTB, rtb-реклама, Блог компании GetIntent, высокая производительностьВведение
При работе в сфере RTB (Real Time Bidding) одной из ключевых характеристик является время, затраченное на показ рекламы пользователю, зашедшему на сайт. Оно складывается из нескольких этапов, один из которых – аукцион за рекламное место, проводимый SSP (Supply Side Platform) между несколькими DSP (Demand Side Platform) системами. В этом случае критической величиной является время, за которое DSP успеет ответить своим инвентарем и денежной ставкой за данный показ. Как правило, верхняя граница этого времени составляет примерно 100 миллисекунд. С учетом того, что для оптимальной производительности рекламных кампаний требуется десятки тысяч запросов в секунду, выполнение данного требования может стать весьма нетривиальной задачей.
Читать полностью »
Рецепт «Быстрых данных» на основе решения для больших данных
2015-01-13 в 6:51, admin, рубрики: big data, BigData, EMC, Hadoop, high performance, Isilon, Блог компании EMC², высокая производительность, производительность, разработка, системы хранения данных, СХД, хранение данныхПри обсуждении работы с большими данными, чаще всего затрагиваются вопросы аналитики и проблемы организации процесса вычислений. Нам с коллегами выпала возможность поработать над задачами другого рода – ускорением доступа к данным и балансированием нагрузки на систему хранения. Ниже я расскажу о том, как мы с этим справились.
Свой «рецепт» мы смастерили из уже существующих «ингредиентов»: железки и программного инструмента. Сначала я расскажу, каким образом перед нами возникла задача ускорения доступа. Затем рассмотрим железку и программный инструмент. В заключение поговорим о двух проблемах, с которыми нам пришлось столкнуться в ходе работы.
Читать полностью »
Сравнение строк: strcmp или посимвольно. Benchmark
2014-08-15 в 10:04, admin, рубрики: high performance, string, string comparisonЯ искал ответ на вопрос «что быстрее»
strcmp(in, "first") == 0
или
strlen(in) == 5 && in[0] == 'f' && in[1] == 'i' && in[2] == 'r' && in[3] == 's' && in[4] == 't'
И, кажется, нашёл…
Читать полностью »
Один год из жизни проекта Ответы@Mail.ru
2014-03-07 в 10:16, admin, рубрики: hardware, high performance, highload, Блог компании Mail.Ru Group, высокая производительность, ит-инфраструктура, метки: hardware, high performance, highload
В данной статье я постараюсь вспомнить и описать все сложности и подводные камни, которые встречались на пути реализации задач, связанных с проектом Ответы, также расскажу и про архитектуру проекта.
Все началось с того, что мой контракт подошел к концу (в течение года я участвовал в работе над почтой Mail.ru). «Снова меня ждут приключения», — пронеслось в мыслях, — «новая страна, новая работа». Я пошел к своему начальству и в ходе обсуждений все-таки получил порцию приключений в виде интересной задачки — заняться проектом Ответы.Читать полностью »
Как работает Stack Overflow — железо
2013-11-23 в 22:34, admin, рубрики: hardware, high performance, highload, stack overflow, Администрирование баз данных, высокая производительность, ит-инфраструктураХотелось бы сказать, что Stack Overflow — масштабный проект, но это не так. Я имею ввиду мы добились многого, но я не могу назвать наш проект “большим”, ещё рано. Давайте я приведу в пример некоторые цифры — с какой нагрузкой мы имеем дело сейчас. Срез статистики за 24 часа от 12 ноября 2013 года. Это обычный будний день. Отмечу, что здесь представлена информация только по нашим собственным вычислительным мощностям, без CDN.