Нижник Екатерина Игоревна

advertisement
На правах рукописи
НИЖНИК Екатерина Игоревна
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
ПРОИЗВОДИТЕЛЬНОСТИ ФАЙЛОВЫХ СИСТЕМ
Специальность 05.13.18 – математическое моделирование,
численные методы и комплексы программ
АВТОРЕФЕРАТ
диссертации на соискание ученой степени
кандидата технических наук
Москва – 2007
Работа выполнена на кафедре информатики Московского
технического института (государственного университета)
физико-
Научный руководитель:
кандидат физико-математических наук
ТОРМАСОВ Александр Геннадьевич
Официальные оппоненты:
доктор физико-математических наук, профессор
ЛОБАНОВ Алексей Иванович
кандидат технических наук, ст.н.с.
ШИЛОВ Валерий Владимирович
Ведущая организация:
Институт автоматизации проектирования РАН
Защита состоится 26 октября 2007 года в 10 часов на заседании диссертационного совета К 212.156.02 при Московском физико-техническом институте
(государственном университете) по адресу: 141700, Московская обл., г. Долгопрудный, Институтский пер., д. 9, ауд. 903 КПМ.
С диссертацией можно ознакомиться в библиотеке Московского физикотехнического института (государственного университета).
Автореферат разослан 24 сентября 2007 года.
Ученый секретарь диссертационного совета К 212.156.02
кандидат физико-математических наук
Федько О.С.
ОБЩЕЕ ОПИСАНИЕ РАБОТЫ
Актуальность темы
Файловая система – это неотъемлемая часть операционной среды, которая
отвечает за работу с данными, хранящимися во внешней памяти. Одной из
наиболее важных характеристик файловой системы является производительность, поскольку от нее зависит скорость работы пользовательских приложений, а также операционной среды в целом.
Согласно проведенным исследованиям [Ramakrishnan et al., 1992; Smith,
Seltzer, 1994; Kuenning et al., 1994; Roselli et al., 2000; и др.], оценку быстродействия файловых систем необходимо осуществлять в контексте нагрузок, генерируемых приложениями. Под термином «нагрузка» обычно понимается способ обращения к данным, который использует та или иная программа. Большинство существующих инструментов тестирования файловых систем имеет
узкую специализацию, т.е. предназначено для оценки производительности при
нагрузке, отражающей специфику конкретного приложения или класса приложений. Кроме того, практически все эти инструменты предполагают непосредственное тестирование интересующих пользователя нагрузок. Однако с точки
зрения минимизации затрачиваемого времени и ресурсов (как программных,
так и аппаратных) более важной является задача прогнозирования производительности. Решение этой задачи позволило бы оценивать быстродействие той
или иной файловой системы в условиях конкретной нагрузки без непосредственного тестирования при этой нагрузке и тем самым повысить эффективность проектирования вычислительных комплексов.
Вышеизложенное позволяет сделать вывод о том, что разработка методики
математического моделирования производительности файловых систем в
настоящее время является достаточно актуальной.
Цель работы, объект и предмет исследования
Цель диссертационной работы – разработка методики математического
моделирования производительности файловых систем.
3
Задачи исследования:
– Провести анализ типов нагрузок, а также существующих моделей оценки
производительности файловых систем и систем хранения данных.
– Разработать технологию создания математической модели прогнозирования производительности файловых систем.
– Построить математическую модель прогнозирования производительности на примере широко распространенной файловой системы New Technology File System (NTFS).
– Выполнить практическую проверку работоспособности полученной модели.
Объект исследования – компьютерные файловые системы.
Предмет исследования – методы оценки производительности файловых систем.
Методы исследования
В ходе научных исследований по разработке методики моделирования производительности файловых систем, а также по созданию модели прогнозирования производительности файловой системы NTFS использовались методы вычислительной математики, методы математической статистики, методы теории
операционных систем и системного программирования.
Научная новизна
Научная новизна работы заключается в том, что впервые предложена универсальная методика математического моделирования производительности
файловых систем, а также построен пример применения данной методики для
широко распространенной файловой системы NTFS. В отличие от существующих технологий, разработанная в ходе диссертационного исследования модель
позволяет определять производительность NTFS при различных нагрузках без
непосредственного тестирования файловой системы, т.е. обладает свойством
прогнозирования и, как следствие, требует минимальных затрат на решение задачи оценки производительности.
4
Практическая значимость
В ходе выполнения научных исследований автором была проведена серия
численных экспериментов, результаты которых позволили оценить преимущества полученной модели.
Предложенная технология моделирования производительности была применена при разработке и тестировании коммерческого программного комплекса
Virtuozzo1 (Windows версия), являющегося мировым лидером в сфере виртуализации операционных систем.
Результаты работы могут быть использованы как для создания математических моделей производительности других файловых систем, так и для прогнозирования быстродействия NTFS в условиях различных нагрузок. Кроме того,
разработанная методика может использоваться не только для прогнозирования
производительности файловых систем, но и для оценки эффективности любых
вычислительных комплексов (например, в области параллельных вычислений).
Публикации и апробация результатов работы
По теме диссертации опубликовано 11 работ, в том числе одна – в издании,
рекомендованном ВАК РФ.
Результаты диссертационного исследования докладывались, обсуждались и
получили одобрение специалистов на научных семинарах и конференциях:
– XXXIII международная молодежная научная конференция «Гагаринские
чтения» (Москва, 2007 г.),
– 30-я конференция молодых ученых и специалистов ИППИ РАН «Информационные технологии и системы» (Москва, 2007 г.),
– XLVIII и XLIX научные конференции МФТИ (Москва, 2005–2006 гг.),
– научные семинары кафедры информатики МФТИ.
Структура и объем работы
Диссертация состоит из введения, трех глав, заключения и списка использованных источников, включающего 50 наименований.
1
http://www.swsoft.com/products/virtuozzo/
5
Общий объем работы составляет 105 страниц машинописного текста, содержащего 10 таблиц и 46 рисунков.
Положения, выносимые на защиту
На защиту выносятся следующие основные положения:
1. Общая методика математического моделирования производительности файловых систем, основанная на исследовании низкоуровневых запросов, которая
также может использоваться для оценки быстродействия любых вычислительных комплексов.
2. Математическая модель прогнозирования производительности файловой системы NTFS при произвольных нагрузках, а также соответствующий комплекс
программ для создания данной модели.
СОДЕРЖАНИЕ РАБОТЫ
Во введении обосновывается актуальность темы, формулируется цель исследования и его основные задачи, а также приводится краткое содержание
диссертации.
В главе 1 содержится обзор публикаций по основным исследованиям, посвященным различным типам нагрузок. Дается описание существующих инструментов для оценки производительности файловых систем (Andrew Benchmark, PostMark, Iozone, HBench-FS, SPEC SFS и др.), перечисляются их достоинства и недостатки.
Стандартная методика оценки производительности файловых систем заключается в следующем: файловая система подвергается некоторой нагрузке, и одновременно замеряются характеристики вычислительной системы, интересующие пользователя, либо время выполнения определенного задания. Нагрузка
представляет собой шаблон, имитирующий работу некоторого приложения в
реальных условиях: web-сервера, базы данных, компилятора и др. Большинство
инструментов предназначено для тестирования файловой системы при конкретной нагрузке и не позволяет пользователю оценивать производительность в
случае изменения этой нагрузки. Кроме того, данный подход предполагает зна6
чительные временны́е затраты на тестирование, а также необходимость использования в каждом конкретном случае различных аппаратных и программных
средств.
Резюмируя, можно заключить, что применение описанных в главе 1 стандартных методов не позволяет оценивать производительность файловых систем
при произвольных нагрузках, т.е. не обладает универсальностью, и помимо этого требует существенных затрат времени и ресурсов для достижения поставленной цели.
В главе 2 формулируется постановка основной задачи исследования, предлагается общая методика решения этой задачи, а также приводятся результаты
применения методики для создания «высокоуровневой» математической модели прогнозирования производительности файловой системы NTFS при нагрузке, генерируемой web-сервером MS IIS.
Как отмечалось ранее, в задачах оценки производительности файловых систем фигурируют два центральных понятия: нагрузка на файловую систему и
собственно производительность файловой системы. Поскольку не существует
строгого определения этих понятий, предложенная методика включает в себя
параметризацию нагрузки, а также выбор характеристики производительности.
Основная задача исследования заключается в том, чтобы определить, как изменение параметров нагрузки влияет на производительность файловой системы.
Пусть x   x1 , , x k  – вектор параметров нагрузки на файловую систему  ,
а P – скалярная характеристика производительности  . Необходимо найти зависимость P  P  x  , поскольку, зная эту зависимость, пользователь сможет
оценивать значение производительности P в условиях произвольной нагрузки
x'   x1' ,
, x 'k  , даже не тестируя файловую систему  .
Общая методика решения поставленной задачи может быть представлена в
виде следующего алгоритма:
1. Задать характеристику производительности P.
2. Основываясь на теоретических представлениях о внутренней архитектуре
7
файловой системы  и принципах работы дискового устройства, выдвинуть
гипотезу касательно набора параметров нагрузки x i , i  1,k , влияющих на P и,
возможно, вида зависимости P(x) .
3. Провести ряд экспериментов по замеру значений P при различных нагрузках
x j (j – номер эксперимента).
4. Построить экспериментальную зависимость P(x) и аппроксимировать ее некоторым приближением с использованием известных математических методов.
5. В случае если гипотеза не подтвердилась экспериментальными данными (не
была достигнута требуемая точность модели), повторить шаги 1–5, взяв за основу другую гипотезу.
Проверка разработанной методики выполнялась на примере New Technology
File System (NTFS) v3.1 – широко распространенной файловой системы компании Microsoft. Одним из наиболее показательных типов нагрузки является webсервер. Поэтому для создания нагрузки в экспериментах изначально использовался Microsoft Internet Information Server (MS IIS) v5.1 со статическим содержимым (имитировалась среда для просмотра пользователем гипертекстовых
страниц в интернете).
1. Так как единственной характеристикой производительности web-сервера с
точки зрения пользователя является скорость получения информации, в качестве характеристики производительности P была выбрана скорость отправки
потока данных клиенту. Таким образом, исключаются возможные задержки при
передаче одного запроса по сети, и оценивается производительность самого
сервера.
2. Согласно теории операционных систем, наиболее существенной оптимизацией, влияющей на производительность, является кэширование. В работе показано, что соотношение количества оперативной памяти x 0 в системе и объема
запрашиваемой на web-сервере информации x1 характеризует долю данных,
считываемых непосредственно с диска (рис. 1). Поскольку это может отразиться на производительности P, x1 следует считать параметром нагрузки при фик8
сированном x 0 . Далее, из общих соображений о работе файловой системы
можно выделить параметр нагрузки x 2 – средний размер файлов, запрашиваемых на сервере. К примеру, практический опыт показывает, что большое количество маленьких файлов читается медленнее, чем малое количество больших
файлов при одинаковом общем объеме данных. Кроме того, на скорость доступа к содержимому web-сервера также может влиять число одновременно обращающихся к нему пользователей, поэтому в качестве третьего параметра
нагрузки x 3 было принято количество параллельных запросов к серверу.
а)
б)
Рис. 1. Скорость отправки и чтения данных с диска (средняя за минуту)
в зависимости от времени при объеме запрашиваемых данных
а) в ~10 раз меньшем объема RAM; б) сравнимом с объемом RAM2
3. Значения параметров нагрузки, используемые в экспериментах при генерировании запросов к web-серверу, приведены в таблице 1.
Таб. 1. Значения экспериментальных параметров нагрузки
Параметр
x0
x1
x2
x3
2
Принимаемые значения
512
1, 2, 3, 4, 5, 10, 20, 50, 80,
100, 150, 200, 250, 300,
350, 400, 450, 500, 700,
1000, 1500, 2000, 2500,
3000
1, 8, 32, 128, 512, 1024,
2048, 4096, 5120, 10240
1, 2, 3, 4, 5, 6, 8
Размерность
МБ
МБ
КБ
–
RAM – Random Access Memory, оперативная память. Кол-во RAM в данном эксперименте равнялось 1 ГБ.
9
4. Пусть pi (x i ), i  1,3 – функция
производительности от i-го параметра нагрузки при фиксированных остальных. На рис. 2, 3 и 4
представлены эмпирические зависимости pi (x i ) и их линейные аппроксимации, выполненные по методу
наименьших
квадратов
(МНК), для определенных интер-
Рис. 2. Зависимость p1 (x1 ) и ее линейные
приближения, выполненные по МНК
валов нагрузки:
[y
j
 pi (x ij | i )]2  min i , (1)
