Анализ быстродействия ОЗУ и построение модели

advertisement
АНАЛИЗ БЫСТРОДЕЙСТВИЯ ОЗУ И ПОСТРОЕНИЕ МОДЕЛИ
ПРОИЗВОДИТЕЛЬНОСТИ ЭВМ
К.С.Солнушкин (Санкт-Петербургский государственный политехнический
университет)
Научный руководитель – д.т.н., профессор В.Д.Мазин
Высокопроизводительные вычисления и системы
УДК 004.074
В работе исследовано быстродействие ОЗУ отдельно взятой ЭВМ как функция от параметров
подсистемы памяти: частоты шины и режима работы контроллера памяти. Предложена и
экспериментально подтверждена модель производительности, устанавливающая линейную зависимость
производительности от быстродействия ОЗУ.
Введение
Сфера использования высокопроизводительных вычислений сегодня постоянно
расширяется. Однако анализ производительности ЭВМ до сих пор остается сложной
задачей, далекой от окончательного решения.
Производительность ЭВМ зависит от большого количества факторов, и
общепринятого ее мерила не существует. Анализ производительности – это
экспериментальный метод исследования, и он имеет дело с измерением (тем или иным
способом) производительности данной ЭВМ на данной задаче. Анализ дает довольно
частные результаты, кроме того, его возможности ограничены парком существующих
вычислительных систем. Если требуется прогнозировать производительность,
например, при проектировании новой ЭВМ, прибегают к математическому
моделированию производительности. Иными словами, на основе данных анализа
строится математическая модель, объектами которой являются ЭВМ и решаемая
задача. ЭВМ задается как совокупность взаимосвязанных подсистем с определенными
характеристиками (частота ЦП, объем кэш-памяти и др.) Задача характеризуется,
например, размерностью, количеством арифметических операций, необходимых для
проведения счета, и др.
Исследование полученной математической модели позволяет определить
производительность как функцию ЭВМ и решаемой задачи. Существующие
математические модели не всегда адекватно описывают сложную структуру
современных суперкомпьютеров, поэтому получаемые с их помощью результаты
зачастую демонстрируют значительные расхождения с экспериментальными данными.
Результаты анализа и моделирования производительности служат для решения
задачи синтеза ЭВМ – то есть научно обоснованного проектирования ЭВМ с
требуемыми скоростными и стоимостными характеристиками. Успешное решение этой
задачи позволит обеспечивать заданную производительность ЭВМ при минимальной
стоимости, то есть экономить средства, отпущенные на создание ЭВМ. Однако для
этого необходимо прогнозирование скоростных характеристик новых ЭВМ, что требует
тщательного и достоверного анализа этих характеристик у существующих ЭВМ и
построения адекватных моделей производительности. Исходя из вышеизложенного,
анализ
и
моделирование
производительности
ЭВМ
является
важной
народнохозяйственной задачей.
Содержание статьи заключается в анализе быстродействия ОЗУ ЭВМ в
зависимости от параметров подсистемы памяти, а также в анализе и моделировании
производительности ЭВМ на реальной задаче в зависимости от быстродействия ОЗУ. С
автором можно связаться по адресу ks@spbstu.ru.
О значении терминов "производительность" и "быстродействие"
В Большой советской энциклопедии (БСЭ) дано толкование термина
"Производительность оборудования", в котором упоминается и вычислительная
техника: [3]
"(…) Производительность (…) вычислительной техники [определяется] объёмом
перерабатываемой информации в единицу времени".
Если задача, решаемая на ЭВМ, фиксирована, то объем информации, которую
необходимо переработать для получения результата, также задан. Однако время
решения задачи существенно зависит как от скоростных характеристик ЭВМ, так и от
характеристик алгоритма: выбранного численного метода, допустимых погрешностей и
др. Таким образом, при фиксированном объеме перерабатываемой информации будет
затрачено различное время и измерена различная производительность. Отсюда следует
важный вывод: производительность определяется для данной ЭВМ и – обязательно –
для данного алгоритма.
Исходя из вышеизложенного, понятие "производительность ЭВМ" само по себе
не имеет смысла. Имеет смысл только понятие "производительность ЭВМ на данной
задаче с данным алгоритмом решения" (и, если говорить еще более строго, "с
заданными входными данными"). Если отсутствует любой из этих элементов, понятие
теряет смысл. Так, не имеет смысла понятие "производительность ЭВМ на задаче
решения системы линейных уравнений", поскольку не задан алгоритм. Зато имеет
смысл понятие "производительность ЭВМ на задаче решения системы линейных
уравнений методом Гаусса".
Производительность, таким образом, следует измерять в количестве задач,
решенных в единицу времени. Этот подход применен в [4]: производительность
определяют как величину, обратную к среднему времени пребывания задачи в системе.
Обратим внимание читателя на термин "среднее время", так как процесс решения даже
однотипных задач на ЭВМ является случайным процессом: неопределенность
обусловлена различными входными данными, а также тем, что ЭВМ работают
преимущественно в режиме мультипрограммной обработки.
При измерении (или, как еще говорят, "тестировании") производительности
стремятся уменьшить неопределенность измерения. Для этого, во-первых, используют
"типовые" задачи, а, во-вторых, налагают жесткие ограничения на условия
тестирования.
Уточним теперь значение термина "быстродействие". В БСЭ дается толкование
термина "Быстродействие ЦВМ" [3]:
Быстродействие
цифровой
вычислительной
машины
(ЦВМ),
среднестатистическое число операций (кроме операций ввода, вывода и обращения к
внешним запоминающим устройствам), выполняемых вычислительной машиной в
единицу времени (номинальное Б.) (…) Б. с учётом средних затрат времени на ввод,
вывод, обмен информацией с внешним запоминающим устройством, а также на
контроль работы машины называется эффективным Б.
Иногда Б. определяется числом операций "сложение" или "умножение" (…)
Кроме указанных, существует также способ оценки Б. ЦВМ по количеству типовых
задач, решаемых машиной в единицу времени.
Анализ показывает, что в определении, на самом деле, говорится об операциях
отдельных функциональных устройств, а не ЭВМ в целом. Так, в первом абзаце
говорится об операциях, выполняемых центральным процессором (ЦП). В втором
абзаце уточняется, что быстродействие ЦП иногда оценивают только на подмножестве
выполняемых им операций, в данном случае – на операциях "сложение" и
"умножение".
Кроме того, в определении предлагается оценивать быстродействие по
количеству задач, решаемых в единицу времени. Возможно два варианта толкования
сказанного. Первый заключается в том, что предлагают количество решаемых задач
называть быстродействием. Подобного смешения терминов следует избегать, так как
для этого уже используется термин "производительность". Второй вариант заключается
в том, что по количеству решаемых задач (производительности ЭВМ) предлагают
искать быстродействие ее центрального процессора. В таком случае вместо термина
"быстродействие ЭВМ" следует употреблять термин "быстродействие центрального
процессора ЭВМ".
Итак, термином "производительность" обозначают скоростные характеристики
ЭВМ в целом (единица измерения – количество задач в единицу времени), а термином
"быстродействие" – характеристики составляющих ЭВМ функциональных устройств
(единица измерения – количество операций в единицу времени). Этот же подход к
определению быстродействия применяется и в [4]
.
Обобщение понятия "быстродействие". Проблемы анализа быстродействия ОЗУ
В определении БСЭ речь идет о быстродействии центрального процессора.
Можно обобщить понятие быстродействия и на другие устройства ЭВМ, например,
оперативное запоминающее устройство (ОЗУ).
Сложность исследования ОЗУ заключается в том, что для оценки его скоростных
характеристик применяют две величины, а не одну. Первая – это пропускная
способность ОЗУ, ее определяют как количество переданных данных в расчете на
время передачи и измеряют в байтах в секунду. Пропускную способность измеряют в
установившемся режиме, на сообщениях большой длины. Фразой "скорость работы
памяти" в обыденной речи обозначают именно пропускную способность. Вторая
характеристика – это время доступа ОЗУ – время, необходимое для того, чтобы
инициировать процесс передачи данных (после чего начинается собственно передача);
время доступа измеряется в секундах.
Вопрос скоростных характеристик ОЗУ далеко не праздный, так как существует
значительное количество программ тестирования ОЗУ, которые претендуют на
использование единственно правильного метода измерения, и вместе с тем в
отношении этих программ нельзя с определенностью сказать, какие именно
характеристики ОЗУ они измеряют – пропускную способность, время доступа либо
некоторую обобщенную скоростную характеристику.
Для того, чтобы ввести понятие "быстродействие ОЗУ", необходимо в первую
очередь определить, что называть "операцией" при работе с ОЗУ, и как
интерпретировать понятия номинального и эффективного быстродействия.
Кроме того, необходимо определить, какие функциональные устройства ЭВМ
считать входящими в состав ОЗУ. По-видимому, в состав ОЗУ следует включать
модули памяти (хранят информацию), контроллер памяти (осуществляет запросы к
модулям) и шину данных (служит для передачи запросов и данных между двумя
вышеуказанными устройствами). В настоящее время для обозначения комплекса этих
устройств обычно применяют термин "подсистема памяти", и понятие "ОЗУ"
оказывается несколько размытым. Так как для осуществления доступа в оперативную
память необходимо задействовать все вышеуказанные устройства, мы полагаем, что
понятия "оперативное запоминающее устройство" и "подсистема памяти" можно
считать тождественными, под "устройством" подразумевая набор совместно
функционирующих устройств.
В данной статье мы не рассматриваем кэш-память, поэтому не включаем ее в
число устройств подсистемы памяти.
В части ЭВМ шина, связывающая ЦП и контроллер памяти, используется также
для передачи данных другими устройствами (например, устройствами ввода/вывода). В
других ЭВМ (например, на основе ЦП "AMD Opteron"), эти шины разделены. В этом
случае можно говорить об отдельных "шине памяти" и "шины данных".
Если рассматривать ОЗУ в отрыве от ЭВМ, то его работа заключается в передаче
данных в какое-либо гипотетическое устройство через шину данных, либо в обратном
направлении. Скоростные характеристики в этом гипотетическом режиме предлагается
называть номинальными. Они определяются на основе паспортных характеристик
аппаратного обеспечения подсистемы памяти: модулей памяти, контроллера памяти и
шины памяти, то есть влияние никаких других устройств не учитывается.
Номинальные скоростные характеристики представляют собой верхний теоретический
предел быстродействия. Например, перемножив ширину шины данных в байтах,
тактовую частоту шины и количество передач за такт, можно получить номинальную
пропускную способность ОЗУ (в байтах в секунду).
Если рассматривать ОЗУ как часть ЭВМ, необходимо изучать всю совокупность
взаимосвязей между устройствами. В ЭВМ данные передаются из ОЗУ в регистры
процессора или в обратном направлении с использованием промежуточного устройства
– быстродействующей кэш-памяти.
Для измерения быстродействия функциональных устройств применяют
специальные программы – тесты быстродействия – которые нагружают
преимущественно исследуемое устройство, чтобы исключить неблагоприятное влияние
других устройств на результаты измерения.
Передача данных в ЭВМ инициируется программой пользователя. Таким образом,
тест быстродействия ОЗУ инициирует работу с оперативной памятью в тех или иных
режимах. Наблюдать и измерять быстродействие ОЗУ можно только на программном
уровне, в рамках теста быстродействия, анализируя количество проведенных операций
с ОЗУ и затраченное на них время.
При этом сказывается влияние других устройств ЭВМ, работающих с шиной
данных. Таким образом, при работе ОЗУ в составе ЭВМ мы наблюдаем эффективные
скоростные характеристики, а не номинальные.
Главенствующее влияние на процесс тестирования оказывает кэш-память,
структурно расположенная между ОЗУ и ЦП. При неудачно выбранных параметрах
тестирования тест быстродействия будет оценивать скоростные характеристики кэшпамяти, а не ОЗУ.
Даже если исключить влияние кэш-памяти, остается много других факторов.
Например, известно, что быстродействие зависит от того, в регистры какого типа
(MMX или SSE) производится чтение данных. Кроме того, чтение из ячеек памяти с
последовательно расположенными адресами обычно более эффективно, чем при
случайном распределении адресов [2].
Работая с ОЗУ в различных режимах, можно измерять эффективные
характеристики быстродействия – достижимые в "реальной жизни".
В различных тестах измерения организованы по-разному, и понятие "операции" с
ОЗУ размывается. Как правило, создатели теста не используют это понятие. Вместе с
тем, важно понимать, какие именно операции с памятью осуществляет тест
быстродействия.
Дело в том, что для программы пользователя, каковой является тест, устройства
подсистемы памяти недоступны для непосредственного наблюдения, они представляют
собой "черный ящик". Строить заключения о работе подсистемы памяти можно только
подавая на вход черного ящика тестовые воздействия и наблюдая результат. Это
обстоятельство часто упускают из виду.
Распространенным способом анализа скоростных характеристик является чтение
(запись) крупных блоков данных с измерением затраченного времени. Как правило,
организуется цикл с большим числом итераций N, в теле которого происходит выборка
данных из памяти по адресам, соответствующим определенному закону. Количество
байт s, которое выбирают за каждую операцию, известно. При измерении стараются
тем или иным способом нивелировать наличие кэш-памяти, чтобы избежать
необоснованного завышения скоростных характеристик ОЗУ. Время работы T цикла
измеряют. По окончании работы теста производят подсчеты.
Время выборки одного элемента дается выражением T/N. В [5] предлагается
упрощенная математическая модель, согласно которой время выборки элемента
(которое также называют "латентность") складывается из двух составляющих: время
доступа и время передачи, последнее же находят как размер элемента, деленный на
номинальную пропускную способность: tl  t a  s / B . Здесь tl – время выборки
(латентность), ta – время доступа, s – размер элемента (в байтах), B – номинальная
пропускная способность (в байтах в секунду).
Номинальные характеристики ОЗУ – время доступа ta и номинальная пропускная
способность B – определяются технологическими параметрами составляющих ОЗУ
устройств. Эксперименты подтверждают, что доступная для наблюдения
пользователем характеристика – латентность – является функцией обеих номинальных
скоростных характеристик.
Далее, поскольку известно количество операций N выборки из памяти и
количество байт s, выбранных за одну операцию, то выражение N  s дает общее
количество байт, перемещенных из ОЗУ в регистры ЦП. Тогда количество байт,
перемещенных за единицу времени, можно найти как N  s / T – эту величину и считают
обычно эффективной пропускной способностью; обозначим ее через Beff. В
обозначениях
приведенной
модели
что
Beff  N  s / T  s / tl  s /t a  s / B ,
демонстрирует зависимость доступной для наблюдения пользователем характеристики
– эффективной пропускной способности – от обеих номинальных характеристик.
Эксперименты также подтверждают наличие зависимости.
Таким образом, мы приходим к интересному результату. Номинальные
скоростные характеристики ОЗУ определяются их технологическими параметрами.
Эффективные скоростные характеристики, доступные для наблюдения пользователем,
имеют совсем иную природу, но зависят от номинальных, и эту зависимость можно
описать математической моделью.
Повторим еще раз, что для теста быстродействия подсистема памяти является
черным ящиком, недоступным для наблюдения происходящих в нем процессов. Так,
попытка пользователя записать данные в память может, наоборот, привести к чтению
из памяти: в целях оптимизации работы с кэш-памятью ЭВМ сначала читает блок
данных из ОЗУ в кэш-память, затем вносит указанные пользователем изменения и
только потом записывает блок обратно в ОЗУ [7]. Поэтому необходимо с
осторожностью делать выводы о процессах, происходящих в подсистеме памяти, если
доступны только результаты работы теста быстродействия.
В заключение отметим, что анализ быстродействия ОЗУ имеет важное
практическое значение. Уже в 1995 г. в работе [10] было указано, что быстродействие
ОЗУ может стать ограничивающим фактором в повышении производительности ЭВМ с
течением времени, так как тенденции развития радиоэлектронной промышленности
демонстрируют меньшие темпы роста быстродействия ОЗУ, чем быстродействия ЦП.
Последние работы [1; 9] подтверждают эту тенденцию.
Ключевым вопросом является то, как тот или иной тест измеряет скоростные
характеристики ОЗУ, так как сравнение результатов различных тестов возможно
только при наличии общности в подходах к измерению.
При тестировании быстродействия ОЗУ выясняют именно эффективное
быстродействие, поэтому термин "эффективное" мы далее будем опускать.
Анализ быстродействия ОЗУ с помощью теста "STREAM"
Рассмотрим подробно способ анализа быстродействия ОЗУ, который применен в
тесте "STREAM" [8]. Тест обладает понятными правилами измерения быстродействия,
простой интерпретацией результатов. Накоплена значительная статистика по разным
типам ЭВМ.
Тест предназначен для оценки пропускной способности памяти. Суть его работы
заключается в следующем. Три больших одномерных массива данных типа "float"
(вещественное число с плавающей запятой, как правило, длиной 8 байт)
инициализируются начальными значениями. Затем в 4-х вычислительных ядрах
происходит поэлементная (в цикле) обработка массивов. Ядра различаются
количеством операций с ОЗУ и арифметико-логическим устройством центрального
процессора. Данные по вычислительным ядрам теста (см. [7]) сведены в табл. Error!
Reference source not found. (здесь "q" – вещественная константа).
N Наименование
п/п
ядра
1
2
3
4
Copy
Scale
Add
Triad
Формула
a(i) = b(i)
a(i) = q*b(i)
a(i) = b(i) + c(i)
a(i) = b(i) + q*c(i)
Количество
операций
с ОЗУ с ЦП
2
0
2
1
3
1
3
2
Таблица 1. Вычислительные ядра теста "STREAM"
Например, ядро "Add" в расчете на каждый элемент массива "A" выполняет две
операции загрузки из ОЗУ в регистры процессора, затем арифметическую операцию
(сложение), после чего сохраняет результат в ОЗУ. Итого производится три операции с
ОЗУ и одна операция с ЦП.
Длина массивов выбирается достаточно большой для того, чтобы сгладить
влияние кэш-памяти, завышающее результаты измерения. Время работы каждого
вычислительного ядра измеряется. Весь набор из 4-х ядер выполняется несколько раз, и
для каждого ядра выбираются наилучшие результаты (те, которым соответствует
наименьшее время выполнения). Пропускная способность подсчитывается следующим
образом. Для каждого ядра известно количество операций с ОЗУ в расчете на один
элемент массива "A", также известны длина массива и размер элемента в байтах.
Произведение этих величин дает общее количество данных, перемещенных из ОЗУ в
регистры ЦП и обратно. Поделив эту величину на время работы вычислительного ядра,
получим эффективную пропускную способность ОЗУ на данном ядре.
Поставим теперь задачу исследования пропускной способности ОЗУ ЭВМ в
зависимости от двух факторов. Первый фактор – частоты шины памяти. Второй фактор
характеризует структуру ЭВМ и описывает устройство подсистемы памяти. Будем
исследовать ЭВМ класса "IBM PC" на основе ЦП "AMD Athlon XP 2600+". В данной
ЭВМ набор микросхем (т.н. "чипсет" модели "nForce2" обеспечивает для контроллера
ОЗУ два канала доступа к памяти, которые могут функционировать одновременно
(параллельно). Пользователь может настроить ЭВМ на использование как одного, так и
обоих каналов доступа к памяти. Таким образом, упомянутый второй фактор – это
работа ОЗУ в одно- или двухканальном режиме. Предстоит исследовать, как влияет
частота шины данных и режим работы контроллера ОЗУ на пропускную способность
ОЗУ.
С помощью теста "STREAM" были проведены измерения пропускной
способности в разных условиях. Результаты приведены в табл. 2. В ЭВМ данного типа
применяются модули оперативной памяти с технологией "DDR" (Double Data Rate), и
под частотой шины мы понимаем итоговую, "эффективную" частоту, значение которой
высвечивается при старте компьютера, например, "DRAM Clock 400 MHz". График
пропускной способности, построенный на основе табличных данных, приведен на
рис. 1.
По результатам анализа графика можно сделать следующие выводы. Во-первых,
увеличение пропускной способности нельзя аппроксимировать линейно. С ростом
частоты шины наблюдается все меньший и меньший прирост быстродействия; обе
кривые выходят на асимптоту.
Прирост частоты шины в 2 раза (со 166 до 333 МГц) ведет к повышению
быстродействия только на 59 % для одноканального режима и на 23 % для
двухканального. В приложениях, которые кроме работы с памятью задействуют и
другие устройства ЭВМ, например, ЦП, выигрыш будет еще меньше. Мы убедимся в
этом далее. В связи с этим, установка модулей памяти, предназначенных для работы на
высоких частотах, может быть нецелесообразна (неоправданна экономически).
Во-вторых, двухканальный режим работы контроллера памяти вовсе не приводит
к двукратному повышению быстродействия, как этого можно было бы ожидать. Это
означает, что составляя модели ЭВМ на основе стохастических сетей, как это делается
в [4], нельзя моделировать двухканальный режим с помощью двух отдельных каналов
памяти; вместо этого следует использовать один канал, но большего быстродействия.
Обратим внимание, что при переходе с частоты 333 МГц на 400 МГц при работе в
двухканальном режиме наблюдается не прирост, а падение производительности.
Возможное объяснение этого явления заключается в том, что достигнутое на частоте
333 МГц максимальное значение пропускной способности в 1212 МБайт/сек,
возможно, является предельным для данного контроллера памяти. Дальнейший рост
частоты приводит к тому, что сообщения на шине памяти начинают "мешать друг
другу", увеличиваются накладные расходы на работу шины и, как результат,
наблюдается падение быстродействия.
Итак, мы рассмотрели работу ОЗУ и выяснили, что параметры ЭВМ (частота
шины и режим работы контроллера памяти) существенно влияют на быстродействие
ОЗУ. Теперь поставим следующую задачу: выяснить, как указанные параметры ЭВМ
влияют на ее производительность на реальных приложениях.
Программная система "FLUENT" [6] предназначена для численного
моделирования в области аэрогидродинамики. Система разработана коммерческой
компанией, имеет очень богатые возможности по решению самых разнообразных задач
и широко применяется во всем мире. Система способна функционировать на
многопроцессорных ЭВМ, в том числе кластерных.
В состав системы входит набор типовых задач из разных областей
аэрогидродинамики, специально предназначенных для оценки производительности
ЭВМ пользователя и для сравнения с данными по ведущим образцам ЭВМ, для
которых накоплена значительная статистика.
Подобные
типовые
задачи
отлично
подходят
для
исследования
производительности ЭВМ, так как при их использовании фиксированы и алгоритм, и
входные данные, а это необходимо для того, чтобы сравнивать значения
производительности разных ЭВМ.
Частота шины
памяти, МГц
166
200
266
333
400
Пропускная способность ОЗУ,
МБайт/сек
Режим работы контроллера
памяти
Одноканальный Двухканальный
686,3862
988,0385
795,1223
1064,1972
986,8805
1135,3315
1094,4288
1212,0008
1138,5708
1188,9995
Таблица 2. Пропускная способность ОЗУ на тесте "STREAM" (ядро "Copy")
Пропускная
способность,
МБайт/сек
Пропускная способность на тесте "STREAM
(Ядро "Copy")
1400
1200
1000
800
600
400
200
0
150
Одноканальный
режим
Двухканальный
режим
200
250
300
350
400
Частота шины памяти, МГц
Рис. 1. Пропускная способность на тесте "STREAM" (ядро "Copy")
Анализ производительности ЭВМ на тестовой задаче пакета "FLUENT"
Подобные
типовые
задачи
отлично
подходят
для
исследования
производительности ЭВМ, так как при их использовании фиксированы и алгоритм, и
входные данные, а это необходимо для того, чтобы сравнивать значения
производительности разных ЭВМ.
Нашей задачей является исследование производительности ЭВМ на тестовой
задаче "FL5M3" системы "FLUENT". Задача "FL5M3" моделирует процесс сгорания
метана в горелке при наличии турбулентных потоков; конечно-элементная сетка
содержит 353 тыс. элементов.
В ходе исследования мы будем варьировать те же параметры, что и при
исследовании быстродействия ОЗУ: частоту шины памяти и режим работы
контроллера памяти. Таким образом, задача фактически сводится к исследованию того,
как быстродействие ОЗУ влияет на производительность ЭВМ на задачах системы
"FLUENT".
Процесс тестирования организован следующим образом. Пользователь запускает
программу тестирования, указывая количество процессоров ЭВМ (в данной ЭВМ
доступен только один ЦП) и задачу ("FL5M3"). По окончании счета система "FLUENT"
создает файл, в котором указаны скоростные характеристики ЭВМ на данной задаче. В
частности, указаны затраты времени на ввод/вывод (чтение задачи в память и запись
результатов на внешнее запоминающее устройство, ВЗУ), а также время на работу
подпрограммы-решателя (англ. "solver"), то есть на счет.
Время, затраченное на ввод/вывод, не исследуется по следующей причине: при
обмене данными между ВЗУ и ОЗУ медленным устройством является ВЗУ, поэтому по
временным характеристикам обмена невозможно сделать содержательных выводов о
работе ОЗУ.
Что касается времени работы подпрограммы-решателя, приведено две
характеристики: астрономическое время ("Wall clock time") и время, затраченное ЦП
ЭВМ ("CPU time"). При работе ЭВМ в мультипрограммном режиме ЦП разделяется
между задачами, счет замедляется и астрономическое время счета оказывается больше,
чем время, затраченное ЦП. При работе ЭВМ в монопольном режиме значения этих
величин практически совпадают.
Если разделить количество секунд в сутках на астрономическое время счета в
секундах, мы получим количество задач данного типа, которое ЭВМ способна решить
за сутки, без учета ввода/вывода. Эта величина в терминах системы "FLUENT"
называется рейтингом (англ. "rating") и официально используется для сравнения
производительности ЭВМ.
Мы для целей исследования будем пользоваться величиной времени,
затраченного ЦП, а не астрономическим временем. Это позволит избежать ошибок
измерения, вызванных работой других задач во время счета исследуемой задачи.
Рейтинг мы будем определять как количество секунд в сутках, деленное на время,
затраченное ЦП. Рейтинг – это, фактически, производительность ЭВМ на данной
задаче, в задачах за сутки (в "штуках за единицу времени"). Размерность рейтинга,
таким образом, c-1.
В результате эксперимента получены данные, характеризующие зависимость
рейтинга от исследуемых параметров (см. табл. 3). График, построенный по табличным
данным, приведен на рис. 2.
Анализ экспериментальных данных показывает, что прирост производительности
ЭВМ, который достигается при повышении частоты шины или переходе на
двухканальный режим работы, меньше, чем прирост быстродействия ОЗУ в тесте
"STREAM" при этих же условиях, как мы и предполагали ранее.
Кроме того, при переходе от частоты 333 МГц к 400 МГц наблюдается падение
производительности в обоих режимах работы контроллера памяти. По-видимому, на
частоте 400 МГц подсистема памяти в данной ЭВМ работает в неоптимальном режиме,
и применять его не следует.
Как видно из рис. 1, быстродействие ОЗУ нелинейно зависит от частоты шины, и
с повышением частоты выходит на асимптоту. По рис. 2 то же самое можно сказать о
производительности ЭВМ. Возникает гипотеза, согласно которой производительность
ЭВМ, возможно, линейно зависит от быстродействия ОЗУ.
Чтобы подтвердить эту гипотезу, по данным табл. 2 и табл. 3 построим график
производительности ЭВМ в зависимости от быстродействия ОЗУ (см. рис. 3). Как
видно из рисунка, экспериментальные данные хорошо согласуются с гипотезой.
Аномальной является только точка, соответствующая частоте шины 400 МГц в
одноканальном режиме: несмотря на увеличение быстродействия ОЗУ, прироста
производительности ЭВМ не происходит. Это еще раз подтверждает, что данный
режим является неоптимальным для исследуемой ЭВМ.
Рейтинг
Частота шины
памяти, МГц
Режим работы контроллера
памяти
Одноканальный Двухканальный
99,2
110,8
112,9
117,3
117,9
121,4
117,7
120,5
166
266
333
400
Таблица 3. Рейтинг на задаче "FL5M3"
Рейтинг ЭВМ на задаче "FL5M3"
Рейтинг, 1/с
125
120
Одноканальн
ый режим
Двухканальны
й режим
115
110
105
100
95
150
200
250
300
350
400
Частота памяти, МГц
Рис. 2. Рейтинг ЭВМ на задаче "FL5M3"
Обе линии на рис. 3 являются отрезками прямых. Это означает, что производная
от производительности ЭВМ по быстродействию ОЗУ постоянна, то есть темп роста
производительности при увеличении быстродействия является постоянной величиной.
Кроме того, отрезки параллельны. Это означает, что темпы роста производительности
не только постоянны, но и одинаковы для обоих режимов работы контроллера памяти.
Заключение
В работе мы рассмотрели значение терминов "быстродействие" и
"производительность", обобщили понятие быстродействия на оперативное
запоминающее устройство, исследовали способ измерения быстродействия ОЗУ с
помощью программ тестирования. Экспериментально исследовано быстродействие
ОЗУ и производительность ЭВМ на реальной задаче при варьировании параметров
работы подсистемы памяти: частоты шины и режима работы контроллера. Предложена
и экспериментально подтверждена модель производительности, устанавливающая
линейную зависимость производительности от быстродействия ОЗУ. Планируется
также исследовать зависимость производительности ЭВМ от частоты ЦП.
Зависимость производительности ЭВМ от быстродействия ОЗУ
125
Рейтинг ЭВМ, 1/с
120
115
110
105
100
95
650
750
850
950
1050
1150
1250
Эффективная пропускная способность, МБайт/с
Одноканальный режим
Двухканальный режим
Рис. 3. Зависимость производительности ЭВМ от быстродействия ОЗУ
Литература
1. Антонов А.С. Влияние характеристик программно-аппаратной среды на производительность
приложений. В сб.: Численные методы, параллельные вычисления и информационные
технологии: Сборник научных трудов / Под ред. Вл.В.Воеводина и Е.Е.Тыртышникова.—М.:
Издательство Московского Университета, 2008.—320 с. http://parallel.ru/info/VVV/sbornik.pdf
2. Беседин Д. Детальное исследование платформ с помощью тестового пакета RightMark Memory
Analyzer. Часть 1: Платформы AMD K7/K8. http://www.ixbt.com/cpu/rmma-k7-k8.shtml
3. Большая советская энциклопедия. Гл. ред. А.М.Прохоров, 3-е изд. Т. 1–30. М., «Сов.
энциклопедия», 1969–78.
4. Основы теории вычислительных систем. Под ред. С.А.Майорова. Учеб. пособие для вузов.—М.:
"Высш. школа", 1978.
5. CAS Latency. Wikipedia, the free encyclopedia. http://en.wikipedia.org/ wiki/CAS_Latency
6. FLUENT. CFD Flow Modeling Software and Solutions from Fluent. – Режим доступа:
http://www.fluent.com/software/fluent/, свободный.
7. McCalpin, John D.
STREAM
Benchmark
Reference
Information.
http://www.cs.virginia.edu/stream/ref.html
8. McCalpin J. D. Memory Bandwidth and Machine Balance in Current High Performance Computers //
IEEE Computer Society Technical Committee on Computer Architecture (TCCA) Newsletter. –
December 1995. – P. 19. – Режим доступа: http://tab.computer.org/tcca/NEWS/ DEC95/DEC95.HTM,
свободный.
9. S.A. McKee, Reflections on the Memory Wall. Proc. Computing Frontiers (CF'04), Ischia, IT, April
2004. http://www.csl.cornell.edu/~sam/papers/cf04.pdf
10. W. Wulf and S. McKee. Hitting the wall: Implications of the obvious. ACM SIGArch Computer
Architecture News, 23(1):20–24, Mar. 1995.
Download