+ All Categories
Home > Education > Exactpro Kostroma: High Availability Systems

Exactpro Kostroma: High Availability Systems

Date post: 11-Nov-2014
Category:
Upload: iosif-itkin
View: 1,449 times
Download: 4 times
Share this document with a friend
Description:
Разработка и отказоустойчивость программных систем высокой доступности Иосиф Иткин, Exactpro Systems 23 декабря 2013
Popular Tags:
33
Разработка и отказоустойчивость программных систем высокой доступности Иосиф Иткин, Exactpro Systems 23 декабря 2013
Transcript
Page 1: Exactpro Kostroma: High Availability Systems

Разработка и отказоустойчивость программных систем высокой доступности

Иосиф Иткин, Exactpro Systems23 декабря 2013

Page 2: Exactpro Kostroma: High Availability Systems

Введение

Инновационные трейдинговые системыул. Ленина 20

Создание и применение инструментов для проверки высоконагруженных трейдинговых системВ Костроме – 130 человек

http://clubqa.ru http://tmpaconf.org

Page 3: Exactpro Kostroma: High Availability Systems

Критерии высокой доступности

• Высокая доступность – High Availability• HA is the proportion of time a system is productive and is

usually expressed as a percentage. • Availability is expressed as MTTF / (MTTF+MTTR), where:

• MTTF (mean-time-to-failure) is the average time that a system runs (without failing) after it has been set up or repaired.

• MTTR (mean-time-to-repair) is the average time needed to repair (or restore) a failed system.

• In the spectrum of system availability, HA systems fall between 99.9% and 100% availability.

http://www.tpc.org/information/other/articles/ha.asp

Page 4: Exactpro Kostroma: High Availability Systems

Виды простоя систем

• Downtime can be categorized as either planned or unplanned• Planned downtime - is time that the system is unavailable due

to scheduled maintenance such as software/hardware upgrades and system backups.

• Unplanned downtime is time that the system is unavailable due to component faults or environmental faults. Human error and "natural" disasters (including power outages) are examples of "environmental faults."

Page 5: Exactpro Kostroma: High Availability Systems

Способы повышенияотказоустойчивости

• Minimize the number of faults and the effect/recovery time of faults in a system.

• Avoid a single-point-of-failure by utilizing redundant parts and rerouting (failover).

• Reduce the impact of environmental faults by using UPS and off-site data mirroring and/or replication provide for "hot" repair of failed components.

Page 6: Exactpro Kostroma: High Availability Systems

Пример архитектуры

http://www.cinnober.com/sites/cinnober.com/files/news/Latency_revisited.pdf

Page 7: Exactpro Kostroma: High Availability Systems

Пример архитектуры

http://extentconf.com

Page 8: Exactpro Kostroma: High Availability Systems

Уровни доступности

Page 9: Exactpro Kostroma: High Availability Systems

Два раза моргнуть

Типичные требования к биржевой системе

круг по МКАД

7.5 см

в 1000 раз быстрее

Суточный объем > 100 M orders

Время отклика < 300 uS

Пиковые нагрузки > 40 K orders / sec

Page 10: Exactpro Kostroma: High Availability Systems

Смерть тестирования

Page 11: Exactpro Kostroma: High Availability Systems

Принципы тестирования

Три вида воздействия

http://www.sec.gov/litigation/admin/2013/34-69655.pdf

Page 12: Exactpro Kostroma: High Availability Systems

USS Yorktown

21 сентября 1997 годаCG-47 Aegis пилотная версия «Умного Корабля»Отказ всех систем, включая двигатели на 2.5 часаНеправильные данные введены в Remote Data Base ManagerПривели к переполнению базы данных и отключению LAN, включая все терминалы

Page 13: Exactpro Kostroma: High Availability Systems

USS Yorktown

21 сентября 1997 годаCG-47 Aegis пилотная версия «Умного Корабля»Отказ всех систем, включая двигатели на 2.5 часаНеправильные данные введены в Remote Data Base ManagerПривели к переполнению базы данных и отключению LAN, включая все терминалыОшибка – деление на ноль

Page 14: Exactpro Kostroma: High Availability Systems

Mizuho Securities

12 октября 2005 годаПопытка продать 1 акцию J-Com за 610,000 йен ($5,041)Ошибочно перепутаны объем и ценаНе сработали риск системы:a)Mizuho Securitiesb)Токийской биржиПотери оцениваются в $225 млн.

Ошибка такого вида называется Fat Finger

Page 15: Exactpro Kostroma: High Availability Systems

Ariane 5 Type Conversion

