Построение модели подсистемы кэширования СХД avrora
DESCRIPTION
Построение модели подсистемы кэширования СХД AVRORA. Зольников Павел [email protected] Кривых Алексей [email protected] Самунь Виктор [email protected] IT Summer SPb 2012 18 июля 2012. Реальная система. Инициатор Подсистема кэширования Кэш память Логика - PowerPoint PPT PresentationTRANSCRIPT
Построение модели подсистемы кэширования СХД AVRORA
Зольников Павел [email protected]Кривых Алексей [email protected]Самунь Виктор [email protected]
IT Summer SPb 201218 июля 2012
Реальная система
• Инициатор• Подсистема кэширования– Кэш память– Логика
• Массив дисков
Напоминания
• “Чистый” сегмент – сегмент, содержащий копию данных на диске
• “Грязный” сегмент – сегмент, содержащий данные новее, чем на диске
• Используемый сегмент – если идет запись/чтение из этого сегмента
Напоминания
• Read ahead (упреждающее чтение) – стратегия кэширования, при которой вместе с запрашиваемыми данными считываются соседние с ними данные
• Write back (отложенная запись) – стратегия кэширования, при которой данные не передаются сразу от инициатора на диск, а помещаются в кэш и лежат там некоторое время, пока не будут записаны на диск
Работа подсистемы: чтение
• Поиск запрашиваемых данных в кэше• Если данные найдены, передача их
инициатору• Если данные не найдены, поиск их на диске• Копирование данных в кэш• Передача данных из кэша инициатору
Работа подсистемы: read ahead
• Система распознает, что идет последовательное чтение– Минимальное количество последовательно
считываемых страйпов• Считывание некоторого количества
страйпов наперед– Тоже параметр системы– Ограничения сверху и снизу
Работа подсистемы: запись
• Всегда write back• “Грязные” данные сливаются на диск:– При достижении порога заполнения– По таймеру (10 раз в секунду)– Когда система на может выделить сегмент под
запрос инициатора
Трасса
• ENT=0 STR=1328614447.573684 TRN=9442 EXP=9504 INI=localhost TGT=LocalNRtarget RAID=BAK LUN=LAK LNUM=0 CDB=28000000040000040000000000000000 LLBA=1024 PLBA=1024 LEN=1024 RT=1 STAT=0 SKEY=0 SCOD=0 DRTC=0 NRAC=0 RAP=0 WBP=0
Параметры запроса
• STR – время прихода запроса• EXP – время от прихода запроса до
окончания его выполнения и уничтожения• TRN – время от прихода запроса до начала
передачи данных между системой и инициатором
Что есть EXP?
• Главный вопрос: входит ли время стояния запроса в очереди в EXP?
• Пусть так. Сравним STR(last) + EXP(last) – STR(first) ≈ 446 мсек с ≈ 9,8 сек. Гипотеза провалилась.
• Пусть наоборот. Тогда сосчитаем время непрерывной работы. ≈ 228 мсек
Время непрерывной работы
Запрос 1
Запрос 2
Запрос 1
Запрос 2
Запрос 1
Запрос 2
Параллельная работа системы
• Запросы могут обрабатываться параллельно, если запрашиваемые в них данные не пересекаются
• STR(last) + EXP(last) – STR(first) уже не актуально• Время непрерывной работы также надо
считать по-другому• Но можно оценить время простоя системы
Оно не больше чем время простоя системы, запросы которой обрабатываются последовательно
Время работы дисков
• Скорость передачи данных - 150 Мб/сек• Время позиционирования головки – 10-20
мсек– Оно вносит большой вклад в общее время
работы– Но зависит от схемы обращения к
данным(последовательное или произвольное чтение)
– Требуются дополнительные эксперименты