автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.13, диссертация на тему:Исследование и разработка метода оптимизации настройки механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных ресурсов

кандидата технических наук
Курятников, Александр Витальевич
город
Москва
год
1999
специальность ВАК РФ
05.13.13
Диссертация по информатике, вычислительной технике и управлению на тему «Исследование и разработка метода оптимизации настройки механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных ресурсов»

Автореферат диссертации по теме "Исследование и разработка метода оптимизации настройки механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных ресурсов"

На правах рукописи

РГБ- ОД

курятников александр Витальевич 2 ^ ай 2303

исследование и разработка метода оптимизации настройки механизма кэширования дискового ввода/вывода! операционной системы unix в условиях ограниченных ресурсов

05.13.13 - Вычислительные машины, комплексы, системы и сети

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

Москва 1999г.

Работа выполнена на кафедре .Открытых систем Московского Государственного Университета Экономики, Статистики и Информатики (МЭСИ).

Научный руководитель: кандидат технических наук, доцент

Кондратьев Вячеслав Константинович

Официальные оппоненты: доктор технических наук, профессор

Кузнецов Сергей Дмитриевич

каьдидат технических наук, доцент Гусева Анна Ивановна

Ведущая организация: Институт электронных управляющих машин.

Защита состоится / / 2000г. в_часов на заседании диссертационного совета

Д 003.56.01 при Институте проблем информатики (ИПИ) РАН по адресу: 117900, г.Москва, ГСП-1, ул. Вавилова, 30/6.

С диссертацией можно ознакомиться в библиотеке МЭСИ.

Автореферат разослан / / г. Ученый секретарь диссертационного совета

Д 003.56.01 при ИПИ РАН ..

доктор технических наук, профессор ■ С.Н.Гринченно'

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Введение: В данной работе исследован метод оптимизации работы механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных ресурсов распределенной вычислительной системы, ориентированной па выполнение приложения, представляющего собой автоматизированную банковскую систему. Метод строится на основе алгоритма поиска узких мест в рассматриваемой вычислительной системе, расчетов по разработанным моделям механизмов дискового ввода/вывода, свопинга и обеспечения мультизадачности, а также привязки модели к конкретной вычислительной системе путем определения параметров модели, рассчитанных на основе ряда предварительных экспериментов. В качестве результата применения метода получается картина изменения показателей эффективности работы системы от набора настраиваемых параметров ядра, по которой можно дать рекомендации по настройке операционной системы для достижения наиболее эффективного использования вышеуказанных ресурсов.

Постановка задачи: Задача эффективного распределения и использования ресурсов в той или иной степени возникает перед каждым системным администратором, желающим оптимально настроить работу своей вычислительной системы. Для этого необходимо определить, распределение какого ресурса является неоптимальным, н тем или иным образом оптимизировать механизм распределения этого ресурса. Задача эта осложняется тем, что информация о внутренних связях между различными настраиваемыми параметрами ядра и их удельный вклад в общую картину распределения ресурсов не описан в технической документации, поставляемой вместе с операционной системой. В этом случае администратору, который желает оптимизировать работу своей системы приходится проводить целый ряд экспериментов, направленных на установление вышеуказанных. взаимосвязей, что зачастую является сложным и долгим процессом из-за необходимости обеспечения непрерывной работы сервера с установленной на нем автоматизированной банковской системой в течение операционного дня банка. Эксперименты в этом случае могут проводится только во внерабочее время и требуют больших временных затрат, так как для проведения каждого эксперимента необходимо произвести перестройку ядра' операционной системы UNIX и перегрузить сервер. Во-вторых, очень сложно определить требования, предъявляемые к операционной системе со стороны самой СУБД ( в данном случае Informix SE).

Была поставлена задача оптимизации работы рассмотренной выше вычислительной системы, путем исследования одного из ее узких мест (механизм распределения ресурсов «оперативная память» - «жесткий диск»). Решение поставленной задачи включает в себя выбор настраиваемых параметров ядра операционной системы, непосредственно влияющих на распределение выбранных для оптимизации ресурсов, определение первичных и вторичных индексов производительности (показателе" эффективности) вычислительной системы, установление взаимосвязей между настраиваемыми параметрами ядра, построение модели рассматриваемого механизма распределения ресурсов, калибровка и контроль модели, и разработка метода оптимизации работы механизма кэширования дискового ввода/вывода на основе построенной модели.

Актуальность работы: Актуальность выбранной темы для исследования обусловлена все более возрастающим количеством распределенных автоматизированных банковских систем (с сетью филиалов, дополнительных офисов, обменных пунктов н

т.д.), работающих под управлением операционной системы Unix, а также ростом числа мелких и средних банков переходящих, из-за особенностей сегодняшнего рынка банковских услуг, на распределенную схему работы, для которых задача оптимизации работы вычислительной системы выходит на первый план из-за невозможности крупных материальных вложений в аппаратную часть вычислительного комплекса. Таким образом, оптимизация работы операционной системы путем оптимальной настройки механизма распределения различных ресурсов является для таких банков единственной возможностью повысить эффективность работы автоматизированной банковской системы.

Кроме того, в настоящее время возрастает роль концепции открытых систем в области информационных технологий и средств вычислительной техники, поддерживающих эти технологии. Идеологию открытых систем реализуют в своих последних разработках все ведущие фирмы-поставщики средств вычислительной техники, программного обеспечения и прикладных информационных систем. Их результативность определяется согласованной научно-технической политикой и реализацией стандартов открытых систем.

Выбор Unix'a как платформы для исследований проблемы производительности специализированных приложений и оптимального распределения ресурсов при условии их ограниченного количества был обусловлен именно соответствием его стандартам открытых систем. Полученные экспериментальные данные будут актуальны до тех пор, пока не произойдет технологической революции в области устройств для хранения данных, когда на смену жестким дискам, как носителям информации, придут более совершенные технологии. А разработанный метод оптимизации работы механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных технических ресурсов может использоваться и в дальнейшем, для оптимизации других информационных систем, построенных как на базе операционной системы Unix, так и на базе других систем, удовлетворяющих требованиям, предъявляемым к открытым системам.

Научная новгона: Научная новизна заключается в разработке метода оптимизации работы механизма кэширования дискового ввода/вывода операционной системы UNIX в условиях ограниченных ресурсов вычислительной системы на основе построенных математических моделей. Разработанные вероятностные модели механизмов распределения выбранных ресурсов могут быть привязаны к конкретной вычислительной системе при помощи определения набора входных параметров модели по результатам некоторых предварительных экспериментов на рабочей системе, что облегчает переносимость предложенного метода на другие платформы.

Практическая значимость: Предлагаемый метод оптимизации работы механизма кэширования дискового ввода/вывода операционной системы UNIX, основанный на поиске и устранении «узких мест» в механизме распределения ресурсов «оперативная памятымокесткий диск» был использован для оптимизации работы автоматизированной банковской системы «Пирамида» (модуль работы с частными вкладами физических лиц), а также серверной части комплекса «Клиент-банк», что подтверждается актами о внедрении. Представленные результаты говорят об устойчивости работы разработанного метода и возможности его применения, для решения определенного класса задач на различных системах, удовлетворяющих требованиям открытых систем.

Апробация работы: Основные научные выводы н результаты, полученные в ходе диссертационного исследования, прошли апробацию в виде докладов на 2-й Российской научно-практической конференции «Реинжиниринг бизнес-процессов на основе современных информационных технологий».(МЭСИ, 1998г.), 3-й Российской научно-практической конференции «Реинжиниринг бизнес-процессов на основе современных информационных технологий».(МЭСИ, 1999г.>, Третьем Международном студенческом конгрессе «XXI век: образование - менеджмент - молодежь».(МЭСИ, 1999 г.) и на Российской научной конференции «Экономические информационные системы на пороге XXI века». (МЭСИ, 1999 г.).

По теме диссертации опубликовано четыре работы.

Структура и объем работы: Диссертация, объемом 150 страниц, состоит из введения, трех глав, заключения, списка использованной литературы из 117 наименований и двух приложений.

На защиту выносится исследование существующих методов и инструментов для оценки эффективности вычислительных систем, исследование влияния различных настраиваемых параметров ядра на эффективность распределения ресурсов системы н разработанный метод оптимизации работы механизма кэширования дискового ввода/вывода операционной системы UNIX в условиях' ограниченных ресурсов вычислительной системы на основе построенных математических моделей.

СОДЕРЖАНИЕ РАБОТЫ

Во введении обоснована актуальность темы, сформулированы цель и задачи исследования, выявлены практическая значимость и научная новизна результатов работы.

В первой главе «Обзор существующих методов и инструментов для оценки эффективности вычислительных систем» проводится анализ существующих методов оценки эффективности вычислительных систем. Дается описание как встроенных в операционную систему UNIX, так и разработанных независимыми фирмами-разработчиками программного обеспечения инструментальных средств для оценки" производительности системы и поиска «узких мест» в схеме распределения ее ресурсов. Также в первой главе обосновывается выбор встроенной в операционную систему UNIX команды SAR в качестве программного измерителя показателей эффективности зычислительной системы.

В выводах по первой главе указывается, что 1)рассмотренные методы не обеспечивают возможность оценки эффективности работы системы на некотором яаборе настраиваемых параметров ядра без необходимости производить перестройку «дра с последующим контролем показателей эффективности. 2) Все рассмотренные 1рограммные пакеты (за исключением встроенных в операционную систему UNIX) шляются довольно дорогими к [мерческими продуктами. Таким образом, для организаций, которые не могут себе позволить крупных вложений в эксперименты по >ффективной настройке своей системы, подход к оптимизации с использованием зышеописанных продуктов является неприемлемым. 3) Встроенное в операционную систему инструментальное средство для оценки производительности вычислительной :истемы (программа sar) обладает свойствами точности, минимальным уровнем помех, 7ростотой использования и нулевой стоимостью, что позволяет использовать его для гоиска «узких мест» системы в рамках разработанного метода.

Во второй главе «Разработка моделей на основе математического аппарата моделирования вычислительных систем «открытая сеть»» рассматриваются вопросы, связанные с моделированием вычислительных систем и общей постановкой задачи оценки их производительности. Рассматриваются различные подходы к моделированию, их различия и области применения построенных с их помощью моделей. Дается описание математического аппарата построения вероятностных моделей с очередями, известного также как «модель открытых сетей». Также представлены две разработанные на основе этого математического аппарата модели: модель подсистемы кэширования дискового ввода/вывода и модель механизма подкачки и обеспечения мультизадачности.

Модель механизма кэширования дискового ввода/вывода:

г-^чЭ^-ойъ-1

—^ N4

Рис. 1. Графическое представление модели механизма кэширования дискового ввода/вывода.

Для исследования результатов моделирования были выбраны следующие показатели: %Rcache = ( 1 - Bread / Lread )*100% - вероятность найти запрашиваемый блок данных в кэше, где

Bread = Вк * Лs - кол-во физических операций ввода/вывода

Lread = 520 * Aj - хол-во операций ввода/вывода из кэша

