ݺߣ

ݺߣShare a Scribd company logo
Обзор методов
оптимистического управления
временем

Александр Невидимов, гр. 6110
СПбНИУ ИТМО, 2012
Консервативные методы
 Не допускают нарушений локальной
  каузальности
 Плохо поддаются параллелизации
 Требуют дополнительной информации
  для определения безопасного события
  процесса (lookahead)
Оптимистические методы:
важные свойства
   Выявляют нарушения каузальности и
    устраняют их
   Можно параллелить
   Не требуют дополнительной
    информации
   Прозрачнее для разработки
    математического ПО
   Могут потребовать больше вычислений
   Сложнее реализовать, чем
    консервативные
Оптимистические методы:
характерные особенности
 Сообщения с временными метками
 Топология может меняться
 Сообщения по линии связи
  передаются неупорядоченные по
  времени
 Линии связи достаточно надежны
Time Warp
   Если новое сообщение имеет меньшую
    метку времени, чем уже обработанные
    – производится откат:
    ◦ Состояние процесса восстанавливается
      через контрольную точку
    ◦ Процесс отказывается от ошибочно
      обработанных сообщений через
      антисообщения
Антисообщение
 Копия обычного сообщения
 Уничтожает такое же позитивное
  сообщение в очереди процесса
 Если соответствующие позитивное
  сообщение уже обработано – откат
  состояния
 Может повлечь появление новых
  антисообщений (рекурсия)
Time Warp: проблемы
 Некоторые действия необратимы –
  например, ввод-вывод
 Нужно много памяти для хранения
  контрольных точек
    ◦ В идеале, делаются после каждого
      полученного сообщения
    ◦ Некоторые процессы могут «забегать»
      слишком далеко
Global Virtual Time
 Нижняя граница временной отметки
  любого будущего отката
 Вычисляется с учетом
  откатов, выполненных в прошлом
 Является наименьшей временной
  меткой среди частично обработанных
  и необработанных сообщений
 Является нижней границей временной
  метки для поступающих сообщений
Как GVT может устранить
«забегающие» вперед процессы

Решение проблем с памятью
 Выполнять откат с целью
  освобождения памяти,
  использующейся для хранения
  состояний
 Сохранять состояние реже, чем после
  каждого события
    ◦ Интервал сохранений указывается
      пользователем или подбирается
      адаптивным алгоритмом
Спасибо за внимание!

More Related Content

Similar to обзор методов оптимистического управления временем (20)

Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Ontico
Software craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисыSoftware craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисы
Pavel Veinik
Software craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещениеSoftware craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещение
Pavel Veinik
Строим базу типовых решений инцидентов
Строим базу типовых решений инцидентовСтроим базу типовых решений инцидентов
Строим базу типовых решений инцидентов
Cleverics
20070414 TOC paragigm
20070414 TOC paragigm20070414 TOC paragigm
20070414 TOC paragigm
Андрей Степенко
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Ontico
Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)
Nikolay Sivko
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Nikita Nalyutin
дерюшкин Agile vector
дерюшкин   Agile vectorдерюшкин   Agile vector
дерюшкин Agile vector
Magneta AI
Agile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAgile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в Райффайзенбанке
Alexey Deryushkin
Scrum practic
Scrum practicScrum practic
Scrum practic
Vlad Volkoff
Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"
Grigoriy Orlov
Метрики и отчётность по процессу управления инцидентами
Метрики и отчётность по процессу управления инцидентамиМетрики и отчётность по процессу управления инцидентами
Метрики и отчётность по процессу управления инцидентами
Cleverics
CloudsNN 2014. Демидов Александр. Заоблачная безопасность: как обойти чужие г...
CloudsNN 2014. Демидов Александр. Заоблачная безопасность: как обойти чужие г...CloudsNN 2014. Демидов Александр. Заоблачная безопасность: как обойти чужие г...
CloudsNN 2014. Демидов Александр. Заоблачная безопасность: как обойти чужие г...
Clouds NN
Введение в Scrum
Введение в ScrumВведение в Scrum
Введение в Scrum
Dmitry Sidorenko
Илья Космодемьянский (PostgreSQL-Consulting.com), Роман Друзягин (404 Group)
Илья Космодемьянский (PostgreSQL-Consulting.com), Роман Друзягин (404 Group)Илья Космодемьянский (PostgreSQL-Consulting.com), Роман Друзягин (404 Group)
Илья Космодемьянский (PostgreSQL-Consulting.com), Роман Друзягин (404 Group)
Ontico
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Ontico
Software craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисыSoftware craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисы
Pavel Veinik
Software craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещениеSoftware craftsmanship meetup #9. Логирование, мониторинг, оповещение
Software craftsmanship meetup #9. Логирование, мониторинг, оповещение
Pavel Veinik
Строим базу типовых решений инцидентов
Строим базу типовых решений инцидентовСтроим базу типовых решений инцидентов
Строим базу типовых решений инцидентов
Cleverics
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Ontico
Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)
Nikolay Sivko
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Nikita Nalyutin
дерюшкин Agile vector
дерюшкин   Agile vectorдерюшкин   Agile vector
дерюшкин Agile vector
Magneta AI
Agile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAgile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в Райффайзенбанке
Alexey Deryushkin
Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"
Grigoriy Orlov
Метрики и отчётность по процессу управления инцидентами
Метрики и отчётность по процессу управления инцидентамиМетрики и отчётность по процессу управления инцидентами
Метрики и отчётность по процессу управления инцидентами
Cleverics
CloudsNN 2014. Демидов Александр. Заоблачная безопасность: как обойти чужие г...
CloudsNN 2014. Демидов Александр. Заоблачная безопасность: как обойти чужие г...CloudsNN 2014. Демидов Александр. Заоблачная безопасность: как обойти чужие г...
CloudsNN 2014. Демидов Александр. Заоблачная безопасность: как обойти чужие г...
Clouds NN
Илья Космодемьянский (PostgreSQL-Consulting.com), Роман Друзягин (404 Group)
Илья Космодемьянский (PostgreSQL-Consulting.com), Роман Друзягин (404 Group)Илья Космодемьянский (PostgreSQL-Consulting.com), Роман Друзягин (404 Group)
Илья Космодемьянский (PostgreSQL-Consulting.com), Роман Друзягин (404 Group)
Ontico

