Научная статья на тему 'Модель производительности ЭВМ с учётом быстродействия центрального процессора (на примере задачи аэродинамики)'

Модель производительности ЭВМ с учётом быстродействия центрального процессора (на примере задачи аэродинамики) Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
279
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / СУПЕРЭВМ / КЛАСТЕРНЫЕ ЭВМ / ОБЩАЯ СТОИМОСТЬ ВЛАДЕНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Солнушкин Константин Сергеевич

Предложена математическая модель производительности однопроцессорной ЭВМ на примере задачи аэродинамики. Модель подразделяет общее время счёта на время работы центрального процессора и время ожидания поступления данных из подсистемы памяти ОЗУ и кэш-памяти.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Солнушкин Константин Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A mathematical model is proposed to describe performance of a uniprocessor computer when solving an aerodynamics problem. The model divides the CPU time into processor time, when a CPU is busy, and memory time, when CPU is waiting for data to be transferred from the memory subsystem RAM and caches.

Текст научной работы на тему «Модель производительности ЭВМ с учётом быстродействия центрального процессора (на примере задачи аэродинамики)»

Вычислительные машины и программное обеспечение

Солнушкин К. С.

Модель производительности ЭВМ с учетом быстродействия

центрального процессора (на примере задачи аэродинамики)

Всего за полгода - с сентября 2007 по март 2008 года - производительность пятидесяти самых мощных ЭВМ России и СНГ увеличилась в три раза, о чем свидетельствует список "Тор50 - Суперкомпьютеры" (Ьир://яирегсотри1е-rs.ru). Это беспрецедентный рост за всю историю суперкомпьютерной отрасли России. По Санкт-Петербургу рост еще значительнее, в 3.2 раза: с 1.8 по 5.8 ТРЬОРБ пиковой производительности. В указанный список вот уже в третьей редакции подряд входят только кластерные ЭВМ. вытеснив более дорогие машины с общей памятью.

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

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

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

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

Для построения моделей производительности кластерных ЭВМ необходимо сначала научиться строить модели более простых объектов, в частности. одно- и многопроцессорных ЭВМ, выполняющих роль базовых вычислительных блоков (так называемых "узлов") кластерных машин.

В данной статье предлагается модель производительности однопроцессорной ЭВМ на задаче аэродинамики, учитывающая быстродействие центрального процессора.

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

1) выборка очередной команды из памяти;

2) выборка данных из памяти, необходимых для выполнения команды:

3) собственно исполнение команды;

4) запись результатов выполнения обратно в память.

При этом время собственно исполнения команды (п. 3) определяется быстродействием центрального процессора (ЦП), а время, затрачиваемое на вспомогательные операции (пп. 1,2, 4), определяется быстродействием подсистемы памяти, состоящей из оперативного запоминающего устройства (ОЗУ) и кэш-памяти различных уровней.

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

Во время работы программы процессор ЭВМ выполняет поток команд, задействуя для выполнения каждой команды доступные функциональные устройства. Часть команд выполняется за один такт работы ЦП. часть требует нескольких тактов. Современные ЦГ1 являются суперскалярными, т. е. содержат несколько функциональных устройств, которые могут работать параллельно. Если

алгоритм это позволяет, ЦП может одновременно задействовать несколько таких устройств. В этом случае за один такт можно выполнить не одну команду, а более. Время * равно длительности всех тактов ЦП. необходимых для выполнения программы, и определяется как количество тактов.

С

деленное на тактовую частоту ЦП: 1ргос = рг°1 .

/сри

Количество тактов Српк зависит от многих факторов. включая следующие:

-размер задачи (количество ее входных данных). Чем больше входных данных, тем больше Сргос\

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

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

Время работы с подсистемой памяти определяется следующим образом. Если для выполнения команды требуются операнды, находящиеся в памяти, ЦП загружает их, прежде чем продолжить выполнение команды. Загрузка занимает различное время. Если требуемые данные находятся в ОЗУ, загрузка может занять время, равное более чем сотне тактов ЦП, в течение которых полезную работу ЭВМ выполнять не будет.

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

