Viking
Viking личный блог
11 июня 2016, 09:53

Анализ TWIME против PLAZA2

Анализ TWIME против PLAZA2

Все использованные далее замеры проведены 7 июня 2016 года.

Рис 1. 
Анализ TWIME против PLAZA2
На рисунке 1 раунд трип заявки на выставление (микросекунды): серым — TWIME, желтым – PLAZA2, синим – фикс срочного рынка.
Видно, что клиенты подключены к одному и тому же пром-серверу, т.к. графики сильно коррелируют.
Средний раунд трип в этот день: фикс 989 мкс, PLAZA2 842 мкс, TWIME 841 мкс
В данной ситуации TWIME на одну-две заявки опережает PLAZA2 по скорости выставления, а PLAZA2 опережает фикс. Видно так же, что TWIME менее стабилен, чем фикс и PLAZA2. Из-за этого среднее время раунд трипа у TWIME и PLAZA2 почти одинаковое.
Такими же обнадеживающими были наши замеры TWIME в первые две недели его работы, на основе которых мы стали рекомендовать его клиентам.

Но, как выяснилось теперь, не всегда графики коррелируют. Посмотрите на следующий рисунок.

Рис 2. 
Анализ TWIME против PLAZA2
На рисунке 2 раунд трип заявки на выставление (микросекунды): представлена статистика по трем одинаковым конфигурациям TWIME, работающим параллельно на одном сервере на разных ядрах, серым – TWIME с рисунка 1.

Если разные роутеры PLAZA2 демонстрируют сильные расхождения в раунд трипе, это объясняется тем, что роутеры, на которых проводятся замеры, подключены к разным пром-серверам с большой разницей в нагрузке. Из такой ситуации есть выход. Можем переподключить роутер к пром-серверу с меньшей нагрузкой. Но с TWIME есть проблема. Во-первых, не получается переподключиться: выжидая десять минут после отключения показатели раунд трипа остаются теми же. Так же в TWIME нигде не написано, каким путем заявки идут на биржу. Ясно, что TWIME может отправлять заявки в ядро несколькими маршрутами, и не все маршруты хороши. Вопрос возможности выбора маршрута пока что остается открытым.

В связи с вышесказанным, клиентам рекомендуется пока вернуться к использованию PLAZA2, как к основному шлюзу для торговли на срочном рынке.

 

 