More from Alexander Nevidimov (20)

чек за платеж за телефон
чек за платеж за телефончек за платеж за телефон
чек за платеж за телефон
Alexander Nevidimov
чек за платеж за телефон
чек за платеж за телефончек за платеж за телефон
чек за платеж за телефон
Alexander Nevidimov
Presentation_1376917645876
Presentation_1376917645876Presentation_1376917645876
Presentation_1376917645876
Alexander Nevidimov
Presentation_1376222064850
Presentation_1376222064850Presentation_1376222064850
Presentation_1376222064850
Alexander Nevidimov
Presentation_1376220985856
Presentation_1376220985856Presentation_1376220985856
Presentation_1376220985856
Alexander Nevidimov
Presentation_1376220236996
Presentation_1376220236996Presentation_1376220236996
Presentation_1376220236996
Alexander Nevidimov
Presentation_1376218980392
Presentation_1376218980392Presentation_1376218980392
Presentation_1376218980392
Alexander Nevidimov
Presentation_1376168115602
Presentation_1376168115602Presentation_1376168115602
Presentation_1376168115602
Alexander Nevidimov
Presentation_1375882767439
Presentation_1375882767439Presentation_1375882767439
Presentation_1375882767439
Alexander Nevidimov
Presentation_1375882705328
Presentation_1375882705328Presentation_1375882705328
Presentation_1375882705328
Alexander Nevidimov
Presentation_1375280857464
Presentation_1375280857464Presentation_1375280857464
Presentation_1375280857464
Alexander Nevidimov
Presentation_1375280653597
Presentation_1375280653597Presentation_1375280653597
Presentation_1375280653597
Alexander Nevidimov
Presentation_1373778041831
Presentation_1373778041831Presentation_1373778041831
Presentation_1373778041831
Alexander Nevidimov
Presentation_1373190655210Presentation_1373190655210
Presentation_1373190655210
Alexander Nevidimov
Presentation_1372848115982
Presentation_1372848115982Presentation_1372848115982
Presentation_1372848115982
Alexander Nevidimov
Presentation_1371997361000
Presentation_1371997361000Presentation_1371997361000
Presentation_1371997361000
Alexander Nevidimov

обзор методов оптимистического управления временем

  • 2. Консервативные методы  Не допускают нарушений локальной каузальности  Плохо поддаются параллелизации  Требуют дополнительной информации для определения безопасного события процесса (lookahead)
  • 3. Оптимистические методы: важные свойства  Выявляют нарушения каузальности и устраняют их  Можно параллелить  Не требуют дополнительной информации  Прозрачнее для разработки математического ПО  Могут потребовать больше вычислений  Сложнее реализовать, чем консервативные
  • 4. Оптимистические методы: характерные особенности  Сообщения с временными метками  Топология может меняться  Сообщения по линии связи передаются неупорядоченные по времени  Линии связи достаточно надежны
  • 5. Time Warp  Если новое сообщение имеет меньшую метку времени, чем уже обработанные – производится откат: ◦ Состояние процесса восстанавливается через контрольную точку ◦ Процесс отказывается от ошибочно обработанных сообщений через антисообщения
  • 6. Антисообщение  Копия обычного сообщения  Уничтожает такое же позитивное сообщение в очереди процесса  Если соответствующие позитивное сообщение уже обработано – откат состояния  Может повлечь появление новых антисообщений (рекурсия)
  • 7. Time Warp: проблемы  Некоторые действия необратимы – например, ввод-вывод  Нужно много памяти для хранения контрольных точек ◦ В идеале, делаются после каждого полученного сообщения ◦ Некоторые процессы могут «забегать» слишком далеко
  • 8. Global Virtual Time  Нижняя граница временной отметки любого будущего отката  Вычисляется с учетом откатов, выполненных в прошлом  Является наименьшей временной меткой среди частично обработанных и необработанных сообщений  Является нижней границей временной метки для поступающих сообщений
  • 9. Как GVT может устранить «забегающие» вперед процессы 
  • 10. Решение проблем с памятью  Выполнять откат с целью освобождения памяти, использующейся для хранения состояний  Сохранять состояние реже, чем после каждого события ◦ Интервал сохранений указывается пользователем или подбирается адаптивным алгоритмом