Обработка больших объёмов информации становится главной во всех областях информационных технологий. От обработки операций чтения-записи зависит работа системы в целом.
Для того чтобы вычислительные системыоптимально использовали аппаратные ресурсы компьютера, возникла необходимость разработки интеллектуальных систем управления его иерархической памятью. Значимость исследования состоит в создании энергосберегающей системы управления иерархической памятью современных вычислительных систем, не снижающей их быстродействие.
Представленная статья описывает проект, предусматривающий создание математического аппарата и, на его основе, драйвера файловой системы с оптимальным размещением информации на внешних носителях и эффективной системой управления кэшированием.
Главными задачами оптимизации компьютерных систем являются:
оптимизация использования кэша - определение оптимального соотношения частоты процессора, объёмов кэш L1, L2, L3;
оптимизация размеров кэш.
Этап оптимизации использования кэш - памяти
Этап оптимизации использования кэша предоставляет возможность определить оптимальные размеры кэш - памяти. Нужно определить, при каких соотношениях частоты процессора, объёмов кэша система работает наиболее быстро и продолжает быть экономически оправданной.
С выпуском ядра с объёмом кэша L2 1 Мбайт, этот процессор стал основой линейки настольных процессоров. Впрочем, более быстрые тактовые частоты и больший объём кэша даже тогда не значили очень много. Сегодня ситуация изменилась: лучшая производительность и меньшее энергопотребление немало обязаны размеру кэша.
Кэши процессора играют вполне определённую роль: они уменьшают количество обращений к памяти.
Есть разные способы организации иерархии кэша. Кэш L1 всегда был в составе процессора, но поначалу кэш L2 устанавливался на материнские платы, как было в случае многих компьютеров. Для кэш-памяти первого уровня использовались простые чипы статической памяти.
Встроенный кэш L2 дал существенный прирост производительности практически в любых приложениях. Увеличение производительности оказалось столь существенным, что появление кэша L2 можно назвать самым важным фактором производительности. Отключение кэша L2 снизит производительность сильнее, чем отключение второго ядра у двуядерного процессора.
Однако кэш-память влияет не только на производительность. Она стала мощным инструментом, позволяющим создавать разные модели процессоров.
Вопрос заключается в следующем: насколько различие в объёме кэша влияет на производительность?
Как показали различные тесты, на определённом этапе объём кэша перестаёт влиять на производительность систем и быть экономически оправданным. С этого уровня рассматривается этап оптимизации размеров КЭШа[5].
Этап оптимизации размеров кэш-блоков
Здесь рассмотрим сравнительный анализ различных стратегий кэширования данных.
Одним из аспектов проектирования оптимальных программных продуктов является размещение данных в памяти ЭВМ и определение оптимальных размеров кэш-блоков[2]. Если все файлы пользователя первоначально размещены на внешнем носителе, а в оперативной памяти созданы блоки кэширования, то формальная постановка задачи, предназначенная для комплексной оптимизации размещения информационных файлов на внешних накопителях и определения оптимального размера блока кэширования при одинаковом размере файлов и разной вероятности обращений, имеет следующий вид[1]:
где
U - размер кэш-блока,
V - размер внешних файлов,
q - объём файлов в оперативной памяти,
n - количество файлов,
c, a - коэффициенты.
Найдем решение, отвечающее экстремальному значению целевой функцииметодом множителей Лагранжа[5].
Функция Лагранжа будет иметь вид:
Отсюда следует возможность получить решение (2) , приравнивая к нулю производные, , :
Отсюда следует решение, отвечающее экстремальному значению целевой функции (3):
После этого необходимо проверить, действительно ли система (4) отвечает оптимальному решению (3).
При подстановке:
Можем определить объём файлов в оперативной памяти:
Теперь выясним, является ли это решение оптимальным.
Классическая модель кэширования
Если все файлы пользователя первоначально размещены на внешнем носителе, а в оперативной памяти созданы блоки кэширования, каждый из которых предназначен для сканирования «своего» файла, то формальная постановка задачи минимизации числа обращений к внешним носителям имеет следующий вид[3],[4]:
где
U - размер кэш-блока,
V - размер внешних файлов,
n - количество файлов,
– число обращений к каждому файлу.
Сравнение математических моделей кэширования данных
Сравнительный анализ осуществляется за счёт определения разницы между классической математической моделью, когда каждый из кэш-блоков предназначен для сканирования «своего» файла и разработанной системой, предназначенной для комплексной оптимизации размещения информационных файлов на внешних накопителях и определения оптимального размера блока кэширования(4).
Т.к. правая часть положительная, можно убедиться, что полученный результат является обобщением решения (1) [1].
Математическое определение размеров кэш-блоков может занимать значительные вычислительные объёмы. При этом для определённых задач и расчётов самостоятельное определение размеров кэш-блоков значительно превосходит решения, полученные с помощью классического файлового распределения.
Литература:
Гроппен В.О., В.В. Мазин. Эффективная реализация одной стратегии взаимодействия внешней и оперативной памяти ЭВМ Тезисы докладов Х1 всесоюзного совещания по проблемам управления, Ташкент, 1989 г. с. 202.
Гроппен В.О. Принципы решения многокритериальных задач с помощью эталонов. Труды XII Всероссийской научно- методической конференции Телематика, Санкт Петербург, 6 – 9 июня 2005, том 1, стр. 125 - 128.
Гроппен В.О. «Модели и алгоритмы комбинаторного программирования.» - Изд. РГУ, 1983г.
Н.Н. Маисеев, Ю.П. Иванилов, Е. М. Столярова. «Методы оптимизации.» - . 1978г.
Воробьёв П.Е., Внешние накопители данных: конструкция и эффективная эксплуатация, X международная конференция «ИТ - технологии: Развитие и приложения», 2009 г., стр. 9-18.
Мухачёва Э.А., Рубинштейн Г.Ш. Математическое программирование. – Новосибирск, Наука, 1977, 320 с.