j
где y j – значение производительности в j-м эксперименте, i 
2
–
коэффициенты линейного приближения для x i . Видно, что во всех
случаях наблюдается определенный эффект насыщения, выраженный в том, что при увеличении па-
Рис. 3. Зависимость p 2 (x 2 ) и ее линейные
приближения, выполненные по МНК
раметра нагрузки производительность стремится к постоянному
значению. Полученные аппроксимации позволяют оценить коэффициенты модели  i в заданных интервалах значений нагрузки. Выбор т.н. критической точки, в которой одно приближение сменяется другим, обусловлен минимиза-
Рис. 4. Зависимость p3 (x 3 ) и ее линейные
приближения, выполненные по МНК
цией суммы среднеквадратичных отклонений каждого из приближений:
10
N
 n

' 2
[y

p
(x
|

)]

[y j  pi (x ij | i'' )]2   min n ,
 j

i
ij
i
j n 1
 j1

(2)
где N – количество экспериментальных точек,  i' и  i'' – коэффициенты каждого
из приближений в зависимости от номера критической точки n.
5. Дальнейшее исследование показало, что при изменении фиксированных параметров нагрузки в каждом случае коэффициенты модели  i , равно как и значения нагрузки в критической точке, не сохраняются. Это означает, что зависимость производительности от выбранных параметров нельзя аппроксимировать линейно. В таком случае необходимо использовать другие методы приближения либо менять набор параметров нагрузки и производительности. Дополнительным недостатком является то, что выбранная характеристика производительности P, вообще говоря, не характеризует быстродействие файловой
системы непосредственно. Кроме того, этот показатель применим только для
нагрузок, предполагающих работу с сетью (web-, почтовый сервер и др.).
Таким образом, возникла необходимость в выборе параметров нагрузки и
характеристики производительности, не зависящих от типа нагрузки, а также в
повышении точности полученных приближений. Поэтому в дальнейшем модель рассматривалась в контексте низкоуровневых запросов к драйверу файловой системы. Это позволило, во-первых, представлять любые типы нагрузок в
унифицированной форме и, во-вторых, более точно аппроксимировать P(x) .
Глава 3 посвящена технологии «низкоуровневого» моделирования производительности файловых систем и применению данной технологии для создания
модели прогнозирования производительности NTFS. Нагрузка в «низкоуровневой» модели представляется последовательностью запросов к драйверу файловой системы. Вектор нагрузки x   x1 , , x k  есть набор параметров, однозначно определяющих эту последовательность. В качестве характеристики производительности было выбрано время выполнения последовательности T. Моделирование проводилось в три этапа путем независимых исследований запросов
основных типов: чтение данных, запись данных и обработка метаданных.
11
Чтение
Поскольку NTFS оперирует двумя типами данных, кэшированными (присутствующими в файловом кэше) и не кэшированными (для доступа к которым
необходимо обращение к диску), можно говорить о т.н. модели двух хранилищ
информации: быстрого (cache) и медленного (disk). Пусть C – множество запросов, при которых данные берутся только из кэша, а D – множество запросов,
требующих обращения к диску. Нагрузка представляет собой последовательность запросов из множества C D , причем для чтения C D   .
Предположив, что скорость чтения данных из каждого хранилища постоянна
и равна v cr и vdr ( vcr  vdr ), можно записать время выполнения одного запроса:
t cr  scr vcr , t dr  sdr vdr ,
(3)
где scr и s dr – количество запрашиваемых байтов. Тогда общее время выполнения последовательности запросов чтения равно
T r  Tdr  Tcr 
t
reqi D
r
di