AvServ = 1/(//6(1-/Э4)) - среднее время физической операции ввода/вывода.

При моделировании было сделано предположение о существовании четырех критических точек (A,B,C,D : A<B<C<D) количества кэш-буферов в системе, и соответственно пяти фаз зависимости показателей эффективности от количества дисковых кэш-буферов в системе (Nbui).

1. Nbuf = [ 0 .. А ]. Системе катастрофически не хватает буферов для выполнения элементарных операций ввода/вывода, как для своих нужд так и для удовлетворения запросов к СУБД. Индексы производительности системы находятся на низком уровне.

2. Nbuf= [ А .. В ]. Увеличение количества кэш буферов влечет за собой интенсивный рост индексов производительности, так как достигается минимально необходимое

количество кэш буферов для удовлетворения системных запросов и так называемых «коротких» запросов к базе данных.

3. КЬиГ = [ В .. С ]. Дальнейшее увеличение количества кэш буферов не ведет к заметному росту индексов производительности. На этом отрезке количества буферов уже достаточно для выполнения «коротких» запросов к базе данных, но недостаточно для удовлетворения более ресурсоемких запросов.

4. МЬиГ= [ С .. О ]. Происходит заметный рост индексов производительности, хотя и не такой интенсивный как в случае 2. На этом отрезке увеличение кэш буферов приводит к тому, что начинают кэшироваться и более ресурсоемкие запросы к базе данных.

5. №>иГ = [ Б и далее ]. Режим «насыщения». Увеличение числа кэш буферов не приводит к сколь-нибудь значительным изменениям индексов производительности, и дальнейшее увеличение приведет только к неэффективному использованию такого дорогостоящего ресурса, каким является оперативная память.

На основе статистических данных были выведены формулы зависимости некоторых внутренних параметров модели от количества дисковых кэш-буферов (ЫЬи{):

Я = Я^ДЬ82(Л^//Х) и где

Кл и Кь - к-ты, показывающие во сколько раз увеличатся значения соответствующих

параметров при увеличении МЬиГ в два раза, на отрезке МЬиГ 6 (Х;У].

Лх и ВПх - значения соответствующих параметров на левой границе отрезка.

Анализ рассчитанных данных показывает, что резкое изменение поведения функций зависимости показателей эффективности дисковой системы ввода/вывода от МэиГ происходит в 3-х точках, при значениях МЫ#=32,64 и 512.

Для всех исследованных функций выявлено следующее:

На отрезке (ЫЪиГ = 0..32) значения показателей не меняются. Количества выделенных буферов не хватает для выполнения конкретного запроса в рамках, определенной задачи и поэтому для удовлетворения запроса необходимы физические операции ввода/вывода.

На отрезке (№>иГ = 32..64) с увеличением количества кэш-буферов среднее время выполнения запроса (АуБегу) резко снижается, а процент попадания в кэш (ЯсасЬе) наоборот возрастает. При КЬиГ=б4 количество буферов достигает того уровня, при котором дисковые блоки, необходимые для выполнения запроса полностью загружаются в кэш.

На отрезке (КЬиГ = 64..512) система находится в относительном равновесии. Увеличение числа буферов не приводит к значительному изменению показателей. Такое поведение объясняется тем. что запросы, требующие считывания большого объема дисковых блоков не могу г попасть в кэш целиком из-за его небольшого размера, а небольшие запросы уже кэшированы.

На отрезке (ИЬиГ = 512..4096) количестве буферов достигает той точки, после которой начинают кэшироваться также и более объемные ( с точки зрения количества запрашиваемой информации ) запросы к базе данных.

После достижения числом кэш-буферов значения 4096, дальнейшее увеличение не приводит к заметному увеличению производительности.

Модель механизма свопинга и обеспечения мультизадачное™:

вх

Аз ег _ ва &

и

N.

а

Рис. 2. Графическое представление модели механизма обеспечения мультизадачности.

Для исследования результатов моделирования были выбраны следующие показатели:

Л

%шпосс =■ * 100% - процент заполненности очереди процессов на выполнение.

А

1 ^ Л

/ = — 2, —!--среднее время, затраченное на переключение контекста процесса.

При моделировании было сделано предположение о существовании двух критически?

точек (А и В : А<В) количества кэш-буферов в системе, и соответственно трех фа;

зависимости показателей эффективности от количества дисковых кэш-буферов I

системе (№ш£).

1. = [ 0 .. А ]. Выполняются только общесистемные процессы поддержания жизнеспособности вычислительной системы в целом, а также процессы, не требующие интенсивного обмена данными с диском. Показатели эффективности стабильны.

2. №>1^ = [ А .. В ]. Происходит рост показателей эффективности работы системы обеспечения мультизадачности, так как помимо общесистемных процессов начали интенсивно выполняться процессы, требующие обмена данными с диском.

3. МЬиГ ■=• [ В и далее ]. Режим «насыщения». Увеличение числа кэш буферов не приводит к сколь-нибудь значительным изменениям индексов производительности, и дальнейшее увеличение приведет только к неэффективному использованию оперативной памяти.

На основе статистических данных были выведены формулы зависимости некоторых

внутренних параметров модели от количества дисковых кэш-буферов (ЫЬи{):

- доля системных процессов в общем пуле выполняемых процессов. К - коэффициент прироста производительности при увеличении №иГ в два раза

, где

Моделирование проводилось для двух случаев: когда в системе достаточно памяти для выполнения процессов и вероятность использования механизма свопинга равна 0, и когда оперативной памяти недостаточно (вероятность использования механизма свопинга больше 0).

Результаты моделирования для первого случая:

Анализ рассчитанных данных показывает, что резкое изменение поведения функций зависимости показателей эффективности системы свопинга и обеспечения мультизадачное™ от Nbuf происходит в критической точке, при значении Nbuf= 512.

Для показателя %runocc выявлен о следующее;

На отрезке (Nbuf = 0..512) значения показателя не меняются. Количества выделенных буферов не хватает для того, чтобы в очереди на выполнение заметную роль играли процессы, интенсивно использующие обмен данных с диском и в очереди иа выполнение находятся только системные процессы.

На отрезке (Nbuf = 512..2048) с увеличением количества кэш-буферов процент заполненности очереди процессов на выполнение начинает расти за счет того, что теперь в системе достаточно кэш-буферов, чтобы интенсивно начали выполняться процессы, до этого момента ждущие освобождения дискового контроллера ввода/вывода.

После достижения числом кэш-буферов значения 2048, дальнейшее увеличение Nbuf не приводит к заметному увеличению производительности. Для показателя I выявлено следующее:

время на переключение контекстов не зависит от Nbuf и равно 0,005 мс.

Результаты моделирования для второго случая:

Анализ рассчитанных данных показывает, что график изменения показателя %шпосс остался таким же, а вот среднее время, затрачиваемое системой на переключение контекстов стало зависеть от Nbuf.

Рассмотрим показатель t:

На отрезке (Nbuf = 0..512) значения показателя не меняются. Небольшая заполненность очереди процессов на выполнение держит показатель на одном уровне.

На отрезке (Nbuf = 512..4096) с увеличением количества кэш-буферов процент заполненности очереди процессов на выполнение начинает расти, и следовательно, растет время, необходимое системе для переключения контекста за счет того, что теперь часть времени уходит на выгрузку ненужных процессов на диск, чтобы освободить оперативную память для загрузки процесса на выполнение.

Совпадение критических точек количества дисковых кэш-буферов в системе для рассмотренных моделей показывает, что механизм кэширования дискового ввода/вывода влияет на работу не только подсистемы дискового ввода/вывода, но и на работу других подсистем, в частности на один из главных механизмов операционной системы UNIX - механизм подкачки и обеспечения мультизадачности.

Влияние количества дисковых кэш-буферов на работу подсистемы свопинга и обеспечения мультизадачности в условиях достаточности оперативной памяти для работы системы без необходимости выгрузки процессов на диск, показывает, что

дисковый ввод/вывод действительно является одним из самых «узких . мест» вычислительной системы, и его оптимизация может повысить эффективность работы не только дисковой системы ввода/вывода, но и других механизмов операционной системы.

Третья глава «Описание аппаратной части рассматриваемой вычислительной системы я алгоритмов работы механизма кэширования дискового ввода/вывода и механизма свопинга и обеспечения мультизадачное™. Постановка, планирование и проведение экспериментов на рабочей системе» посвящена описанию аппаратной части рассматриваемой вычислительной системы на которой проводились эксперименты, описанию алгоритмов работы механизмов кэширования ввода/вывода и механизма свопинга и обеспечения мультизадачное™. Также обосновывается выбор инструментария для поиска «узких мест» в распределении ресурсов, показателей эффективности (индексов производительности) работы системы, и настраиваемых параметров ядра, непосредственно влияющих на схему распределения исследуемых ресурсов. Рассматриваются вопросы подготовки, планирования и проведения экспериментов для: 1) анализа работы выбранных механизмов дискового ввода/вывода, свопинга и обеспечения мультизадачное«;, и 2) для экспериментальной проверки разработанных моделей. Также представляются данные, полученные в ходе эксперимента.

Было проведено более 200 экспериментов на рабочей системе. В качестве рабочей нагрузки использовалась программа проверки актуальности и целостности базы данных системы «Частные вклады физических лиц», дающая нагрузку близкую к максимальной производственной рабочей нагрузке, и соответствующую стандарту ТРС-А.

В качестве измерителя индексов производительности системы' была выбрана стандартная команда sar, входящая в базовый комплект утилит большинства операционных систем UNIX. Команда sar относится к классу программных измерителей с дискретным обновлением счетчиков, накапливаемых в некотором внутреннем буфере для дальнейшего анализа в режиме реального времени. Параметром дискретизации была выбрана 1 секунда.

В качестве индексов производительности при проведении эксперимента были выбраны показатели счетчиков активности операционной системы, полученные в результате использования команды sar. Среди выбранных индексов производительности были выделены первичные и вторичные индексы. Первичные индехсы - индексы, непосредственно показывающие производительность Еыбранной для анализа подсистемы (кэширования дисковых данных или обеспечения мультизадачносш), вторичные - индексы уточняющие или дополняющие основные первичные индексы.

Первичные индексы для оценки производительности механизма кэширования дискового ввода/вывода:

• %rcache - процент попадания в кэш для запросов чтения с диска.

• avserv - среднее время обслуживания запроса устройством

Если данные, запрошенные в операциях ввода/вывода находятся в кэше, то скорость выполнения ( удовлетворения ) запроса равна скорости обмена данных между разными областями оперативной памяти. При правильно настроенной системе этот показатель должен быть >= 90%.

Время обслуживания запроса устройством ( аувегу ) зависит от физических характеристик жесткого диска, таких как время доступа к данным, время позиционирования головки, скорость считывания данных, от успешности кэширования запросов, от пропускной способности системной шины и ряда других параметров. Из всех этих характеристик управляемыми являются только те из них, которые относятся к механизму кэширования дисковых запросов.

Вторичные индексы для оценки производительности механизма кэширования дискового ввода/вывода:

• %\ую - время нахождения в режиме ожидания дискового ввода/вывода для какого-либо процесса. 1 .1 -

• ау№аЦ - среднее время ожидания в очереди к устройству /

• %Ьшу - среднее время занятости устройства

Если процесс запрашивает у ядра дисковую операцию ввода/вывода, которую невозможно выполнить немедленно (в случае занятости контроллера диска, или" переполнения буферов), то система переводит ядро в состояние «спячки» до тех пор, пока требуемый ресурс не освободится. В этом случае процесс не производит никаких действий, его выполнение полностью останавливается, что, при высоком значении %\те> приводит к неоправданному увеличению времени выполнения задачи, н, в конечном итоге, к уменьшению производительности системы в целом.

Когда процесс запрашивает дисковую операцию ввода/вывода, ядро проверяет возможность немедленного удовлетворения этого запроса ( в случае, если дисковый контроллер не занят выполнением какой-либо задачи ), и, в случае неудачи, ставит запрос в очередь на выполнение, переводит инициировавший данный вызов процесс в состояние спячки, и передает управление следующему процессу, ожидающему разрешения на выполнение. Параметр ауетак показывает среднее время ( в миллисекундах ) ожидания запроса в очереди на выполнение.

Параметр %Ьшу определяет среднее время занятости устройства по обслуживанию запросов. Чем выше это число, тем длиннее очередь запросов к устройству - тем большее число процессов находится в состоянии ожидания освобождения ресурса - тем меньше общая производительность системы.

Первичные индексы для оценки производительности механизма свопинга и обеспечения мультизадачности:

• - длина очереди процессов на свопирование.

• %$щ>осс - процент времени, в течение которого очередь на своп не пуста.

• шпк-вг - очередь процессов в памяти

• %гшюсс - процент времени, когда очередь на выполнение не пуста

Swpq-sz - число процессов в данный момент времени, ожидающих выгрузки на диск. Если эти числа отличны от уля - системе не хватает оперативной памяти для эффективной работы всех загруженных в память процессов. Если параметр %5г*уросс >30, то речь идет о катастрофической нехватке памяти. В этом случае операционная система треть своего времени и более занимается проблемами высвобождения недостаточного ресурса. Существует термин «своппинг от отчаянья», когда оперативной памяти не хватает настолько, что операционная система начинает заниматься только попытками освободить память, выгружая процессы на диск. Нормальная работа системы при этом, естественно, прекращается.

Показатель гипк-эг показывает среднюю длину очереди процессов ш выполнение. Если значение этого показателя велико, то это означает, что ресурсог центрального процессора ( скорости обработки ) не хватает, чтобы обеспечил нормальную скорость работы загруженных в память процессов.

Другой показатель (%пдпосс) показывает процент загрузки центрального процессора полезной работой. Чем выше этот показатель, тем выше скорость работы и реакции всей системы в целом (нет простоев при ожидании завершения дисковых операций ввода/вывода).

Вторичные индексы для оценки производительности механизма свопинга и обеспечения мультизадачности:

• б^ш/в - количество процессов в секунду, подвергнутых механизму своппинга.

• всаИ/в - системные вызовы всех видов

• рвлусЫв - число переключений между процессами / сек.

Если операционной системе не хватает оперативной памяти для выполнения текущего активного процесса, то включается механизм своппинга, при котором неактивные процессы полностью или частично переносятся из оперативной памяти на внешние носители - обычно на диск, а когда приходит их время выполнения - обратно в память. Параметр swpin/s показывает числс( процессов в секунду, подвергнутых действию этого механизма.

В первом приближении можно считать показатель бсаШз показателем скорости работы системы, т.к. чем больше число выполненных системных вызовов за одну секунду, тем быстрее работают загруженные в память на выполнение процессы.

Показатель р5\УсЬ/з показывает насколько часто происходит переключение контекстов в системе. Чем выше этот показатель, тем чаще процессы получают управление, и следовательно, тем выше скорость работы системы в целом.

Для' эксперимента были выбраны следующие управляемые факторы (настраиваемые параметры системы), непосредственно влияющих на использование и распределение оперативной памяти и управление обработкой дисковых операций.

• ВиГраЁСз - количество буферных страниц

• МЬиГ - количество заголовков буферного кэша

• Мах_рс1 - Максимальный размер динамического кэша в процентах от общего объема памяти

• Мш_рс« - Минимальный размер динамического кэша в процентах от общего объема памяти

В ходе эксперимента уровни выбранных факторов увеличивались, начиная с 0 до того момента, когда дальнейшее увеличение этих факторов не приводило к заметному увеличению производительности из-за того, что индексы эффективности работы системы уже находились на уровне своих максимальных значений.

Для выявления взаимосвязей между различными факторами было спланировано и проведено несколько факторных экспериментов. Факторный план включал в себя анализ взаимозависимостей между следующими группами факторов:

• Мш_рй и Мах_рс>

• 1ЧЬиГ и ВиГра£сз

» Р{Ьи1", М1П__рс1 и \fax_pct

> ВиГрарея, Мт_рс1 и Мах_рс1

> 1ЧЬиГ, ВиГрацез, Мт_рс( и \fax_pct

Также было проведено несколько экспериментов с изменением факторов по одному, для оценки влияния на индексы производительности одного конкретного фактора:

» тм

> В^ра^ез

> Мах_рс1

Также был проведен эксперимент, в котором все настраиваемые параметры орались равными 0 для определения эффективности работы системы по умолчанию.

Результаты экспериментов по оценке производительности механизма кэширования щсковых данных приведены ниже в виде таблиц, информация в которых представлена' ! сокращенном виде:

[. Исследование влияния факторов Мш_рс1 и Мах__рс1

>1ЬиГ ВШрадез Мт_рс1 Мах_рс1 °Шо %Ьи$у атаК аузвге . %гсасИв %««:8сЬв

0,00 0,00 5,00 5,00 65,00 80,00 100,00 17,55 96,23 91,61

0,00 0,00 5,00 10,00 27,00 35,00 134,00 10,00 99,09 91,60

0,00 0,00 5,00 15,00 15,00 20,50 149,00 17,50 99,52 94,46

0,00 0,00 5,00 20,00 3,00 6,00 164,00 25,00 99,96 97,31

0,00 • 0,00 5,00 50,00 1,10 2,90 170,00 26,27 99,96 98,30

Как видно из таблицы достаточное количество дисковых кэш-буферов юстигается уже при значении Мах_рс1 = 20 (см. показатели %гсасЬе, %у/саЛс и /оЫиу). По умолчанию в настройках ядра было установлено Мт_рс1 - 5, Мах_рс1 = 50. Экономия оперативной памяти для сервера с 64 Мб составит, таким образом, 64/100*30 = 19.2 Мб, то есть почти 20 Мб. Сравнивая показатели %гсасЬе, %\усасЬе и %Ьиэу при ^ах_рй = 20 и 50 видим, что существенного изменения производительности не фоизошло.

Обнаружен любопытный факт, связанный с показателями ауугай и ауБегу для тех (аборов параметров, которые дают по индексам %гсасЬе, %\УсасЬе и %Ьщу большую гроизводительность. Если во всех остальных случаях разброс значений показателей мхуай и ауэегу не отклоняется от их средних значений, то для этих наборов параметров шброс очень большой. В вышеприведенной таблице представлены средние значения юказателей. При просмотре всего набора неусредненных значений параметра ау\уак ¡ыло замечено, что его значения находятся в пределах 8-12 мс, а зачастую и равны [улю, что означает, что за секунду, прошедшую с момента последнего наблюдения >бращений к диску не было, но несколько раз поднимаются до 400-800 мс. Этот эффект >бъясняется механизмом «отложенной записи», когда свободных буферов больше не ютается и система освобождает большую часть буферов, помеченных как «отложенная апись», сбрасывая их на диск.

'.. Исследование влияния единственного фактора Мах_рс1.

В результате эксперимента выяснилось, что показатели производительности достигают своих оптимальных значений при значении Мах_рй = 20%. Поскольку Мш_рс1 = 0, то графики изменения показателей более пологие, чем в первом эксперименте (в системе нет установленной по Мш_рЛ области памяти под дисковый кэш).

3. Исследование влияния единственного фактора Nbuf

Nbuf Bufpages Min_pct Max_pct %wio "/«busy avwait avserv %rcache "/owcache

16,00 0,00 0,00 0,00 93,00 97,00 26,45 21,52 64,08 71,74

256,00 0.00 0,00 0,00 89,00 95,00 19,60 16,42 91,36 81,94

768,00 0,00 0,00 0,00 73,00 85,00 200,00 17,00 95,43 89,94

1 024,00 0.00 0,00 0,00 56,00 70,00 100,00 16,00 96,85 91,54

4 096.00 0,00 0,00 0,00 2,00 5,00 200,00 26,00 99,96 97,32

Как видно из таблицы, начиная с ЫЬиГ = 768 проявляется тот же самый эффект отложенной записи что и в группе экспериментов 1 и 2. В следующих группах этот эффект тоже присутствует.

При №>иГ = 4096 достигается такой же уровень производительности, что и при использовании Мах_ра = 20. Однако по вышеприведенным формулам затраты оперативной памяти при использовании параметра Мах_рс1 равны 20*64/100 = 12,8 Мб. А затраты при использовании параметра ЫЬиГ: 4096* 1024 = 4,2 Мб.

4. Исследование влияния единственного фактора Bufpages

Nbuf Bufpages Min_pct Max_pct %wio %busy await avserv %rcache %w<

0,00 16,00 0,00 0,00 93,00 97,00 27,15 22,06 63.60

0,00 256,00 0,00 0,00 89,00 95,00 14,30 16,40 90,91

0,00 768,00 0,00 0,00 88,00 95,00 30,30 16,25 91,90

0,00 1 024,00 0,00 0,00 88,00 95,00 45,50 16,60 92,13

0,00 4 096,00 0,00 0,00 2,00 5,00 400,00 26,00 99,96

При ВиЯ^ев = 4096 система также достигает своего оптимального уровня производительности ( по показателям %гсасЬе, %\усасЬе и %Ьизу).

5. Исследование влияния факторов Nbuf и Bufpages

Nbuf Bufpages M;n_pci Max_pct •/Iwio %busy await avserv %rcache V.wcache

32,00 128,00 0,00 0,00 92,00 97,00 23,80 19,30 71,05 78,31

32,00 256,00 0,00 0,00 91,00 96,00 24,70 20,70 69,30 75,20

1 024,00 2 048,00 0,00 0,00 54,00 68,00 100,00 16,70 96,83 91,60

1 024,00 4 096,00 0,00 0,00 52,00 . 58,00 146,00 17,10 97,40 94,60

2 048,00 4 096,00 0,00 0,00 6,00 13,00 300,00 22,50 99,69 96,82

Оптимальный уровень производительности (по показатели %rcache, %wcache и %busy) в этом случае достигается при значении параметров Nbuf=2048 и BufPages = 4096.

6. Исследование влияния факторов Nbuf, Min_pct и Max_pct

7. Исследование влияния факторов Bulpages, Min_pct и Max_pct

8. Исследование влияния факторов Nbuf, Bufpages, Min_pct и Max_pct

Результаты этих групп экспериментов показали, что при попытке одновременно использовать параметры отмечающие за динамическое распределение кэш-буферов (Мт_рс1 и Мах_рсО с параметрами, отвечающими за детерминированное распределение буферов ( №>иГ, Ви<ра£ез) параметры динамического распределения попросту игнорируются. И результаты экспериментов таким образом сводятся к результатам экспериментов 3-й, 4-й и 5-й групп.

9. Исследование влияния факторов, установленных системой по умолчанию.

В^раде» М1п_рс1 Мах_рЛ 'Шо УоЬдоу аууаП аудегу •/огсасЪе %игсасИе

0,00 0,00 0,00 0,00 88,00 95,00 21,50 16,10 91,58 81,86

0,00 0,00 0,00 0,00 89,00 95,00 23,20 16,18 91,58 81,85

0,00 0,00 0,00 0,00 89,00 94,00 22,30 16,80 91,64 82,62

Эксперимент девятой группы проводился для анализа ситуации, когда все настраиваемые параметры ядра операционной системы, рассматриваемые в данном контексте, приравнивались нулю для оценки показателей, устанавливаемых по умолчанию. В этом случае №иГ = BufPages = Мт_рс1 = Мах_рсг = О,

Результаты показывают, что в случае, когда все настраиваемые параметры ядра равны нулю, то ядро по умолчанию устанавливает ~ 256. Производительность в этом случае получается неоптимальной.

Результаты эксперимента по оценке производительности механизма свопинга и обеспечения мультизадачности:

Результаты эксперимента показали, что как первичные:

• зиод-зг - длина очереди процессов на свопирование.

• %5\уросс - процент времени, в течение которого очередь на своп не пуста, так и вторичные индексы для оценки производительности механизма свопинга:

• вшрш/з - количество процессов в секунду, подвергнутых механизму своппинга.

практически равны нулю при любых значениях настраиваемых параметров системы. Другими словами, ресурсов физической памяти, установленной на сервере, достаточно для нормального выполнения загруженных процессов. Поэтому в дальнейшем будем рассматривать только индексы производительности, отвечающие за механизм обеспечения мультизадачности.

1. Исследование влияния факторов Мт_р« и Мах_рс1

N13111 ВиГрадез Мт_рс1 Мах_рс1 гипк-вг УоШПОСС рвигсН/з 8СаИ/8 агеас! Ы зжгие/з 0№ег/8

0,00 0,00 5,00 5,00 1,2 44 422 3804 878 879 2047

0,00 0,00 5,00 10,00 1,3 79 1252 8213 2215 1705 4293

0,00 0,00 5,00 15,00 1,25 88,50 1 484 9 425 2 584,50 1 932,50 4 908

0,00 0,00 5,00 20,00 1,2 98 1716 10637 2954 2160 5523

0,00 0,00 5,00 50,00 1,2 100 2116 10746 3264 2026 5456

Как видно из таблицы, показатель гипк-вг находится в пределах 1.1-1.3 для любых значений настраиваемых параметров Мт_рс1 и Мах_рс(. Говоря другими словами, загруженности центрального процессора по количеству выполняемых процессов нет и ресурсов процессора достаточно для обеспечения нормальной работы

системы. Таким образом, изменение скорости работы системы в целом зависит от других ее потенциальных узких мест, одним из которых является дисковая подсистема ввода/вывода. Это утверждение будет верно и для всех остальных групп экспериментов. у

Из таблицы видно также, что система достигает своего оптимального уровня производительности (по значениям показателей %гипосс ясиИ/в и р8\УсЬ/з) при динамическом распределении дисковых кэш-буферов со значениями параметров Мш_рс* = 5 и Мах_рс1 = 20, что согласуется с данными, предыдущего эксперимента по оценке производительности дисковой системы ввода/вывода.

2. Исследование влияния единственного фактора Мах_рс1.

Показатели производительности достигают своих оптимальных значений при значении Мах_ра = 20%.

3. Исследование влияния единственного фактора ИЬиГ

ВЫраде 8 М1п_рс 1 Мах_рс гипк-вг %гипосс РЗЖСЬ/З зса11'8 вгеай/з 8ЖГКе/8 оШег/в

16,00 0,00 0,00 0,00 1,1 24 69 701 129 29 543

256,00 0,00 0,00 0,00 1,1 22 77 1205 278 169 758

768,00 0,00 0,00 0,00 1,2 39 305 3057 684 673 1700

1 024,00 0,00 0,00 0,00 1,2 52 663 5128 1259 1115 2754

4 096,00 0,00 0,00 0,00 1,2 96 1791 11029 3080 2239 5710

Показатель (%гипосс) показывает процент загрузки центрального процессора полезной работой. Чем выше этот показатель, тем выше скорость работы и реакции всей системы в целом (нет простоев при ожидании завершения дисковых операций ввода/вывода). Как видно из таблицы, оптимальная загрузка процессора начинается со значения НЬ^ = 2048 ( Уогипосс = 93) и дальнейшее увеличение количества дисковых кэш-буферов в системе не дает сколь-нибудь заметного прироста показателя %гипосс.

С увеличением числа буферов в системе растет количество переключений между процессами, следовательно растет скорость работы всей системы в целом. Как видно из таблицы оптимальная величина рэ^-сИД получается при значении 1ЧЬиГ = 2048, и дальнейшее увеличение количества буферов не приводит к сколь-нибудь заметному ее росту.

В качестве показателя увеличения скорости работы системы при изменении настраиваемых параметров ядра использовался также показатель $са11Л, показывающий количество системных вызовов различного типа в секунду. В первом приближении можно считать показатель БсаП/з показателем скорости работы системы, т.к. чем больше число выполненных системных вызовов за одну секунду, тем быстрее работают загруженные в память на выполнение процессы. Как видно из таблицы, своего оптимального значения этот показатель достигает также при ЫЬиГ = 2048.

4. Исследование влияния единственного фактора Bufpages

ЯМ ВЫрадаз М1п_рс 1 Мах_рсХ гилк-вг %гилосс рзигсМв всаШг БгеасиБ

0,00 16,00 0,00 0,00 1.1 24 70 688 125 28 535

0,00 1 024,00 0,00 0,00 1 25 80 1422 310 200 912

0.00 3 586,00 0,00 0,00 1,2 95 1651 10268 2848 2100 5320

0,00 4 096,00 0,00 0,00 1,2 92 1664 10358 2872 2110 5376

»

При ВиД^ея = 3586 система достигает оптимального уровня производительности (' показатели %гипосс, pswch/s и зсаИ/я ). I

5. Исследование влияния факторов Nbuf и Bufpages

Nbuf Bufpag es Mln_ pet Max_ pet runk-sz •/•runocc pswch/s scall/s sread/s swrite/s other/s

32 64,00 0,00 0,00 20 68 732 140 30 562

128 512,00 0,00 0,00 1.1 16 83 1094 229 116 749

512 1 024,00 0,00 0,00 1,1 22 75 1306 309 197 800

2 048 4 096,00 0,00 0,00 1,3 95 1660 10327 2857 2101 5369

Оптимальный уровень производительности (по показателям %runocc, pswch/s и scall/s) в этом случае достигается при значении параметров Nbuf=2048 и BufPages = 4096.

6. Исследование влияния факторов Nbuf, Min_pct и Max_pct

7. Исследование влияния факторов Bufpages, Min_pct и Max_pct

8. Исследование влияния факторов Nbuf, IJufpages, Min_pct н Max_pct

Результаты эксперимента подтверждают полученные нами результаты того, что при попытке одновременно использовать параметры отмечающие за динамическое распределение кэш-буферов (Min__pct и Max_pct) с параметрами, отвечающими за детерминированное распределение буферов (Nbuf, Bufpages) параметры динамического распределения игнорируются. И результаты эксперимента таким образом сводятся к результатам экспериментов 3-й, 4-й и 5-й групп.

9. Исследование влияния факторов, установленных системой по умолчанию.

Результаты показывают, что в случае, когда все настраиваемые параметры ядра равны нулю, то ядро по умолчанию устанавливает Nbuf - 256. Производительность в этом случае получается неоптимальной.

Таким образом, из результатов экспериментов видно, что схема распределения ресурсов при заводских установках настраиваемых параметров ядра операционной системы Unix являлась неоптамальной, что приводило к неэффективному использованию ресурсов оперативной памяти. При помощи выбранного инструмента и настраиваемых параметров ядра удалось оптимизировать использование данного ресурса, и улучшить показатели эффективности работы вычислительной системы.

Результаты экспериментов показали, что выбор инструментального средства для поиска «узких мест» в распределении ресурсов, показателей эффективности (индексов производительности) работы системы и настраиваемых параметров ядра был сделан правильно, что подтверждается экспериментальными данными.

Четвертая глава «Сравнительный анализ результатов эксперимента и расчетов по построенным моделям. Алгоритм метода оптимизации работы механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных . ресурсов» посвящена сравнению результатов моделирования и проведенных экспериментов, сравнительному анализу расчетов по модели с экспериментальными

данными и построению метода оптимизации работы механизма кэширования дискового ввода/вывода операционной системы Unix, основанной на разработанных моделях.

Сравнительный анализ данных, полученных в результате эксперимента по выявлению зависимости изменения показателей эффективности работы подсистемы дискового ввода/вызода от объема памяти, выделенного системой под дисковые кэш буфера и данных, полученных в результате расчета по модели подсистемы кэширования дискового ввода/вывода показывает следующее:

1. Существование критических точек количества выделенных системой дисковых кэш буферов и их значения (Nbuf = 32,64,512 и 4096), взятые при моделировании, подтверждаются данными, полученными в результате эксперимента.

2. Выявленные четыре фазы в распределении показателей эффективности: две фазы роста показателей (Nbuf = [32 .. 64] и Nbuf= [512'.. 4096] ), и две фазы покоя (Nbuf = [0 .. 32] и Nbuf = [ 64 .. 512] ) совпадают для рассчитанных и экспериментальных данных.

3. Выведенная функция зависимости Л (интенсивность потока входящих запросов) от Nbuf: Х-Хх (Nbuf /X) подтверждается данными, полученными в результате эксперимента ( Рис. 3 ).

Рис.3. Зависимость Ь_Е (Л полученная в ходе эксперимента) и Ь_М (Л полученная в результате расчета по модели) от количества дисковых кэш буферов

Расхождение графиков экспериментальной и смоделированной зависимости Л от ЫЬиГ для значений КЬиГ > 1536 вызвано механизмом отложенной записи, который вызывает небольшое снижение производительности при высоких значениях и интенсивном использовании механизма кэширования дискового ввода/вывода. Это'

расхождение не влияет на общую картину зависимости смоделированных показателей эффективности дисковой системы ввода/вывода от количества дисковых кэш буферов в системе и является допустимым упрощением модели.

3. Результаты просчета модели по параметрам, взятым в качестве констант, а также выведенной формуле для расчета параметра Вп: Вп=ВПг* К^&^^ц/ / X) дают значения основных показателей эффективности работы дисковой подсистемы ввода/вывода близкие к значениям тех же показателей, полученных в результате эксперимента. Графики изменения показателей эффективности работы дисковой системы ввода/вывода от полученных в результате расчета по модели и показателей, полученных в ходе эксперимента ведут себя одинаково при изменении ИЬиГ, а также при пересечении значением МЬиГ найденных критических точек. (Рисунок 4 и Рисунок 5). Несоответствие между рассчитанными и экспериментальными значениями первичного индекса производительности (%гсасЬе) на участке = [ 0.. 32 ] не превышает 4,5%, на всем остальном протяжении - 1,6%.

Рис.4. Графики зависимости экспериментального (ЯС_Е) и рассчитанного первичного индекса производительности дисковой системы ввода/вывода %ЯсасЬе от МЬиГ.

На рисунке 5 видно, что динамика изменения вторичного индекса производительности одинакова как для рассчитанных, так и для экспериментальных данных. Разница в амплитуде значений н в интенсивности снижения функции рассчитанного показателя на участке ИЬиГ = [32..64] объясняется допущением, принятым в модели об усреднении времени доступа к диску при различной степени интенсивности запросов. Поскольку Ау$егу является вторичным индексом, уточняющим и подтверждающим правильность моделирования первичного индекса

%гсасЬе, то главным результатом является идентичность поведения рассчитанной и экспериментальной функции зависимости Аузегу от количества дисковых кэш буферов в системе

. Рис.5. Графики зависимости экспериментального AvServ (эксп) и рассчитанного -Ау8егу (модел) вторичного индекса производительности дисковой системы ввода/вывода АуЗегу от ИЬи£

5. И рассчитанные и экспериментальные данные подтверждают вывод о том, что при увеличении количества дисковых кэш буферов в системе, существует предел увеличения показателей эффективности, при приближении к хоторому дальнейшее увеличение количества буферов не приводит к скояь-нибудь заметному увеличению производительности, а просто к неэффективному использованию оперативной памяти.

Сравнительный анализ данных, полученных в результате эксперимента по выявлению зависимости изменения показателей эффективности работы подсистемы свопинга и обеспечения мультизадачное™ от объема памяти, выделенного системой под дисковые кэш буфера и данных, полученных в результате расчета по модели подсистемы свопинга и обеспечения мультизадачное™ показывает следующее:

1. Существование критаческих точек количества выделенных системой дисковых кэш буферов и их значения (ЫЪиГ = 512 и 4096), взятые при моделировании, подтверждаются данными, полученными в результате эксперимента.

2. Выявленные две фазы в распределении показателей эффективности: фаза покоя (№>иГ = [0 .. 512] ; фаза роста показателей (ЫЬиГ = [ 512 .. 4096] ) совпадают для рассчитанных и экспериментальных данных.

Результаты просчета модели по параметрам, взятым в качестве констант, а также шведенной формуле для расчета параметра Вп:

Г

=<! , (Мш//А) дают значения основных показателей

:ЫЬи/>А

|)ективности работы подсистемы свопинга и обеспечения мультизадачное™ близкие течениям тех же показателей, полученных в результате эксперимента. Графики изменения показателей эффективности работы подсистемы свопинга и эбеспечения мультизадачное™ от №иГ полученных в результате расчета по модели я показателей, полученных в ходе эксперимента ведут себя одинаково при изменении МЬи£ а также при пересечении значением МЬиГ найденных критических ' точек. (Рисунок 6). Несоответствие между рассчитанными и экспериментальными шачениями первичного индекса производительности (%тшюсс) не превышает в среднем 7%.

с. 6. Графики зависимости экспериментального (Яип_Е) и рассчитанного первичного индекса производительности подсистемы свопинга и обеспечения мультизадачное™ %шпосс от №иГ

И рассчитанные и экспериментальны данные подтверждают вывод о том, что при увеличении количества дисковых кэш буферов в системе, существует предел увеличения показателей эффективное™, при приближении к которому дальнейшее увеличение количества буферов не приводит к сколь-нибудь заметному увеличению производительности, а просто к неэффективному использованию оперативной памяти.

Описание алгоритма метода оптимизации работы механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных ресурсов

В случае использования предложенного метода оптимизации работы механизма кэширования дискового ввода/вывода для некоторой типовой вычислительной системы, параметры для расчета показателей эффективности по моделям механизма кэширования дискового ввода/вывода и механизма свопинга и обеспечения мультизадачное™ берутся из статических таблиц, приведенных в диссертационной работе, которые могут быть дополнены данными для других типов вычислительных систем. Если рассматриваемой вычислительной системы нет в таблице, то для того, чтобы расчеты по представленным моделям как можно более точно отражали поведение реальной вычислительной системы, параметры модели определяются из характеристик конкретной моделируемой вычислительной системы и рассчитываются на основе ряда предварительных экспериментов.

Было разработано два алгоритма: для работы со статической и динамической схемой распределения памяти под дисковые кэш-буфера. Ниже приведен алгоритм метода с использованием статической схемы распределения памяти:

1. Выбор рабочей нагрузки.

2. Проведение ряда предварительных экспериментов.

3. Определение параметров модели для приведения ее в соответствие с конкретной моделируемой вычислительной системой.

4. Проведение экспериментов в соответствии с планом для выявления критических точек в распределении показателей эффективности.

5. Предварительный расчет по модели

6. Контроль точности смоделированной системы

7. Окончательный расчет по модели

8. Принятие решения

Этап 1. Выбор рабочей нагрузки.

При выборе рабочей нагрузки необходимо учесть следующие моменты:

1. Рабочая нагрузка должна быть воспроизводимой и идентичной для всех проводимых экспериментов.

2. Рабочая нагрузка должна максимально нагружать дисковую подсистему ввода/вывода, используя в качестве ресурсов оперативную и дисковую память, по возможности не затрагивая остальные ресурсы системы ( интенсивные расчеты, нагружающие центральный процессор, сетевое взаимодействие и т.д.).

3. Рабочая нагрузка должна являться подмножеством производственной рабочей нагрузки.

Этап 2, Проведение ряда предварительных экспериментов.

Необходимо ознакомиться с параметрами команды sar, и в случае различий в терминологии определить какие данные, выдаваемые командой sar соотносятся со следующими показателями эффективности:

1. Использование буферов ввода/вывода ■

• %rcache - процент попадания в кэш для запросов чтения с диска.

• %wcache - процент попадания в кэш для запросов записи на диск.

• bread - количество физических операций в секунду чтения с диска в буферный кэш.

• lread - количество операций считывания в секунду, перенаправленных на чтение из кэша.

• bwrite - количество физических операций в секунду записи из буферного кэша на диск.

• ¡write - количество операций записи в секунду, задержанных в буферном кэше записи.

2. Использование дисков.

• avwait - среднее время ожидания в очереди к устройству

• avserv - среднее время обслуживания запроса устройством

• %busy - среднее время занятости устройства

3. Активность механизмов своппинга и страничного замещения.

• swpq-sz - длина очереди процессов на свопирование.

• %swpocc - процент времени, в течение которого очередь на своп не пуста.

4. Работа механизма обеспечения мультизадачности

• %гипосс - процент времени, когда очередь на выполнение не пуста

• pswch/s - число переключений между процессами / сек.

Необходимо также определить настраиваемые параметры ядра операционной системы, соотносящиеся со следующими параметрами:

• Nbuf - Количество статически заданных буферов ввода/вывода в системе

• Min_pct - Минимальный объем оперативной памяти, отведенные под динамическое выделение дисковых кэш буферов.

• Max_pct - Максимальный объем оперативной памяти, отведенный под динамическое выделение дисковых кэш буферов.

Определившись с типом рабочей нагрузки, настраиваемыми параметрами и показателями эффективности работы системы необходимо провести следующий эксперимент:

1. Провести пересборку ядра операционной системы со следующими значениями настраиваемых параметров:

Min_pct = Max_pct = 0, Bufpages = 0,Nbuf = 16

2. Перегрузить систему.

3. Запустить программу рабочей нагрузки и команду sar -b ( статистика использования буферов ). Длительность интервала установить равной 1 секунде, количество интервалов выбрать из диапазона 600 .. 1000. Сохранить полученные результаты в файле, используя опцию -о.

4. Повторить п.З

5. Усреднить полученные результаты.

6. Запустить программу рабочей нагрузки и команду sar -q (средние длины очередей и процент времени занятости). Длительность и количество интервалов замеров выбрать таким же, как и в п.З

7. Повторить п.5

8. Усреднить полученные результаты

Этап 3. Определение параметров модели для приведения ее в соответствие с конкретной моделируемой вычислительной системой.

Для модели подсистемы дискового ввода/вывода установить следующие начальные значения параметров:

1/Д = Мцj = l/^j = 0,0025 мс. V/J, = 1/уЦ = 0,01мс.

1/ JU6 = Юме. ( определяется из характеристик модели установленного жесткого диска)

£м=0,7. Вх = 3.

n» n //n п %rcache... В^ВхЦВн + Въ* (I--——)), где

%rcache = (1 - ( «bread/s» / «lread/s» ))*100%. Полученные в п.З этапа 2. Я' = (lread/s + lwrite/s ). Полученные в п.З этапа 2.

Для модели подсистемы свопинга и обеспечения мультизадачное™ установить следующие начальные значения параметров:

1/Д = М ¡Лг = 1///, = 0,0025 мс., 1/^ = бОмс. Dlp = ( %пшосс ). Полученный в п.8 этапа 2. В1} = (1- %swpocc ). Полученный в п.8 этапа 2.

А = Количество прерываний от таймера за 1 мс. (из технической документации сервера). В случае сложностей с определением реальной частоты таймера можно принять Х-0,1.

Этап 4. Проведение экспериментов в соответствии с планом для выявления критических точек в распределении показателей эффективности.

План экспериментов:

1. Установить параметры ядра: Min_pct = Max_pct = Bufpages = 0.

2. Установить Nbuf =8.

3. Выбрать количество интервалов ( рекомендуется 600-1000) и длину интервала ( рекомендуется 1 секунда ) на которых будут проводиться замеры показателей эффективности с помощью программы sai.

4. Пересобрать ядро,

5. Перегрузить систему, чтобы новые настройки вступили в силу.

6. Запустить на фоне рабочей нагрузки команду sar (каждый раз сохраняя результаты в файле используя опцию -о ) со следующими параметрами:

• -Ь ( статистика использования буферов )

• -с! (статистика использования дисков)

• -с (статистика по системным вызовам )

• -я ( статистика по длинам различных очередей)

• -V/ ( статистика по использованию механизма свопинга)

7. Повторить п.6

8. Усреднить результаты, полученные в пп. б и 7.

9. Вычислить первичные индексы производительности:

%гсасЬе = (1 - ( «ЬгеасУв» / «1геас1/8» ))*100%, где Ьгеай/з и 1геас1/з берутся из

усредненных результатов выполнения команды яаг -Ь

Уошпосс, берется из усредненных результатов выполнения команды ваг ^

10. Проверить условие: «первичные индексы производительности %гсасЬе и %пшосс близки к своим яаксимальным значениям ( 100% ), а их увеличение их значений по сравнению с предыдущим экспериментом не превысило некоторую заданную величину (0,5-1 % )»

11. Если проверка условия в п.10 возвращает значение «истина», то переходим к п.13.

12. Увеличиваем №>иГв 2 раза: ЛЪиГ *= 2; И переходим к п.4.

13. Окончание экспериментов. ' .

По результатам эксперимента строим таблицу, в которую включаем основные показатели эффективности работы системы, а также некоторые параметры:

N1^ %гсасЬе %гипосс Аузегу УоВшу рэи-сЬ/з Л Я,2

где

%гсасЬе = (1 - ( «Ьгеа^» / «1геас1/з» ))♦ 100% Л = (1геас1Л + 1отие/з) и

п п /,п п ,,, %гсасИе.. з,2=536/(г36+л20*(1—))

Находим критические точки количества кэш-буферов в системе для модели подсистемы дискового ввода/вывода:

1. Строим графики зависимости %гсасЬе(' №>иГ), Аузегу( Мн^ ), %Визу( ), Я ( ММ-).

2. По графикам определяем критические точки ( точки резкой смены поведения построенных функций).

3. По 1рафикам для каждого отрезка между двумя соседними критическими точками вычисляем коэффициенты Кк й Кь, помня о том, что эти коэффициенты показывают степень увеличения соответствующего параметра (Я и В1г ) при увеличении №>иГ в два раза. Если отрезок вмещает в себя несколько значений >Л>иГ, то вычисляем несколько коэффициентов и усредняем полученные результаты.

Находим критические точки количества кэш-буферов в системе для модели подсистемы свопинга и обеспечения мультизадачности:

1. Строим график зависимости %гипосс(ИЬи^.

2. По графику определяем критические точки ( точки резкой смены поведения построенной функции ).

3. По графику для каждого отрезка между двумя соседними критическими точками вычисляем коэффициент К, помня о том, что этот коэффициент показывает степень увеличения параметра Вп при увеличении в два раза. Если отрезок вмещает в себя несколько значений МЬи£ то вычисляем несколько коэффициентов и усредняем полученные результаты.

Параметр В12 для модели подсистемы свопинга и обеспечения мультизадачное™ вычисляется по формуле: - ,

В]2 = %шпосс /100.

Этап 5. Предварительный расчет по модели

Производим расчет по обеим моделям, используя найденные коэффициенты и начальные условия в качестве параметров модели. Если графики изменения первичных индексов производительности ( %гсасЬе и %гипосс ) для значений, рассчитанных по модели совпадают с экспериментальными, то переходим к выполнению этапа 6. Если нет, то повторяем этап 4. беря теперь в качестве параметра ЫЫ^ среднее от двух его соседних значений, выбранных в предыдущем проходе этапа 4. ( производим уточнение экспериментальных данных ).

Если даже после вторичного • уточнения экспериментальных данных, рассчитанные данные по модели не сходятся с экспериментальными, то это означает, что методика применяется не в своей области достоверное™ ( не на той вычислительной системе, с неправильно определенной рабочей нагрузкой или не с теми значениями параметров, выбранных в качестве констант. Во последнем случае можно попытаться видоизменить модель, изменяя константные параметры для более точного соответствия реальной вычислительной системе )

Этап 6. Контроль точности смоделированной системы

Если рассчитанные по модели показатели совпадают с данными, полученными в результате эксперимента, то производим проверку модели на точное соответствие моделируемой системе. Для этого выбираем некоторое количество точек, соответствующее разным значениям МЬи£ и лежащих на разных отрезках между найденными критическими точками ( 3-8 точек ), используя план эксперимента из этапа 4. Получаем экспериментальные данные о производительности системы при заданном количестве буферов ( 1МЬи0. Рассчитываем показатели эффективности по модели и сравниваем с полученными экспериментальными данными. Если они достаточно близки, то построенная модель адекватно отображает рассматриваемую вычислительную систему. Если нет, то скорее всего, неправильно выбраны критические точки и требуется провести еще ряд экспериментов в соответствии с этапом 4 ( обычно не более 5 ) для уточнения значения критических точек.

Этап 7. Окончательный расчет по модели

Производим окончательные расчеты по уточненным параметрам моделей, сводим их и таблицу и для наглядности выводим в виде графиков.

Этап 8. Принятие решения

На основе данных, полученных в результате моделирования принимаем

необходимое нам решение.

В заключении сформулированы основные теоретические и практические результаты

диссертационного исследования:

1. Исследован механизм работы подсистемы кэширования дискового ввода/вывода и подсистемы свопинга и обеспечения мультизадачное™ операционной системы Unix в условиях ограниченных ресурсов.

2. Разработана модель механизма кэширования дискового ввода/вывода на основе математического аппарата вероятностного моделирования «открытая сеть».

3. Разработана модель механизма свопинга и обеспечения мультизадачное™ на основе математического аппарата вероятностного моделирования «открытая сеть»;

4. Проведен комплекс экспериментов, результаты которых подтверждают расчеты по моделям.

5. Разработан метод оптамизации работы механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных ресурсов, позволяющий выбрать оптимальный набор параметров ядра с помощью расчетов по построенным моделям, без необходимости перестройки ядра. Разработан алгоритм предложенного метода.

6. Предложен метод выбора необходимых параметров модели (определяющих характеристики конкретаой моделируемой вычислительной системы) на основе ряда предварительных экспериментов.

7. Разработан комплекс программного обеспечения, выполняющий расчеты по предложенным моделям.

Основные положения диссертации опубликованы в следующих работах:

1. Курятников A.B., Исследование некоторых узких мест операционной системы Unix в приложении к банковским информационным технологиям., в сб. научных трудов 2-й Российской научно-практической конференции «Реинжиниринг бизнес-процессов на основе современных информационных технологий»., М:МЭСИ, 1998г.

2. Кондратьев В.К., Курятников A.B., Исследование способов оптимизации настройки ядра операционной системы UNIX в условиях ограниченных технических ресурсов на примере одной автоматазированной банковской системы., в сб. научных трудов 3-й Российской научно-практической конференции «Реинжиниринг бизнес-процессов на основе современных информационных технологий»., М:МЭСИ, 1999г.

3. Кондратьев В.К., Курятников A.B., Вопросы оптамизации обработки базы данных автоматазированной банковской системы. Моделирование механизма кэширования данных в ОС UNIX. В сб. докладов Третьего Международного студенческого конгресса «XXI век: образование - менеджмент - молодежь», М:МЭСИ, 1999 г.

4. Курятников A.B., Исследование влияния настраиваемых параметров ядра операционной системы Unix на показатели эффективное™ работы вычислительной системы. В сб. докладов Российской научно* конференции «Экономические информационные системы на пороге XXI века», М: МЭСИ, 1999 г.

3*K.S3.Tup гсо.чли t

Оглавление автор диссертации — кандидата технических наук Курятников, Александр Витальевич

ВВЕДЕНИЕ.

ГЛАВА I. Обзор существующих методов и инструментов для оценки эффективности вычислительных систем.

1.1 Обзор существующих методов оценки эффективности вычислительных систем.

1.1.1 Эффективная организация корпоративных информационных систем.

1.1.2 Метод определения оптимальной конфигурации системы на основе анализа основных транзакций, выполняемых в выбранной СУБД.

1.1.3 Метод определения характеристик рабочей нагрузки, генерируемой приложениями доступа к базе данных на основании тестов ТРС.

1.1.4 Оценка эффективности АБС, разработанная и примененная в Морском Акционерном Банке.

1.1.5 Метод эффективной настройки сервера СУБД.

1.2 Обзор инструментальных средств для оценки эффективности вычислительных систем.

1.2.1 Обзор стандартных утилит оценки производительности в операционной системе HP-UX.

1.2.2 Существующие программы для анализа производительности системы.

1.2.2.1 Программа анализа производительности вычислительной системы Sarcheck.

1.2.2.2 Программа анализа производительности приложения

Puma.

1.2.2.3 Программа Multiuser Benchmark - Suite VII.

1.2.2.4 Программа Independent Resource Benchmark - Suite IX.

1.2.2.5 Поисковый сервер по проблемам производительности.

1.2.2.6 Программа SEEKRite.

1.2.2.7 Программа Analyst.

1.2.2.8 Программа TeamQuest Baseline.

1.3 Выводы.

ГЛАВА II. Разработка моделей на основе математического аппарата моделирования вычислительных систем «открытая сеть».

2.1. Общая постановка задачи оценки производительности.

2.2. Моделирование вычислительной системы.

2.2.1. Работы по измерению.

2.2.2. Постановка эксперимента.

2.2.3. Описание рабочей нагрузки.

2.3. Применение вероятностных моделей в исследованиях вычислительных систем.

2.3.1. Модели с очередями.

2.3.2. Вероятностная модель «Открытая сеть».

2.4 Построение модели системы кэширования дискового ввода/вывода на основе вероятностной модели «открытая сеть».

2.5 Построение модели механизма подкачки и обеспечения мультизадачное™ на основе вероятностной модели «открытая сеть».

2.6 Выводы.

ГЛАВА III. Описание аппаратной части рассматриваемой вычислительной системы и алгоритмов работы механизма кэширования дискового ввода/вывода и механизма свопинга и обеспечения мультизадачности. Постановка, планирование и проведение экспериментов на рабочей системе.

3.1 Описание рассматриваемой вычислительной системы на базе сервера HP 9000 D210.

3.2 Выбор настраиваемых параметров ядра и инструментов сбора статистики и анализа узких мест для проведения эксперимента.

3.2.1 Настраиваемые параметры ядра операционной системы HP-UX.

3.2.2 Инструменты для сбора статистики и анализа узких мест.

Индексы производительности системы.

3.3 Описание внутренних алгоритмов работы подсистемы ввода/вывода и механизма свопинга и обеспечения мультизадачности.

3.3.1 Архитектура построения буфера сверхоперативной памяти (кэш) в ОС UNIX.

3.3.2 Архитектура и алгоритмы механизма свопинга и обеспечения мультизадачности в ОС UNIX.

3.4. Постановка, планирование и проведение экспериментов на рабочей системе.

3.4.1 Планирование эксперимента.

3.4.2 Эксперимент по оценке производительности механизма кэширования дисковых данных.

3.4.3 Эксперимент по оценке производительности механизма свопинга и обеспечения мультизадачности.

3.5. Выводы.

ГЛАВА IV. Сравнительный анализ результатов эксперимента и расчетов по построенным моделям. Алгоритм метода оптимизации работы механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных ресурсов.

4.1. Анализ результатов моделирования.

4.1.1 Анализ расчета индексов производительности вычислительной системы, полученных по модели механизма кэширования дискового ввода/вывода.

4.1.2 Анализ расчета индексов производительности вычислительной системы, полученных по модели механизма свопинга и обеспечения мультизадачности.

4.2. Анализ проведенных экспериментов.

4.2.1 Анализ эксперимента по выявлению зависимости изменения показателей эффективности работы механизма дискового ввода/вывода от объема памяти, выделенного системой под дисковые кэш буфера.

4.2.2 Анализ эксперимента по выявлению зависимости изменения показателей эффективности работы механизма свопинга и обеспечения мультизадачное™ от объема памяти, выделенного системой под дисковые кэш буфера.

4.3 Сравнительный анализ экспериментальных данных и данных, полученных в результате моделирования.

4.3.1 Сравнительный анализ результатов расчета по модели подсистемы кэширования дискового ввода/вывода и данных, полученных в результате эксперимента.

4.3.2 Сравнительный анализ результатов расчета по модели подсистемы свопинга и обеспечения мультизадачности и данных, полученных в результате эксперимента.

4.4. Описание алгоритма метода оптимизации работы механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных ресурсов.

4.4.1. Алгоритм метода с использованием статической схемы распределения памяти.

4.4.2. Алгоритм метода с использованием динамической схемы распределения памяти.

4.5. Выводы.

Введение 1999 год, диссертация по информатике, вычислительной технике и управлению, Курятников, Александр Витальевич

В настоящее время в сфере банковских технологий наблюдается качественный переход к автоматизированным банковским системам (АБС) пятого поколения, построенным по технологии клиент-сервер. Этот переход обусловлен тенденцией к децентрализации банковских структур, когда разветвленная сеть филиалов и дополнительных площадок банка требует перехода на платформы, которые могут обеспечить распределенный доступ к базам данных и информационным массивам, что влечет за собой также переход на новую программно-аппаратную вычислительную среду, на базе которой строятся и под управлением которой работают новые АБС. В частности происходит смена операционной системы с DOS или NetWare на WinNT или Unix и переход на другую систему управления базами данных.

Примером такой автоматизированной банковской системы может служить АБС «Пирамида», разработанная и сопровождаемая фирмой «Нест». Данная система внедрена и реально работает в системе Белорусского Сбербанка и в ряде российских банков (в т.ч. в КБ «Эргобанк»). В нашем случае используется только один функциональный модуль - подсистема работы с частными вкладами физических лиц. АБС «Пирамида» работает на платформе Unix (версия HP-UX 10.10), под управлением системы управления базами данных Informix-SE.

Выбор системы Unix в качестве платформы для используемой автоматизированной банковской системы был обусловлен прежде всего тем, что Unix как операционная система является одним из лучших кандидатов на соответствие стандарту открытых систем. Она обладает всеми основными характеристиками открытой системы:

• мобильность программ и данных интероперабельность

• мобильность пользователей (driveability)

Мобильность программ и данных обеспечивается в Unix'e за счет разработки программных продуктов, код которых удовлетворяет стандартам на интерфейсы и данные (Spec 1170, POSIX 1003.1, и др.), интероперабельность (совместная 7 работа с другими приложениями на локальной и удаленной системе) достигается в Unix'e за счет применения различных стандартизованных интерфейсов и механизмов обработки данных, мобильность пользователей (driveability) обеспечивается Unix'ом при помощи общей концепции, заложенной в него и стандартам на пользовательские интерфейсы и структуры данных, которые описаны в ряде спецификаций (POSIX 1003.2, POSIX 1003.7 и др.), и которым следуют все, на сегодняшний день, ведущие разработчики и поставщики этой операционной системы. Растущий во всем мире интерес к Unix системам не случаен. Стало уже очевидно, что это - операционная система XXI века с большим жизненным циклом, и, следовательно, исследования различных аспектов ее работы, настройки и оптимизации будут актуальны еще многие годы.

Задача увеличения эффективности работы вычислительной системы рано или поздно возникает перед всеми. Известно, что повышение производительности системы возможно экстенсивным и интенсивным способами. Экстенсивный способ заключается в увеличении мощности аппаратных средств, на которых работает вычислительная система (установка дополнительной памяти, переход на многопроцессорную платформу, замена жестких дисков на последние модели с более высокой скоростью обращения к данным, переход на более производительные и высокоскоростные сетевые технологии и т.д.). Это очень хороший подход, позволяющий использовать самые передовые технологии, но он также влечет за собой очень большие материальные затраты. Довольно часто при наращивании мощности аппаратного обеспечения можно наткнуться на эффект, когда установка нового оборудования требует замены всего комплекса аппаратных средств, поскольку не предназначено и не вписывается в старую концепцию. В этом случае материальные затраты вырастают на порядок, поскольку компоненты новых технологий стоят тем дороже, чем они новее. Однако при таком подходе практически отпадает необходимость в проведении работ по анализу производительности существующей вычислительной системы, так как с большой вероятностью можно предположить, что новый комплекс аппаратных средств с лихвой покроет все потребности в ресурсах, запрашиваемых приложениями. 8

Интенсивный способ основан на попытке увеличения производительности вычислительной системы за счет изыскания внутренних резервов, и оптимизации до максимально возможного уровня в соответствии с нашими требованиями. Во этом случае производительность растет за счет повышения эффективности использования уже имеющихся в наличии ресурсов. При таком подходе система вначале тестируется на наличие так называемых «узких мест», а затем параметры системы изменяются таким образом, чтобы исключить влияние найденных «узких мест» на общую производительность системы. Этот подход более сложен. Для его реализации необходимо разработать методику поиска «узких мест» системы, нарисовать схему их взаимодействия и определить какие именно настраиваемые параметры системы непосредственно влияют на те ресурсы, которых не хватает для ее эффективного использования.

Одно из основных узких мест в любой вычислительной системе - обмен данных с диском (операции ввода/вывода). Даже сегодня, с ростом новых технологий в области аппаратного обеспечения вычислительных систем, скорость доступа к данным, хранящимся на жестком диске существенно ниже, чем скорость работы остальных аппаратных компонент системы (памяти, процессора, сетевого интерфейса). Жесткие диски представляют собой механические системы, поэтому скорость доступа к данным на диске имеет размерность в десятки миллисекунд. Задержки такого порядка отодвигают все остальные источники ухудшения производительности в тень. Поскольку автоматизированная банковская система представляет собой прежде всего базу данных, которая хранится на дисковых накопителях, то задача повышения эффективности работы механизма дискового ввода/вывода становится актуальной в рамках рассмотренного выше интенсивного подхода к оптимизации работы вычислительной системы.

В данной работе исследован метод оптимизации работы механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных ресурсов распределенной вычислительной системы, ориентированной на выполнение приложения, представляющего собой автоматизированную банковскую систему. Метод строится на основе алгоритма 9 поиска узких мест в рассматриваемой вычислительной системе, расчетов по разработанным моделям механизмов дискового ввода/вывода, свопинга и обеспечения мультизадачности, а также привязки модели к конкретной вычислительной системе путем определения параметров модели, рассчитанных на основе ряда предварительных экспериментов. В качестве результата применения метода получается картина изменения показателей эффективности работы системы от набора настраиваемых параметров ядра, по которой можно дать рекомендации по настройке операционной системы для достижения наиболее эффективного использования вышеуказанных ресурсов.

Постановка задачи

Задача эффективного распределения и использования ресурсов в той или иной степени возникает перед каждым системным администратором, желающим оптимально настроить работу своей вычислительной системы. Для этого необходимо определить, распределение какого ресурса является неоптимальным, и тем или иным образом оптимизировать механизм распределения этого ресурса. Задача эта осложняется тем, что информация о внутренних связях между различными настраиваемыми параметрами ядра и их удельный вклад в общую картину распределения ресурсов не описан в технической документации, поставляемой вместе с операционной системой. В этом случае администратору, который желает оптимизировать работу своей системы приходится проводить целый ряд экспериментов, направленных на установление вышеуказанных взаимосвязей, что зачастую является сложным и долгим процессом из-за необходимости обеспечения непрерывной работы сервера с установленной на нем автоматизированной банковской системой в течение операционного дня банка. Эксперименты в этом случае могут проводится только во внерабочее время и требуют больших временных затрат, так как для проведения каждого эксперимента необходимо произвести перестройку ядра операционной системы UNIX и перегрузить сервер. Во-вторых, очень сложно определить требования,

10 предъявляемые к операционной системе со стороны самой СУБД ( в данном случае Informix SE).

Была поставлена задача оптимизации работы рассмотренной выше вычислительной системы, путем исследования одного из ее узких мест ( механизм распределения ресурсов «оперативная память» - «жесткий диск» ). Решение поставленной задачи включает в себя выбор настраиваемых параметров ядра операционной системы, непосредственно влияющих на распределение выбранных для оптимизации ресурсов, определение первичных и вторичных индексов производительности (показателей эффективности) вычислительной системы, установление взаимосвязей между настраиваемыми параметрами ядра, построение модели рассматриваемого механизма распределения ресурсов, калибровка и контроль модели, и разработка метода оптимизации работы механизма кэширования дискового ввода/вывода на основе построенной модели.

Актуальность работы

Актуальность выбранной темы для исследования обусловлена все более возрастающим количеством распределенных автоматизированных банковских систем (с сетью филиалов, дополнительных офисов, обменных пунктов и т.д.), работающих под управлением операционной системы Unix, а также ростом числа мелких и средних банков переходящих, из-за особенностей сегодняшнего рынка банковских услуг, на распределенную схему работы, для которых задача оптимизации работы вычислительной системы выходит на первый план из-за невозможности крупных материальных вложений в аппаратную часть вычислительного комплекса. Таким образом, оптимизация работы операционной системы путем оптимальной настройки механизма распределения различных ресурсов является для таких банков единственной возможностью повысить эффективность работы автоматизированной банковской системы.

Кроме того, в настоящее время возрастает роль концепции открытых систем в области информационных технологий и средств вычислительной техники, поддерживающих эти технологии. Идеологию открытых систем

11 реализуют в своих последних разработках все ведущие фирмы-поставщики средств вычислительной техники, программного обеспечения и прикладных информационных систем. Их результативность определяется согласованной научно-технической политикой и реализацией стандартов открытых систем.

Выбор Unix'а как платформы для исследований проблемы производительности специализированных приложений и оптимального распределения ресурсов при условии их ограниченного количества был обусловлен именно соответствием его стандартам открытых систем. Полученные экспериментальные данные будут актуальны до тех пор, пока не произойдет технологической революции в области устройств для хранения данных, когда на смену жестким дискам, как носителям информации, придут более совершенные технологии. А разработанный метод оптимизации работы механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных технических ресурсов может использоваться и в дальнейшем, для оптимизации других информационных систем, построенных как на базе операционной системы Unix, так и на базе других систем, удовлетворяющих требованиям, предъявляемым к открытым системам.

Научная новизна

Научная новизна заключается в разработке метода оптимизации работы механизма кэширования дискового ввода/вывода операционной системы UNIX в условиях ограниченных ресурсов вычислительной системы на основе построенных математических моделей. Разработанные вероятностные модели механизмов распределения выбранных ресурсов могут быть привязаны к конкретной вычислительной системе при помощи определения набора входных параметров модели по результатам некоторых предварительных экспериментов на рабочей системе, что облегчает переносимость предложенного метода на другие платформы.

12

Практическая значимость

Предлагаемый метод оптимизации работы механизма кэширования дискового ввода/вывода операционной системы UNIX, основанный на поиске и устранении «узких мест» в механизме распределения ресурсов «оперативная память»-«жесткий диск» был использован для оптимизации работы автоматизированной банковской системы «Пирамида» (модуль работы с частными вкладами физических лиц), а также серверной части комплекса «Клиент-банк», что подтверждается актами о внедрении в КБ «Эргобанк», КБ «Нацпромбанк» (ООО) и АКБ «Век». Представленные результаты говорят об устойчивости работы разработанного метода и возможности его применения для решения определенного класса задач на различных системах, удовлетворяющих требованиям открытых систем.

Апробация работы

Основные научные выводы и результаты, полученные в ходе диссертационного исследования, прошли апробацию в виде докладов на 2-й Российской научно-практической конференции «Реинжиниринг бизнес-процессов на основе современных информационных технологий».(МЭСИ, 1998г.), 3-й Российской научно-практической конференции «Реинжиниринг бизнес-процессов на основе современных информационных технологий».(МЭСИ, 1999г.), Третьем Международном студенческом конгрессе «XXI век: образование - менеджмент - молодежь».(МЭСИ, 1999 г.) и на Российской научной конференции «Экономические информационные системы на пороге XXI века». (МЭСИ, 1999 г.).

По теме диссертации опубликовано четыре работы.

13

Структура и объем работы

Диссертация, объемом 150 страниц, состоит из введения, трех глав, заключения, списка использованной литературы из 117 наименований и двух приложений.

Заключение диссертация на тему "Исследование и разработка метода оптимизации настройки механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных ресурсов"

4.5. Выводы

1. Построенные модели подсистемы кэширования дискового ввода/вывода и подсистемы свопинга и обеспечения мультизадачности соответствуют моделируемой системе с достаточной степенью точности, что было проверено в результате сверки экспериментальных и смоделированных данных.

2. Точность моделей была проверена и сделана приемлемой с помощью процедур калибровки и контроля модели.

3. Калибровка и контроль моделей проводились на основе данных, полученных в ходе предварительного исследования моделируемой системы и ряда предварительных экспериментов.

4. Построенный на разработанных моделях метод оптимизации работы механизма кэширования дискового ввода/вывода операционной системы является достоверным и может быть применим в рамках описанного класса задач.

151

ЗАКЛЮЧЕНИЕ

В процессе проведенного диссертационного исследования, направленного на достижение поставленных целей, получены следующие теоретические и практические результаты:

1. Исследован механизм работы подсистемы кэширования дискового ввода/вывода и подсистемы свопинга и обеспечения мультизадачности операционной системы Unix в условиях ограниченных ресурсов.

2. Разработана модель механизма кэширования дискового ввода/вывода на основе математического аппарата вероятностного моделирования «открытая сеть».

3. Разработана модель механизма свопинга и обеспечения мультизадачности на основе математического аппарата вероятностного моделирования «открытая сеть».

4. Проведен комплекс экспериментов, результаты которых подтверждают расчеты по моделям.

5. Разработан метод оптимизации работы механизма кэширования дискового ввода/вывода операционной системы Unix в условиях ограниченных ресурсов, позволяющий выбрать оптимальный набор параметров ядра с помощью расчетов по построенным моделям, без необходимости перестройки ядра. Разработан алгоритм предложенного метода.

6. Предложен метод выбора необходимых параметров модели (определяющих характеристики конкретной моделируемой вычислительной системы) на основе ряда предварительных экспериментов.

7. Разработан комплекс программного обеспечения, выполняющий расчеты по предложенным моделям.

152

Библиография Курятников, Александр Витальевич, диссертация по теме Телекоммуникационные системы и компьютерные сети

1. А. Робачевский «Операционная система UN1.». Спб.:ВНУ, 1997г. (515с.)

2. Д. Неммет. «Администрирование операционной системы UNIX».Cn6.:BHV, 1997г. (620с.)

3. Моррис Дж. Бах «Архитектура операционной системы UNIX».Prentice-Hall, 1986.

4. А. Евтюшкин «Банковские системы». «Банковские технологии» 7/97г. (стр. 20-30).

5. Open system handbook: A guide to building open systems., IEEE Standards Press, 1994.

6. А.Я. Олейников.«Открытые системы, концепция или реальность», Открытые системы 4/93 стр 53-59

7. Келли-Бутл С. «Введение в Unix». М:Лори, 1995 г.

8. Дунаев С. «Unix system V. Release 4.2», М:Диалог-Мифи, 1995 г.

9. Феррари Д. «Оценка производительности вычислительных систем» М:Мир, 1981 г.

10. Little J.D.C. «А proof for the queueing formula L- Я W» Operations research 9, 3/61, 383.

11. Jackson J.R. «Job shop-like queueing systems» Management sci., 10, 1/63, 131-142

12. Thompson, K., "UNIX Implementation", The Bell System Technical Journal, Vol. 57, No. 6, Part 2, July- August, 1978, pp. 1931-1946.

13. Henry, G.J., "The Fair Share Scheduler", AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2, pp. 1845-1858.

14. Levy, H.M., and P.H.Lipman, "Virtual Memory Management in the VAX/VMS Operating System", Computer, Vol. 15, No. 3, March 1982, pp. 35-41.

15. Клейнрок Л. «Вычислительные системы с очередями» т.1, М:Мир, 1975 г.

16. Lynch W.C. «Operating system performance» Comm.ACM 15, 7/72, 579-585

17. Нейлор Т. «Машинные имитационные эксперименты с моделями экономических систем» М:Мир, 1975 г.

18. MacDougal М.Н. «Computer system simulation: An introduction» Сотр.Surveys 2, 3/70, 191-209

19. Феллер В. «Введение в теорию вероятностей и ее приложения» М:Мир, 1964 г.

20. Denning P.J. «Virtual memory» Comp.Surveys 2, 3/1970, 153-189

21. Драммонд M.E. «Методы оценки и измерения дискретных вычислительных систем» М:Мир, 1977 г.

22. Вест М. «Банковские системы: выбор и использование». Банковские технологии, 7/96

23. Muntz R.R. «Analytic modeling of interactive systems» Proc.IEEE 63, 6/75, 946-953

24. Ramamoorthy C.V. «Discrete Markov analysis of computer programs» Proc ACM NatConf., 386-392.

25. Bunt, R.B., "Scheduling Techniques for Operating Systems", Computer, Oct. 1976, pp. 10-17.

26. Christian, K., The UNIX Operating System, John Wiley & Sons Inc., New York, NY, 1983.

27. Coffman, E.G., and P.J.Denning, Operating Systems Theory,Prentice-Hall Inc., Englewood Cliffs, NJ, 1973.

28. Raleigh, T.M., "Introduction to Scheduling and Switching under UNIX", Proceedings of the Digital Equipment Computer Users Society, Atlanta, Ga., May 1976, pp. 867-877.153

29. System V Interface Definition, Spring 1985, Issue 1, AT&T Customer Information Center, Indianapolis, IN.

30. UNIX System V User Reference Manual.

31. UNIX System V Administrator's Manual.

32. Thompson, K., "UNIX Implementation", The Bell System Technical Journal, Vol. 57, No. 6, Part 2, July- August, 1978, pp. 1931-1946.

33. Отчет отдела программно-технического обеспечения КБ «Эргобанк» за июнь 1996 года.

34. Комплект технической документации по HP-UX 10.10.

35. Готье Р. «Руководство по операционной системе Unix», М: ФиС, 1985 г.

36. Дунаев С. «Unix сервер», М:Диалог-Мифи, 1999 г.

37. Забродин Д.Л. «Unix», М:Диалог-Мифи, 1994 г.

38. Беляков М.И., Рабовер Ю.И. «Мобильная операционная система», справ. М:РиС, 1991 г.

39. Липаев В.В., Филинов E.H. «Мобильность программ и данных в открытых информационных системах» М:РФФИ, 1997 г.

40. Джонс Д. «Проверка соответствия прикладных систем стандарту POSIX 1» Открытые системы. Í/92, с 7-13

41. Ладыженский Г. «Технология клиент-сервер и мониторы транзакций» Открытые системы. 7/94, с 4-11

42. Липаев В.В. «Распределение ресурсов в вычислительных системах» М:Статистика, 1979 г.

43. Лезер Н. «Архитектура открытых распределенных систем» Открытые системы. 3/93 с 10-16

44. Computer World-Moscow, N15, 1995

45. Смит Д.М., Меленовски М. «Время пришло для профессионалов в области открытых систем» Открытые системы, 1/95, с 4-13

46. Филинов E.H. «Выбор и разработка концептуальной модели среды открытых систем» Открытые системы, 6/95, с 71-77

47. Якубайтис Э.А. «Открытые информационные сети», М:Радио и связь, 1991 г.

48. Quarterman J.S., Wilhelm S., «Unix, Posix and open systems: The open standards puzzle», N.Y., Addison-Wesley, 1993.154

49. Cargill C.F. «Information technology standardization. Theory, Process and organisation.» Digital Press, 1991.

50. Zachman J.A. «A framework for Information Systems Architecture», IBM System Journal Vol 26, N3, 1987.

51. Артамонов Г.Т. «Анализ производительности ЭВМ методами теории массового обслуживания», М: Энергия, 1972г.

52. Урмаев A.C. «Основы моделирования на аналоговых вычислительных машинах», М: Наука, 1974 г.

53. Балыбердин В.А. «Методы анализа мультипрограммных систем», М:Радио и связь, 1982 г.

54. Литвин В.Г. «Анализ производительности мультипрограммых ЭВМ», М:ФиС, 1984 г.

55. Шерр, Аллен. «Анализ вычислительных систем с разделением времени». М:Мир, 1970 г.

56. С.Д. Кузнецов, В.З. Шнитман «Основы конфигурирования серверов Баз данных» http://citforum.cn.ua/database/skbd/ glava3 .html#2

57. С.Д. Кузнецов, В.З. Шнитман «Проблема оценки конфигурации системы» http://citforum.cn.Ua/database/skbd/glava2.html#l2

58. С.Д. Кузнецов, В.З. Шнитман «Определение минимальной конфигурации системы на основе анализа основных транзакций»http ://citforum. cn.ua/database/skbd/glava6 .html#23

59. С.Д. Кузнецов, В.З. Шнитман «Характеристики рабочей нагрузки» http://www.citfomm.rU/database/skbd/glava4.html#2l65. www.sarcheck.com/index.html

60. С.Д. Кузнецов, В.З. Шнитман «Выбор конфигурации сервера СУБД» http://citforum.datacom.rU/database/skbd/glava5.html#2267. «Оценка эффективности АБС» http://wvm.citforum.datacom.ru/abtec/articles/artl.shtml

61. Старыгин, Метатехнология «Построение корпоративных информационных систем»

62. AIM Technology. http://www.aim.com/Unix7.html

63. AIM Technology. http://www.aim.com/Unix9.html

64. LandMark inc. http://www.landmark.com/PERFDOCT/index.htm

65. Eagle Software, http://www.lund.com/seekritepr.html

66. Metron Technology Limited http://www.metron.co.uk/analyst.htm

67. TeamQuest Corporation. http://www.teamquest.com/HTML/UNIX.html

68. Рева B.B. «Внешние запоминающие устройства ЭВМ» уч.пособие, М:МЭСИ, 1977 г.

69. Флоренс А. «Внешние устройства ЭВМ». М:Мир, 1977 г.

70. Адасько В.И. «Устройства ввода/вывода современных вычислительных машин», М:Энергия, 1971 г.

71. Анисимов Б.В. «Системы ввода/вывода цифровых вычислительных машин», М:Машиностроение, 1977 г.

72. Мячев A.A. «Системы ввода/вывода ЭВМ», М:Энергоатомиздат, 1983 г.

73. Нечас И. «Организация памяти вычислительных машин», М:Энергия, 1974 г.

74. Романенко Ю.М. «Устройства ввода/вывода ЭВМ», М:3нание, 1979 г.

75. Черняк Н.Г. «Запоминающие устройства ЭВМ», М:МЭСИ, 1971 г.

76. Авен О.И. «Оценка качества и оптимизация вычислительных систем», М:Наука, 1982 г.84. «Вероятностные методы в вычислительной технике» уч. Пособие под ред. Лебедева, М:Высшая школа, 1986 г.155

77. Раков E.K. «Методы оптимизации структур вычислительных систем», М:Энергия, 1974 г.

78. Питерсон А. «Теория сетей Петри и моделирование систем», М:Мир, 1984 г.

79. И.Аглицкий «АБС программный продукт или информационная технология». Банковские технологии, 3/96

80. Черняк Н.Г. «Оценка эффективности ЭВМ и вычислительных систем», М:МЭСИ, 1988 г.

81. Сигнаевский В.А., Коган Я.А. «Методы оценки быстродействия вычислительных систем», М:Наука, 1991 г.

82. Технические средства ЭВМ. Устройства ввода/вывода. М:Высшая школа, 1991 г.

83. Ушаков И.А. «Вероятностные модели надежности информационных вычислительных систем», М:Радио и Связь, 1991 г.

84. Альянах И.Н. «Моделирование вычислительных систем», М: Машиностроение, 1988 г.

85. Богуславский Л.Б., Ляхов А.И. «Методы оценки производительности многопроцессорных систем», М:Наука, 1992 г.

86. Вычислительные комплексы и моделирование сложных систем. Под ред. Королева Л.Н., М:МГУ, 1989 г.

87. Вычислительные системы и их модели. Сб.научных статей. Ярославль, 1990 г.

88. Ларионов A.M., Горнец H.H. «Периферийные устройства в вычислительных системах», М:Высшая школа, 1991 г.

89. Методы и средства эффективного использования вычислительных систем. Под ред. Морозова А.Г., М:МЭСИ, 1989 г.

90. Моделирование вычислительных систем и процессов. Межвузовский сб. Пермь:ПГУ, 1990 г.

91. Моделирование и управление в распределенных вычислительных системах. Сб. научных трудов, Киев:Наука Думка, 1989 г.

92. Назаров C.B., Барсуков А.Г. «Измерительные средства и оптимизация вычислительных систем», М:Радио и Связь, 1990 г.

93. Янбых Г.Ф., Столяров Б. А. «Оптимизация информационно-вычислительных сетей», М:Радио и Связь, 1987 г.

94. Четвериков В.Н., Баканович Э.А. «Стохастические вычислительные устройства системного моделирования», M Машиностроение, 1989 г.

95. Иванников А.Д. «Моделирование микропроцессорных систем», М:Энергоатомиздат, 1990 г.

96. Гусева А.И., Шапошник A.B. «Санкционированный доступ к ресурсам в гетерогенных банковских сетях на основе Unix-Netware». Сб. научных трудов. М:МИФИ, 1998 г.

97. Нортон П., Джорден Р. «Работа с жестким диском IBM PC»., М:Мир, 1992 г.

98. Губарев В.В. «Вероятностные модели», справ. В 2-х книгах. Новосибирск, 1992 г.

99. Севастьянов В.А. «Вероятностные модели»., М:Наука, 1992 г.

100. Задорожный С.И., Турундаевский В.Б. «Марковские случайные процессы в экономике».

101. Сарымсанов Т.А. «Основы теории процессов Маркова»., Ташкент:Фан, 1988 г.

102. Працкер А. «Введение в имитационное моделирование»., М:Мир, 1987 г.

103. Габасов Р., и др. «Конструктивные методы оптимизации»., Минск:Университетское, 1987 г.

104. Васильев В.В., Баранов В.Л. «Моделирование задач оптимизации». Киев:Наука Думка, 1989 г."156

105. Дикарев В.Е. «Моделирование надежности и эффективности систем»., Киев:Наука Думка, 1989 г.

106. Советов Б.Я., Яковлев С.А. «Моделирование систем»., М:Высшая школа, 1989 г.

107. Математическое моделирование. Методы описания и исследования сложных систем. М:Наука, 1989 г.

108. Гнеденко Б.В., Коваленко И.Н. «Введение в теорию массового обслуживания»., М:Наука, 1966 г.

109. Гнеденко Б.В., Даниелян Э.А. «Приоритетность системы обслуживания». М:МГУ, 1973 г.158

110. График изменения показателя ау\маК от времени наблюдениявремя, с

111. Рис. 3.7. Зависимость показателя ау\уак от времени наблюдения.

112. Приведенный график изменения показателя ау>маН от времени наблюдениявремя, с159160161

113. Зависимость показателей аувего от параметра 1МЬ1*162163164165

114. Зависимость показателя %runocc от Maxpct и Minpct5,00 10,00 15,00 20,00 50,005,00 5,00 5,00 5,00 5,001. Maxpct, Minpct

115. Рис. 3.21. Зависимость показателя %runocc от Minpct и Maxpct

116. Зависимость показателя pswch/s от параметров Minpct и1. Maxpct166167168

117. Зависимость показателя %runocc от Nbufо о о о о о о о о о о оо о о о о о о о о о о осо" см" м-" 00 со" ■Ч-" см" OD со" со" со"со со OJ ю со т— со CN со О)т— см 00 ю Г-- о ю о от- т— см •sr1. Nbuf

118. Рис. 3.31. Зависимость показателя %runocc от Bufpages171172173зависимость показателя %гипосс от Махр^ при заданномзначении60 г----------—----:-----12 3 4различные значения N1)1*

119. Рис. 3.37. Зависимость показателя %гипосс от различных параметров Махрс1при жестко заданных №>1^

120. Зависимость показателя %гипосс от настроек системы по умолчанию и при 1МЬ1^ = 25621 -16 -11 -6 -1 -по умолчанию ЫЫ^ = 256

121. Рис. 3.38. Зависимость показателя %гипосс при настройке системы с нулевыми174

122. Зависимость показателя рэхмсИ/з от настроек системы по умолчанию и при 1ЧЬ«Л = 25681по умолчанию ЫЬ^ = 256

123. Calc граничные B12 and L CritPointL0. = Linit; CritPointB12[0] = B12init;for ( t = 1; t < NumCritPoint; t++) {

124. Find current KL and KB12 flag = 0;for ( w = 0; w < NumCritPoint; w++)if (q <= CritPointNbufw.) {

125. KLcurr = CritPointKLw.; KB12curr = CritPointKB12[w]; CurrCritPoint = w; flag = 1; w = NumCritPoint+1;;if (flag == 0 ) {

126. KLcurr = 1.0; KB12curr =1.0; } ;

127. Nbuffcurr = (CurrCritPoint =:1. ;

128. TempLcurr = (CurrCritPoint =: CritPointLCurrCritPoint-1.;

129. B12curr = TempB12curr * pow(KB12curr, (log(q/Nbuffcurr)/log(2)) );1.urr = CritPointL CurrCritPoint . * pow(KLcurr,log(q/Nbuffcurr)/log(2)) );

130. B12curr = CritPointB12 CurrCritPoint . * pow(KB12curr, (log(q/Nbuffcurr)/log(2)) );1.urr /= 1000;1. Calc Parameters10. = Lcurr / (1-(1-B20)*B12curr-(1-B36)*(1-B12curr));11. = B12 curr*L curr / (1-(1-B20)*B12 curr-(1-B36)*(1-B12curr));179

131. Ti 0. = Ml / (1-Ri [0] ) ;1. Ti 1. = M2 / (1-Ri 1. ) ;1. Ti2. = M3 / (1-Ri[2]);

132. Ti 3. = M4 / (1-Ri [3] ) ;1. Ti4. = M5 / (1-Ri[4]);

133. Ti 5. = M6 / (1-Ri [5] ) ;1. = Li1.*B20*1000; Br = Li2.*B36*1000;

134. QuitProgramm(); break; case 1 :

135. ShowParam(); break; case 2 :

136. ChangeParam(); break; case 3 :1. Calculate (); break;clrscr{);;