Обшее время, затраченное ЭВМ на ожидание доступа к памяти, состоит, таким образом, из следующих слагаемых:

'mem ~ 1 RAM N RAM + X ' U^' U •

Здесь tRAM - латентность при доступе к ОЗУ; NMM - количество обращений к памяти, завершившихся доступом к ОЗУ; tu - латентность доступа к кэш-памяти уровня /; Nu - количество обращений к памяти, удовлетворенных кэш-памятью уровня / ("попадание в кэш", "cache hit").

В случае ЭВМ с неоднородной организацией подсистемы памяти (Non-Uniform Memory Architecture. NUMA) добавляется еще одно слагаемое: /numa ^numa »где tNUUA - латентность доступа к памяти соседнего ЦП; Мтш - количество

обращений к ней.

Количество обращений к различным устройствам подсистемы памяти (т. е. значения N ram ' ) определяет общую величину задержки счета, связанную с ограниченным быстродействием подсистемы памяти. Однако конкретные значения этих величин зависят от множества факторов, в первую очередь, от типа ЭВМ, алгоритма и входных данных. Так, с увеличением размера кэш-памяти больше запросов станет выполняться без необходимости обращения к ОЗУ. поэтому

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

Итак, обе компоненты времени выполнения программы (tproc и tmem ) существенно зависят от типа ЭВМ, алгоритма и его входных данных. Обозначим общее время выполнения программы через tCPU:

С

'СТО _ ' proc + {тет

proc

Jcrv

+ L

(1)

Обозначение 1сри выбрано по следующей причине. Современные многозадачные операционные системы работают в режиме разделения времени. Каждой из работающих в системе задач, включая ядро операционной системы, поочередно выделяется небольшой квант времени, в течение которого задача может занимать центральный процессор.

Научно-технические ведомости СПбГПУ 6' 2008. Информатика. Телекоммуникации. Управление

Общая длительность всех квантов, которые потребовались для завершения задачи, традиционно называется процессорным временем, затраченным задачей (англ. "CPU time"). Таким образом, обозначение tcpu сложилось исторически, хотя и не очень удачно; следует отличать его от tproc .

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

Приведенная выше формула задает математическую модель для времени выполнения программы на ЭВМ. Так как время выполнения

Согласно формуле (2) мы задавали значения /сри и получали в ходе эксперимента значения 'сри ■ Теперь требуется найти значения С и 'теш ■ Поскольку мы также варьировали быстродействие ОЗУ, то фактически исследовали три ЭВМ с одним и тем же типом ЦП. но различными типами ОЗУ. Поэтому нам необходимо идентифицировать три модели производительности с одним и тем же значением Сргос, так как эта величина не зависит от быстродействия ОЗУ.

Обработав экспериментальные данные методом регрессионного анализа, получаем, что всем

определяет быстродействие ЭВМ на задаче [2], то мы имеем дело с моделью производительности вычислительной машины. Идентифицировать модель можно с помощью эксперимента. Исследуем процесс численного моделирования обтекания кузова автомобиля с учетом турбулентности. Задача (см. [4]) решается методом конечных объемов с числом ячеек примерно 3.6 млн. Для исследования используем ЭВМ на основе ЦП "AMD Opteron 254". Будем варьировать тактовую частоту ЦП в пределах fCPU = 1000-2800 МГц и измерять процессорное время tCP(J, затраченное для численного моделирования, в данном случае - для выполнения 25 итераций алгоритма. Будем также варьировать быстродействие ОЗУ fDKVM(DRAM Clock) путем изменения тактовой частоты ОЗУ. Результаты эксперимента сведем в таблицу.

моделям соответствует значение Сргог = 1655 10ч тактов ЦП. Далее для трех разных значений тактовой частоты ОЗУ - 200.333 и 400 МГц получаем значения !тет . равные соответственно 347, 225 и 194 с. Как видим, при повышении быстродействия ОЗУ время, затраченное вхолостую на ожидание доступа к ОЗУ, сокращается.

На рисунке приведен пример согласования между экспериментальными и модельными данными для тактовой частоты памяти 400 МГц. Для остальных случаев рисунки аналогичны.

Таблица 1

Процессорное время tcpu, с, затраченное на численное моделирование, в зависимости

от тактовых частот ЦГ1 и ОЗУ

Тактовая частота ЦП fCPu . ГТи /DRAM • МГ»

200 333 400

1.0 1975 1894 1882

1,8 1249 1127 1110

2.0 1166 1029 1016

2.2 1097 978 942

2.4 1043 915 882

2,6 1015 855 819

2,8 958 847 776

ten', С 2000

1,0

1,5

2,0

2,5 fepu, ГГц

Рис. 1. Зависимость процессорного времени, затраченного на расчет, от тактовой частоты ЦГ1: эксперимент (точки) и модель (линия). Тактовая частота ОЗУ - 400 МГ ц

Согласно модели при параметрах ЦП и ОЗУ, обеспечивающих их максимальное быстродействие (, /срц =2,8 ГГц; /¡ш, =400 МГц), время, затраченное на работу с подсистемой памяти, составляет 25 % от общего времени счета. Рост интенсивности вычислений (например, за счет повышения тактовой частоты ЦП) ведет к росту нагрузки на подсистему памяти.

Если поднять тактовую частоту ЦП в два раза, не увеличив при этом быстродействие ОЗУ, то время счета уменьшится только в 1.6 раза, при этом время работы с подсистемой памяти будет составлять порядка 40 % времени счета. В такой ситуации подсистема памяти становится "узким местом" ЭВМ. Чтобы избежать подобного дисбаланса, производители ЭВМ сопровождают повышение скоростных характеристик ЦП аналогичным повышением характеристик подсистемы памяти; модель объясняет это поведение.

Это объяснение верно и в более обшем случае. Так, в современных процессорах "AMD Barcelona" в рамках одного ЦП работает четыре вычислительных ядра. Это также ведет к росту интенсивности вычислений и повышению нагрузки на подсистему памяти. Поскольку увеличить скоростные характеристики ОЗУ было затруднительно с технологической точки зрения, то во избежание дисбаланса производитель добавил в состав ЦП третий уровень кэш-памяти значительного объема; при этом доля запросов, удовлетворяемых из кэш-памяти, возросла (величина Nu в концептуальной модели), следовательно, удалось повысить скоростные характеристики подсистемы памяти в целом.

В качестве направлений дальнейших исследований можно назвать поиск зависимостей, связывающих параметры модели Сргос и tmem с параметрами ЭВМ и решаемой задачи.

СПИСОК ЛИТЕРАТУРЫ

1. Солнушкин К. С. Анализ быстродействия ОЗУ и построение модели производительности ЭВМ // Научно-техннческий вестник СПбГУ ИТМО. СПб.: Изд-во СПбГУ ИТМО, 2008 (в печати; Ь»р://ко-nstantin.solnushkin.ru).

2. Солнушкин К. С. О значении терминов "производительность" и "быстродействие" в применении к ЭВМ // Научно-технические ведомости СПбГПУ. 2008. № 3. С. 297-300.

3. Солнушкин К. С. Постановка задачи синтеза кластерных ЭВМ. оптимальных по критерию цены производительности //Труды XV Всерос. науч.-метод, конф. Телематика-2008. СПб.: Изд-во СПбГУ ИТМО, 2008. http://konstantin.solnushkin.ru

4. FLUENT Benchmarks, http://www.fluent.com/soft-ware/fluent/fl5bench/flbeneh_6.3/ problems/fl512.htm

i Надоели баннеры? Вы всегда можете отключить рекламу.