t
req jC
r
cj
 1 vdr 
s
reqi D
r
di
 1 vcr 
T r  T r (Sdr , Scr )  Sdr vdr  Scr vcr ,
s
req jC
r
cj
,
(4)
где Scr и Sdr – общее число байтов, прочитанных за время Tr из кэша и с диска
соответственно.
а)
б)
Рис. 5. Зависимость времени чтения от количества прочитанных данных
а) с диска; б) из кэша
Гипотеза о линейности функции T r (Sdr , Scr ) подтвердилась экспериментально
при контекстном поиске данных в выбранной директории (рис. 5), что позволи12
ло вычислить коэффициенты v cr и vdr с помощью линейной аппроксимации по
МНК. Однако при смене директории поиска значение коэффициента vdr изменялось, в отличие от величины v cr , которая оставалась постоянной во всех опытах. Это позволило заключить, что скорость чтения данных с диска не постоянна, а, возможно, зависит от некоторого дополнительного параметра.
Предположим, что обработка запроса к диску происходит с некоторой задержкой t 0r , которая вызвана работой механических компонентов устройства:
t dr  t 0r  sdr v0r ,
(5)
где t 0r  const, v0r  const . Обозначим через Ndr общее количество дисковых запросов. Тогда время выполнения запросов чтения с диска есть
Ndr
T   t dir  N dr t 0r  Sdr v0r ,
r
d
(6)
i 1
а скорость vdr  Sdr Tdr , которая вопреки первоначальному предположению оказалась не постоянной, равна
sdr
,
v (s )  r
t 0  sdr v0r
r
d
r
d
(7)
где sdr  Sdr Ndr – средний размер запросов чтения с диска.
На рис. 6 представлена эмпирическая
зависимость vdr (sdr ) и ее аппроксимация
кривой вида f (x) 
x
при помощи алa  bx
горитма Левенберга-Марквардта3. Выбор
данного метода в работе обусловлен главным образом быстротой сходимости и популярностью практического применения.
Гипотеза (7) получила эксперимен-
3
http://www.cc.gatech.edu/people/home/ananth/docs/lmtut.pdf
13
Рис. 6. Скорость чтения данных
с диска в зависимости от среднего
размера запросов
тальное подтверждение (коэффициент детерминации для выбранного приближения R 2  0.9 ). Поэтому с учетом формул (4) и (6) время выполнения последовательности запросов чтения есть линейная функция трех переменных:
T r  T r (Ndr , Sdr , Scr )  Ndr t 0r  Sdr v0r  Scr vcr .
(8)
Графики зависимости экспериментального значения Tr и его оценки по
формулам (4) и (8) от числа запросов n при нагрузке контекстного поиска в
произвольной директории изображены на рис. 7а и 7б соответственно. Ясно,
что модель, учитывающая три параметра нагрузки Ndr , Sdr и Scr , более точно
прогнозирует значение производительности Tr .
а)
б)
Рис. 7. Экспериментальное время Tr и его линейная оценка в зависимости
от числа запросов n при разных наборах параметров нагрузки
а) T r  T r (Sdr , Scr ) ; б) T r  T r (Ndr , Sdr , Scr )
Замечание: анализируя график, представленный на рис. 6, можно предположить, что функция скорости vdr имеет экспоненциальный, ступенчатый или
иной вид. Однако наилучшие результаты сравнения экспериментального значения Tr с его оценкой были получены именно при условии (7) (рис. 7б).
Тестирование NTFS на различных аппаратных конфигурациях позволило
сделать ряд важнейших выводов касательно коэффициентов модели:
– величина t 0r характеризует степень фрагментации запрашиваемых данных:
математическое ожидание t 0r совпадает со средним временем поиска по диску
(average seek time), обозначаемым производителем в спецификации устройства;
– величина v0r представляет собой скорость передачи данных с пластин диска
14
в его внутренний буфер (Internal Data Transfer Rate, IDTR), которая прямо пропорциональна скорости вращения пластин диска (Revolutions Per Minute, RPM),
также указываемой производителем в спецификации устройства;
– величину v cr можно назвать эффективной скоростью чтения данных из кэша:
значение v cr не изменяется при тестировании на машинах с различными характеристиками RAM, хотя оно гораздо меньше предельной скорости чтения данных из памяти, публикуемой производителем.
В системе (9) приведены точные значения коэффициентов, полученные при
моделировании с использованием диска SAMSUNG SV4002H. Коэффициенты
t 0r и 1 v0r полностью соответствуют физическим характеристикам устройства,
указанным в спецификации: среднее время поиска – 8.9 мс, скорость вращения
– 5400 RPM (1/ IDTR  3 104 с / КБ ).
 t 0r  9  10 3 с,
 r