4 июня 1996 годаПервый полет ракеты Ariane 5Отклонение курса и разрушение через 40 секунд после стартаАвтоматический подрыв на высоте 3700 метровПреобразование 64 битного числа в 16 битОшибка invalid operand на языке AdaПО совпадала с предыдущей версией Ariane 4Но горизонтальная скорость существенно вышеТестирование проводилось на симуляторе без

использования самой SRIОшибку воспроизвели на тестах

Page 16: Exactpro Kostroma: High Availability Systems

Patriot Software

25 февраля 1991 года, Дахран, Саудовская АравияБатарея Патриот не стала сбивать ракету ScudПопадание в казарму привело к гибели 28 человекОколо 97 человек получили раненияРасследование обнаружило ошибку в ПО

Page 17: Exactpro Kostroma: High Availability Systems

Patriot Software

Для хранения времени использовалось 24 битаЗначение 0.1 секунд в бинарном виде:

0.0001100110011001100110011001100.... (1/24+1/25+1/28+1/29+1/212+1/213+...)

Ошибка округления0.0001100110011001100110011001100....или 0.000000095

Предполагалось, что комплекс будет работать короткое время Систему не перегружали 100 часов0.000000095×100×60×60×10=0.34 секундыСкорость Scud 1,673 метра в секунду -> ошибка 568 метров

Page 18: Exactpro Kostroma: High Availability Systems

Patriot Software

Page 19: Exactpro Kostroma: High Availability Systems

Patriot Software

Page 20: Exactpro Kostroma: High Availability Systems

Patriot Software

Page 21: Exactpro Kostroma: High Availability Systems

Patriot Software

25 февраля 1991 года, Дахран, Саудовская АравияСообщение об ошибке 11 февраляОтвет – это не баг а фичаWorkaround рестартовать каждые 8 часовРестарт 60 – 90 секундИсправление готово 16 февраляДоставка обновлений в Дахран

26 февраля

Page 22: Exactpro Kostroma: High Availability Systems

Измерение времен отклика

Page 23: Exactpro Kostroma: High Availability Systems

North American Blackout

14 августа 2003 года, США и КанадаКаскадное отключение электричестваСитуация гонок привела к переполнению буфера и отключению системы уведомленийСброс 4% нагрузки мог бы предотвратить потери порядка $10b

Page 24: Exactpro Kostroma: High Availability Systems

Ситуация Гонок

http://en.wikipedia.org/wiki/Race_condition

Page 25: Exactpro Kostroma: High Availability Systems

Therac-25

Therac-25 — аппарат лучевой терапии запущенный в 1982 гЭтот аппарат был причиной как минимум шести передозировокДве со смертельнымисходом

Page 26: Exactpro Kostroma: High Availability Systems

Therac-25

Одна и та же переменная применялась как для анализа введённых чисел, так и для определения положения поворотного круга. Поэтому при быстром вводе Therac мог иметь дело с неправильным положением поворотного круга (так называемое состояние гонки).

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

Page 27: Exactpro Kostroma: High Availability Systems

Therac-25

Деление на величину излучения, приводящее в некоторых случаях к ошибке деления на ноль и к соответствующему увеличению величины облучения до максимально возможной.Установка булевской переменной (однобайтовой) в значение «истина» производилось командой «x=x+1». Поэтому с вероятностью 1/256 при нажатии кнопки «Set» программа могла не пропустить информацию о некорректном положении диска.Кроме этих явных ошибок было замечено множество потенциальных — например, в многозадачной операционной системе не было никакой синхронизации

Page 28: Exactpro Kostroma: High Availability Systems

Deadlock

Page 29: Exactpro Kostroma: High Availability Systems

Smart Order Router

Page 30: Exactpro Kostroma: High Availability Systems

Order Routing in US

http://www.nanex.net/FlashCrash/OngoingResearch.html

Page 31: Exactpro Kostroma: High Availability Systems

Knight Capital

1 августа 2012 года, СШАKnight Capital – одна из наиболее успешных HFT компанийИзменения в связи с Retail Liquidity Program в NYSEСистем SMARS – высокоскоростной роутер заявокВ основе изменений старая функциональность – PowerPegКоличество родительских заявок – 212Количество дочерних заявок – миллионыПотери – $460 млн. или $170 тыс. в секундуОтсутствие механизмов контроля и мониторинга рисков в самой системе SMARSРазвертывание изменений на 7 серверовВсего серверов было 8…

Page 32: Exactpro Kostroma: High Availability Systems

TMPA-2014 в Костроме

Анализ программСтатическая верификацияМутационное тестированиеНеобычные инструментыВерификация оборудованияМногое другое…

Page 33: Exactpro Kostroma: High Availability Systems

Спасибо!

http://www.cs.tau.ac.il/~nachumd/horror.html


Recommended