36 Комментариев
  • Андрей К
    11 июня 2016, 10:00
    Подпишите рис2. Что где.
  • Андрей К
    11 июня 2016, 10:09
     Кстати, а почему вы не думаете, что на twime, ваш код может давать нестабильность?
  • Кобкина Лада
    11 июня 2016, 10:29
    вот что нужно на главную выносить
  • Cristopher Robin
    11 июня 2016, 10:52
    Что то вы не то делаете. Совсем не то.

  • crazyFakir
    11 июня 2016, 12:06
    >Ясно, что TWIME может отправлять заявки в ядро
    >несколькими маршрутами,
    уточните о каких маршрутах речь? от куда до куда?
    • Андрей К
      11 июня 2016, 12:26
      crazyFakir, тоже было интересно. Ведь боевой ip один.
      • Schurik
        11 июня 2016, 19:26
        Viking, а биржа не говорила, планируют ли они обновить это железо? Если да, то в какие сроки?
  • korn
    11 июня 2016, 12:54
    Спасибо за инфо
  • Михаил Пиписькин
    11 июня 2016, 13:02
    уточните про плаза роутер, он был биржевой или ломаный?
    • Андрей К
      11 июня 2016, 13:21
      Александр, для чего это спрашиваете?
      • Михаил Пиписькин
        11 июня 2016, 14:39
        Андрей К, если это биржевой роутер то тут только один вариант, уровень программистов этого тестера == уровню программистов биржи которые писали роутер. хотя нет немного хуже, так-как в роутере есть сжатие а это еще + время. вообще нужно больше деталей, мы сейчас обсуждаем черный ящик. вообще не понятно как они работают с сетью, как разбирают сообщения. быстрые парни говорят TWIME быстрее плазы.
        • Андрей К
          11 июня 2016, 15:35
          Александр, даже без быстрых парней видно, на скрине он быстрее. Правда на практике возможно и не на 1-2 заявки =)
          • Михаил Пиписькин
            11 июня 2016, 16:15
            Андрей К, вообще странно что биржа не сделала аналог mqsender для TWIME
            • Андрей К
              11 июня 2016, 16:20
              Александр, ну twime в первую очередь позиционируется как аналог fix, только бинарный, что ведет к несомненным плюсам для разработчика. А в фиксе mqsender'а нет, всему свое место =)
              • Михаил Пиписькин
                11 июня 2016, 20:46
                Андрей К, да я срать хотел как что позиционируют, дайте нормальную возможность алготрейдеру.
                • Андрей К
                  11 июня 2016, 21:30
                  Александр, вам дали прекрасную возможность исключить роутер из постановки заявки =))
                  кстати, чем не устроил twime?
    • Андрей К
      11 июня 2016, 13:29
      Viking, спасибо за ответ.
    • Андрей К
      11 июня 2016, 13:32
      Viking, я почему спросил про код, я человек въедливый и делаю замеры и изучения кода под разным углом. Профилировщик может и не показывать просадок. Но например, если замерить определенный участок кода 100т раз, в силу внешних, либо каких то других факторов, он может выйти из обычной колеи в определенные моменты. Ну например во время копирования памяти и одновременного вывода на экран. Такая ситуация может наложить отпечаток на вашем графике twime.

      plaza может избежать такие моменты, так как выведена в отдельную единицу в виде роутера, да и вообще чужая разработка вне нашего кода =))

      сам такие замеры в течении всего дня не делал, поэтому и спрашиваю вас. Прошу понять правильно.
  • Андрей К
    11 июня 2016, 13:43
    Попробую на следующей неделе тестовый пологировать целый день, будет ли там такая ситуация.
  • Алексей Никитин
    11 июня 2016, 14:24
    Подтверждаю, надеялись на лучшее с TWIME
    • Андрей К
      11 июня 2016, 15:36
      Алексей Никитин, и что получили на деле?
  • Алексей Никитин
    11 июня 2016, 15:55
    На деле получили надежду на то что биржа поправит подкрутит)))
    • Андрей К
      11 июня 2016, 16:18
      Алексей Никитин, я думаю, первоочередная цель twime — это выключить из цепи постановки заявки звено роутера. Это несомненный плюс для не огромно бюджетных hft
  • Schurik
    11 июня 2016, 15:55
    А какие минимальные значения раундтрипов выставления заявок на разных шлюзах у вас получаются?
      • Михаил Пиписькин
        12 июня 2016, 01:53
        Viking, расскажите лучше о «Минимальный дистрибутив Linux, настроенный под low latency»
  • SECRET
    12 июня 2016, 01:50
    Надо учитывать, что получение ответа на заявку и появление ее в системе это разные вещи. Величина задержки от момента отправки до попадания в систему не измерена. Тема не раскрыта. Все выводы сделаны с допущением, что время от отправки до получения ответа = времени от отправки до появления в системе.
  • matrix
    12 июня 2016, 11:28
    «Из такой ситуации есть выход. Можем переподключить роутер к пром-серверу с меньшей нагрузкой.» — Вы так написали как-будто можно легко переключиться на менее нагруженный пром-сервер :) команда такая — подключиться к самому быстрому пром :)
    • flextrader
      12 июня 2016, 18:57
      matrix, ога-ога (ждал кто же откомментирует этот момент топика),

      с учетом того, что наебиржа декларирует рандомный (относительно клиента) проброс на промы с нет-балансеров.
      • matrix
        13 июня 2016, 10:54
        flex trader, вообще ПРОМ непонятный элемент инфраструктуры биржи, если его не считать «сетевым» устройством, тогда биржа нарушает самое главное правило FIFO. А уж схема работы балансировщика большая тайна moex, но насколько я понимаю забивают 1 пром под завязку клиентами, потом начинают на следующий роутить подключения… такая вот х… я балансировка :) 
        *очень ведь сложно сделать балансировку, чтобы на всех промах было равное кол-во клиентов и еще сложнее сделать одинаковый аппаратный конфиг у каждого прома, чтобы задержка была примерно одинаковая для всех клиентов, про одинаковое время например через PTP и мечтать не приходиться, хотя на любой бирже это работает по умолчанию :) 2016 год вроде бы — скоро xeon будет с FPGA и ASIC, а тут на moex такое :) 

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн