slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки PowerPoint Presentation
Download Presentation
Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки

Loading in 2 Seconds...

play fullscreen
1 / 28

Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки - PowerPoint PPT Presentation


  • 130 Views
  • Uploaded on

Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки. Милославский А. И. Термины. Крах . Аварийное завершение работы программы. Атака . Возможность вмешаться в ход выполнения программы злоумышленником. UB . Undefined behavior . Непредсказуемое поведение программы.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки' - bela


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки

Милославский А. И.

slide2
Термины
  • Крах. Аварийное завершение работы программы.
  • Атака. Возможность вмешаться в ход выполнения программы злоумышленником.
  • UB. Undefined behavior. Непредсказуемое поведение программы.
  • Утечки памяти.
  • Очистка. Приведение освобожденной памяти в эффективное для повторного выделения состояние.
slide3
Виды темпоральных ошибок
  • 1. Многократное освобождение блока.
    • Нарушение работы системы выделения памяти.
    • Удаление чужих данных.
slide4
Виды темпоральных ошибок
  • 2. Работа с блоком после освобождения его памяти.
    • Чтение стертых данных.
    • Ошибочное чтение чужих данных.
    • Перезапись чужих данных.
slide5
Виды темпоральных ошибок
  • 3. Удаление неверного блока памяти.
  • 4. Утечки памяти.
slide6
Постановка задачи
  • Требования:
    • 1. Умеренные накладные расходы.
    • 2. Неограниченное время работы.
    • 3. Минимизация всех негативных последствий темпоральных ошибок.
    • 4. Возможность выполнять временную работу, связанную с большими затратами вычислительной мощности, в «спокойное время» в фоновом режиме.
    • 5. Ранняя очистка.
    • 6. Работа системы с кодом, не приспособленным для этого специально.
  • Пожелания:
    • 7. Малые накладные расходы.
    • 8. Возможность аппаратной поддержки.
    • 9. Полное исключение темпоральных ошибок.
slide7
Предыдущиеработы
  • [1] DinakarDhurjati, Vikram Adve – “Efficiently Detecting All Dangling Pointer Uses in Production Servers”
  • [2] Wei Xu, Daniel C. DuVarney, R. Sekar - “An Efficient and Backwards-Compatible Transformation to Ensure Memory Safety of C Programs”
  • [3] Harish Patil, Charles Fischer - “Low-cost, Concurrent Checking of Pointer and Array accesses in C Programs”
  • [4] Emery D.Berger, Benjamin G.Zorn – “DieHard: Probabilistic Memory Safety for Unsafe Languages”
slide8
Сбор статистики
  • 1. Стартовая нагрузка
  • 2. Объем использованного виртуального пространства в единицу времени
  • 3. Распределение запросов по размеру запрошенного блока памяти
  • 4. Типичное время жизни блока
  • 5. Чередование выделения и освобождения блоков
slide20
Стартовая нагрузка
  • Пик достигается за несколько секунд
  • Часто выполняется до 50% от общего числа запросов
  • В основном короткоживущие блоки
  • Большое чередование
  • Высокий потенциал фрагментации
slide21
Объем использованного виртуального пространства в единицу времени
  • 2-3Мб в секунду
  • Можно ожидать 30Мб/с
  • Без очистки адресное пространство исчерпается за 100 дней
slide22
Распределение запросов по размеру запрошенного блока памяти
  • Всегда есть типичные размеры блоков
  • Возможна оптимизация за счет отдельных менеджеров памяти
slide23
Типичное время жизни блока
  • В основном очень малое время жизни
  • С учетом 15000 запросов в секунду, высокий риск возникновения проблем из-за ошибок
slide24
Чередование выделения и освобождения блоков
  • Короткоживущие блоки сильно чередуются с долгоживущими
  • Высокая степень фрагментации
  • Корреляция с размером блока
slide25
Среднее число блоков
  • Для EVE Online – около 3 миллионов
  • Повышенная сложность учета блоков
diehard
DieHard
  • OKМногократноеосвобождение блока.
  • 99.5%Работа с блоком послеосвобождения его памяти.
  • 99.5%Удаление неверногоблока памяти.
  • XУтечки памяти.
slide27
Результатыработы
  • Написана платформа для испытаний менеджера памяти на реальных программах
  • Написана система сбора статистики использования памяти в реальных программах
  • Написана программа для анализа собранной статистики
  • Выполнен анализ собранной статистики
  • Проведены исследования различных способов устройства менеджера памяти
  • Рассмотрено влияние факторов, выявленных в статистике, на исследованные методы
  • Собрана литература по вариантам, оптимизациям и различным аспектам реализации консервативных сборщиков мусора
slide28
Дальнейшая работа
  • Придумать другие методы реализации менеджера памяти для лучшего выполнения требований и пожеланий
  • Добавить консервативный сборщик мусора (подчасть 1 пункта)
  • Реализовать менеджер памяти в коде
  • Испытать менеджера памяти на реальных программах с использованием готовой платформы
  • Внедрить готовый менеджер памяти в ОС