Построение модели подсистемы кэширования СХД AVRORA
-
Upload
leila-arnold -
Category
Documents
-
view
52 -
download
5
description
Transcript of Построение модели подсистемы кэширования СХД AVRORA
![Page 1: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/1.jpg)
Построение модели подсистемы кэширования СХД AVRORA
Зольников Павел [email protected]Кривых Алексей [email protected]Самунь Виктор [email protected]
IT Summer SPb 201218 июля 2012
![Page 2: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/2.jpg)
Реальная система
• Инициатор• Подсистема кэширования– Кэш память– Логика
• Массив дисков
![Page 3: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/3.jpg)
Напоминания
• “Чистый” сегмент – сегмент, содержащий копию данных на диске
• “Грязный” сегмент – сегмент, содержащий данные новее, чем на диске
• Используемый сегмент – если идет запись/чтение из этого сегмента
![Page 4: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/4.jpg)
Напоминания
• Read ahead (упреждающее чтение) – стратегия кэширования, при которой вместе с запрашиваемыми данными считываются соседние с ними данные
• Write back (отложенная запись) – стратегия кэширования, при которой данные не передаются сразу от инициатора на диск, а помещаются в кэш и лежат там некоторое время, пока не будут записаны на диск
![Page 5: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/5.jpg)
Работа подсистемы: чтение
• Поиск запрашиваемых данных в кэше• Если данные найдены, передача их
инициатору• Если данные не найдены, поиск их на диске• Копирование данных в кэш• Передача данных из кэша инициатору
![Page 6: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/6.jpg)
Работа подсистемы: read ahead
• Система распознает, что идет последовательное чтение– Минимальное количество последовательно
считываемых страйпов• Считывание некоторого количества
страйпов наперед– Тоже параметр системы– Ограничения сверху и снизу
![Page 7: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/7.jpg)
Работа подсистемы: запись
• Всегда write back• “Грязные” данные сливаются на диск:– При достижении порога заполнения– По таймеру (10 раз в секунду)– Когда система на может выделить сегмент под
запрос инициатора
![Page 8: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/8.jpg)
Трасса
• 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
![Page 9: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/9.jpg)
Параметры запроса
• STR – время прихода запроса• EXP – время от прихода запроса до
окончания его выполнения и уничтожения• TRN – время от прихода запроса до начала
передачи данных между системой и инициатором
![Page 10: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/10.jpg)
Что есть EXP?
• Главный вопрос: входит ли время стояния запроса в очереди в EXP?
• Пусть так. Сравним STR(last) + EXP(last) – STR(first) ≈ 446 мсек с ≈ 9,8 сек. Гипотеза провалилась.
• Пусть наоборот. Тогда сосчитаем время непрерывной работы. ≈ 228 мсек
![Page 11: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/11.jpg)
Время непрерывной работы
Запрос 1
Запрос 2
Запрос 1
Запрос 2
Запрос 1
Запрос 2
![Page 12: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/12.jpg)
Параллельная работа системы
• Запросы могут обрабатываться параллельно, если запрашиваемые в них данные не пересекаются
• STR(last) + EXP(last) – STR(first) уже не актуально• Время непрерывной работы также надо
считать по-другому• Но можно оценить время простоя системы
Оно не больше чем время простоя системы, запросы которой обрабатываются последовательно
![Page 13: Построение модели подсистемы кэширования СХД AVRORA](https://reader036.fdocument.pub/reader036/viewer/2022071713/56813318550346895d99d983/html5/thumbnails/13.jpg)
Время работы дисков
• Скорость передачи данных - 150 Мб/сек• Время позиционирования головки – 10-20
мсек– Оно вносит большой вклад в общее время
работы– Но зависит от схемы обращения к
данным(последовательное или произвольное чтение)
– Требуются дополнительные эксперименты