4
1 v 0  3  10 с / КБ,
 r
6
1 v c  1  10 с / КБ.
(9)
На практике время выполнения последовательности запросов меняется от
эксперимента к эксперименту при одинаковых условиях тестирования. Значит,
характеристику производительности Tr необходимо рассматривать как случайную величину, зависящую от неслучайных переменных x ir , i  1,k . В задаче
оценки производительности файловой системы значения x ir играют роль переменных параметров нагрузки, входящих в распределение величины Tr , т.е.
k  3 , x1r  Ndr , x r2  Sdr , x 3r  Scr . Таким образом, достоверность модели (8) мож-
но проверить статистическим методом множественной регрессии:
k
E(T )     ir x ir .
r
r
0
(10)
i 1
При помощи критерия согласия Пирсона с уровнем значимости 5% в работе
было показано, что при фиксированных параметрах нагрузки Tr есть нормально распределенная случайная величина. Для определения коэффициентов ре15
грессии использовалась выборка из n  14 независимо наблюденных точек
(Tr , x1r , x r2 , x 3r  ) ,   1,n . Каждый элемент выборки был получен в результате
последовательного или произвольного чтения файлов из случайной директории. Причем степень фрагментации диска, а также доля кэшированных данных
были различными для всех экспериментов.
Выяснилось, что при уровне значимости 5% значимыми являются только
коэффициенты 1r , r2 , причем их значения в точности совпадают с величинами
t 0r , 1 v0r , полученными ранее и имеющими конкретный физический смысл.
Свободный член 0r оказался не значимым, что подтвердило предыдущие результаты. Отсутствие влияния коэффициента 3r  1 vcr можно объяснить небольшой размерностью выборки, а также тем, что чтение данных из кэша вносит сравнительно малый вклад в общее время выполнения последовательности
запросов. Тем не менее, из практических соображений не стоит пренебрегать
параметром нагрузки x 3r . В случае, когда бо́льшая часть данных закэширована
(например, на web-сервере), время чтения будет мало, однако отлично от нуля.
Резюмируя вышесказанное, математическую модель прогнозирования производительности файловой системы NTFS при нагрузке чтения можно записать
в виде следующего линейного соотношения:
T r  1r x1r  r2 x r2  3r x 3r ,
(11)
где x ir – параметры нагрузки, ir – коэффициенты модели.
Преимущество статистического подхода по сравнению с предыдущими исследованиями заключается, прежде всего, в возможности оценки достоверности
полученных результатов. Немаловажную роль также играет линейность многомерной регрессии. Ранее для расчета коэффициентов приходилось искать зависимости между комбинациями измеряемых величин в двумерном пространстве
и выполнять нелинейные приближения полученных зависимостей (рис. 6). Линейная же аппроксимация обеспечивает более высокую точность модели.
Именно поэтому метод множественной регрессии применялся в дальнейшем
16
при исследовании запросов других типов.
Запись
Анализ журналов запросов, полученных в результате записи кэшируемых
данных на диск, показал, что поток нагрузочного приложения пишет данные в
файловый кэш, а несколько системных потоков параллельно осуществляют
сброс этих данных на диск, т.е. происходит т.н. отложенная запись. Поэтому
при оценке времени выполнения запросов записи Tw необходимо принимать во
внимание не только поток исполняемого приложения, но также системные потоки, осуществляющие копирование данных из кэша на диск. В противном случае модель будет учитывать только время записи в кэш Tcw , которое мало по
сравнению со временем записи на диск Tdw .
При открытии файлов на запись с флагом FILE_FLAG_NO_BUFFERING,
системные потоки не участвуют в обработке данных. Это позволило создать
«однопоточную» модель по аналогии с моделью для нагрузки чтения, имеющую, тем не менее, ряд существенных отличий:
– поскольку при записи C   (данные всегда пишутся на диск), а Tcw
Tdw ,
то Tcw можно не учитывать при оценке производительности Tw ;
– при произвольной записи малыми (  32 КБ ) порциями данных на производительность влияет только один параметр нагрузки – количество запросов x1w ;
– 2w  r2  3  104 с / КБ , тогда как 1w  0.6 мс , что меньше 1r  9 мс .
Таким образом, «однопоточная» математическая модель прогнозирования
файловой системы NTFS при нагрузке записи дисковых данных, представима
следующим соотношением:
T w  1w x1w  2w x 2w ,
(12)
где параметрами нагрузки являются x1w (количество запросов) и x 2w (общий
объем данных), а коэффициент 2w  r2 характеризует IDTR диска.
Рассмотрим физический смысл коэффициента 1w . Поскольку запись данных
не предполагает их поиска на диске, логично предположить, что в этом случае
17
задержка при выполнении одного запроса минимальна. Например, это может
быть время, необходимое для перемещения головки на ближайшую незанятую
дорожку. Согласно спецификации диска SAMSUNG SV4002H, используемого в
экспериментах, время перемещения головки на соседнюю дорожку (track to
track seek time) составляет 0.8 мс, что близко к полученной оценке 0.6 мс. Это
позволило считать 1w физической характеристикой дискового устройства.
Вернемся теперь к проблеме отложенной записи. Как показало исследование, обработка параллельных запросов к диску происходит при помощи дисковой очереди, обслуживаемой одним системным потоком. Каждый запрос, находясь в очереди, ждет окончания обработки предыдущих запросов, поэтому время его выполнения зависит от нагрузки на очередь или от «заполненности»
очереди. Пусть t dw – общее время выполнения запроса к диску, t qw – время
нахождения запроса в очереди до того момента, когда он начнет обрабатываться системным потоком, t pw – время обработки запроса диском. Тогда
t dw  t qw  t pw .
(13)
Обозначив через Nqiw количество запросов в очереди при поступлении i-го
запроса, можно записать время нахождения в очереди данного запроса:
w
N qi
t qiw   t pjw ,
(14)
j1
где t pjw – время обработки j-го запроса в очереди. Аналогично формуле (5),
t pjw  t 0w  sdjw v0w ,
(15)
где t 0w  1w , 1 v0w  2w , sdjw – размер j-го запроса. Тогда
w
Nqi
w
Nqi
t   t  1 v   sdjw  t 0w N qiw  Sqiw v0w ,
w
qi
j1
w
0
w
0
(16)
j1
где Sqiw – общий размер запросов в очереди в момент поступления i-го запроса.
Ясно, что суммарное время обработки i-го запроса
t diw  t qiw  t piw  t 0w  N qiw  1  1 v0w  Sqiw  s diw  .
18
(17)
Отсюда время выполнения последовательности из Ndw запросов записи на диск
 Nd w

 Nd w

w
w
T   t  t   Nqi  Nd   1 v0   Sqi  Sdw  ,
 i1

 i1

i 1




w
d
Ndw
w
w
di
w
w
0
(18)
N dw
где S   s diw – общий объем записываемых данных.
w
d
i 1
Измерение Nqiw и Sqiw для каждого запроса представляется технически сложным. Поэтому упростим полученную формулу (18). Предположив, что средний
размер запросов в очереди равен среднему размеру запросов во всей последовательности, несложно показать, что
Tdw  1  N qw  1w x1w  2w x 2w  ,
(19)
Ndw
где N  1 N   N qiw – среднее количество запросов в очереди во время записи
w
q
w
d
i 1
данных на диск, т.е. нагрузка или «заполненность» очереди.
Измерение Nqw также является сложной технической задачей. Однако можно
оценить эту величину, зная экспериментальное время Tdw и его оценку (12):
Nqw  Tdw (1w x1w  2w x 2w )  1.
а)
(20)
б)
Рис. 8. Зависимость нагрузки на очередь от размера запросов при
а) последовательной записи; б) произвольной записи
При последовательном доступе сброс кэшируемых данных на диск выполняется по 64 КБ, независимо от изначально задаваемого размера запросов s. Т.е.
при малых s интенсивность записи данных в кэш гораздо выше интенсивности
сброса этих данных на диск, и нагрузка на очередь невелика. С увеличением же
19
s скорость генерирования дисковых запросов повышается, нагрузка на очередь
растет и, в конце концов, достигает некоторого предельного значения. Все запросы, размер которых превышает 64 КБ, при записи на диск разбиваются на
несколько запросов по 64 КБ каждый. Значит, предельное значение Nqw должно
достигаться при s  64 КБ , что в целом подтверждается графически (рис. 8а).
Аналогично, при произвольном доступе данные накапливаются в кэше и периодически сбрасываются на диск. Однако в этом случае размер запросов к
диску совпадает с первоначальным размером запросов s (вплоть до 64 КБ). Поэтому при записи данных малыми порциями диск вынужден обрабатывать
большое количество маленьких запросов (т.е. часто перемещать головки и передавать информацию), а это означает, что нагрузка на очередь высока. С увеличением s размер запросов к диску увеличивается, а нагрузка на очередь
уменьшается, также стремясь к некоторому предельному значению (рис. 8б).
Видно, что предельные значения Nqw для последовательного и произвольного
доступа примерно совпадают. Отсюда можно сделать вывод, что при больших s
производительность NTFS не зависит от способа доступа к данным.
Так как дисковая очередь в конечном итоге обслуживается одним потоком,
линейная «однопоточная» модель (12) является, по-видимому, наиболее объективной оценкой производительности файловой системы при нагрузке записи
дисковых данных. Единственное ограничение данного подхода заключается в
необходимости преобразования параметров нагрузки x iw перед использованием
модели. Т.е. количество запросов к диску x1w  x 2w / 64 ( x 2w – общий объем данных в КБ) при:
– последовательной кэшируемой записи порциями  64 КБ ;
– любой записи порциями  64 КБ .
Обработка метаданных
Помимо операций чтения и записи вклад в производительность файловой
системы вносит обработка т.н. метаданных, которая подразумевает чтение и
изменение информации в главной файловой таблице (Master File Table, MFT) и
20
служебных файлах. В работе исследовались основные запросы обработки метаданных – открытие и закрытие файлов. По результатам экспериментов были
определены три параметра нагрузки: количество запросов открытия существующих файлов x1m , количество запросов открытия несуществующих (или создания) файлов x m2 и количество запросов закрытия файлов x 3m . Среднее время
выполнения одного запроса каждого типа представлено в модели соответствующим коэффициентом im , i  1,3 . Экспериментально было установлено, что
значения im не зависят от физических характеристик диска. Это объясняется
тем, что при модификации MFT и служебных файлов также используется механизм отложенной записи. Сброс метаданных на диск происходит в произвольные моменты времени, когда операционная система загружена минимально,
поэтому он может не учитываться в текущей нагрузке ( D   ).
Принимая во внимание формулы (11) и (12), можно записать математическую модель прогнозирования производительности файловой системы NTFS
при произвольных нагрузках в следующем виде:
3
2
3
T  T  T  T    x    x  im x im ,
r
w
m
i 1
r
i
r
i
i 1
w
i
w
i
(21)
i 1
где T – общее время работы NTFS при заданной нагрузке, T r (xr ) и T w (xw ) –
время чтения и записи соответственно, T m (xm ) – время обработки метаданных.
Проверка соотношения (21) проводилась путем создания реальных нагрузок
на файловую систему NTFS. К примеру, сравнение экспериментального и прогнозируемого значений T при компиляции программ (рис. 9а) и просмотре видео (рис. 9б) в целом подтвердило справедливость модели (коэффициенты детерминации R 2 равны 0.99 и 0.98 соответственно).
Таким образом, вычисленные однажды коэффициенты модели ir , iw , im
могут быть использованы в дальнейшем для оценки производительности файловой системы NTFS при заданной нагрузке без непосредственного тестирования при этой нагрузке.
21
а)
б)
Рис. 9. Экспериментальное время T и его линейная оценка в зависимости
от числа запросов n при а) компиляции; б) просмотре видео
В разделе «Практическое применение» главы 3 описывается использование
разработанной технологии моделирования на практике. Основные результаты,
полученные в ходе исследования, приводятся в заключении диссертации.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ
1. Разработаны общая универсальная методика и технология математического
моделирования производительности файловых систем, главной особенностью
которой является представление нагрузки в виде последовательности низкоуровневых запросов.
2. На основе предложенной технологии построена математическая модель прогнозирования производительности файловой системы NTFS, а также разработан комплекс программ для создания данной модели.
3. Сделан ряд существенных выводов, касающихся внутреннего устройства и
механизмов работы файловой системы NTFS в условиях различных нагрузок, в
частности определен физический смысл коэффициентов модели, что делает ее
не зависящей от аппаратной конфигурации.
4. На реальных программных комплексах проведен ряд сравнительных экспериментов, результаты которых подтверждают адекватность предложенной модели решаемым с ее помощью задачам.
5. Предложенная технология моделирования и соответствующий комплекс
программ использованы при разработке и тестировании коммерческого программного комплекса Virtuozzo (Windows версия).
22
СПИСОК РАБОТ, ОПУБЛИКОВАННЫХ ПО ТЕМЕ ДИССЕРТАЦИИ
1. Нижник Е.И., Тормасов А.Г. Обзор проблем тестирования производительности файловых систем // Проблемы выч. математики, мат. моделирования и
информатики: Сб. науч. тр. / М.: МЗ Пресс, 2006. – С. 89–113.
2. Нижник Е.И., Тормасов А.Г. Тестирование производительности файловых
систем на основе прогнозирующей модели // Проблемы выч. математики, мат.
моделирования и информатики: Сб. науч. тр. / М.: МЗ Пресс, 2006. – С.114–135.
3. Нижник Е.И., Тормасов А.Г. Проблемы тестирования производительности
web-сервера на основе прогнозирующей модели // Процессы и методы обработки информации: Сб. науч. тр. / М.: Моск. физ.-тех. инст., 2006. – С. 249–257.
4. Нижник Е.И. Математическая модель нагрузки файловой системы NTFS
при активном поиске дисковых данных // Моделирование процессов обработки
информации: Сб. науч. тр. / М.: Моск. физ.-тех. инст., 2007. – С. 276–285.
5. Нижник Е.И. Роль нагрузки процессора и фрагментации диска в моделировании производительности файловой системы NTFS // Системы управления и
информационные технологии – 2007, №2.1(28). – С. 181–186.
6. Нижник Е.И. Особенности исследования нагрузки процессора и фрагментации диска в моделировании производительности файловой системы NTFS //
Информационные технологии моделирования и управления – 2007, №4(38). –
С. 475–482.
7. Нижник Е.И. Оценка производительности файловой системы NTFS как задача множественной регрессии // Объединенный научный журнал – 2007,
№11(199). – С. 57–62.
8. Нижник Е.И. Обзор проблем тестирования производительности файловых
систем // Совр. проблемы фундаментальных и прикладных наук. Часть VII.
Управление и прикладная математика: Труды XLVIII научной конференции. /
МФТИ, – М. – Долгопрудный, 2005. – С. 57–58.
9. Нижник Е.И. Оценка параметров в прогнозирующей модели тестирования
производительности файловых систем // Совр. проблемы фундаментальных и
прикладных наук. Часть VII. Управление и прикладная математика: Труды
XLIX научной конференции. / МФТИ – М. – Долгопрудный, 2006. – С. 58–59.
10. Нижник Е.И. Основные проблемы реализации прогнозирующей модели
тестирования производительности файловых систем // XXXIII Гагаринские
чтения. Научные труды Международной молодежной научной конференции в
8-ми томах. / Москва, 2007. – Т. 6, С. 245–246.
11. Нижник Е.И., Тормасов А.Г. Статистическая оценка параметров в моделировании производительности файловой системы NTFS // Информационные
технологии и системы. Труды 30-й конференции молодых ученых и специалистов ИППИ РАН. / Москва, 2007. – С. 88–91.
23
Нижник Екатерина Игоревна
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
ПРОИЗВОДИТЕЛЬНОСТИ ФАЙЛОВЫХ СИСТЕМ
Автореферат
Подписано в печать 18.09.07. Формат 60х90/16.
Усл. печ. л. 1.5. Тираж 80 экз. Заказ №36.
Московский физико-технический институт
(государственный университет)
Печать на аппарате Rex-Rotary Copy Printer 1280. НИЧ МФТИ.
141700, г. Долгопрудный, Московская обл., Институтский пер., 9
тел.: (095) 4088430, факс: (095) 5766582
Download