В.А. Фисун - Прикладное программирование в задачах математической физики. Архитектурные принципы построения ЭВМ (doc) (1127760), страница 12
Текст из файла (страница 12)
Имитационное моделирование используется для оценки производительности систем, когда невозможно проведение натурных испытаний оборудования, а погрешности аналитических моделей при учете архитектурных особенностей оборудования не устраивают исследователей. Применяется для оценки производительности проектируемых систем. Чаще всего, имитационная модель с нужной степенью детализации создается для проверки архитектурных решений и логических схем проектируемых систем и оценка производительности при этом может быть не главной целью создания модели.
Особым случаем имитационного моделирования является “эмуляция”, это процесс обеспечения точного воспроизведения работы одного вычислителя на другом вычислительном оборудовании. Служит для обеспечения эксплуатации накопленного фонда алгоритмов и программ ЭВМ при смене поколений вычислителей.
Аналитические методы исследования производительности ЭВМ рассматриваются на примере измерения производительности микропроцессоров. На основании данных о технических параметрах вычислителя, и его подсистем можно составить модель виртуального вычислителя и по ней оценить производительность исследуемого вычислителя. Пусть известна только тактовая частота ЭВМ. Тогда, учитывая тот факт, что ни одно вычислительное действие не может быть выполнено быстрее, чем за время тактового цикла, то по значению тактовой частоты можно оценивать предельную производительность этого вычислителя. Если ЭВМ - скалярный микропроцессор и о нем известно, что каждый конвейерный этап УУ и АЛУ выполняется за один такт, а тактовая частота составляет 100 МГц, то можно предположить, что результаты выполнения последовательности арифметических операций будут вырабатываться каждые 10 нс, а скорость выполнения команд будет равна миллиону команд в секунду. Эти параметры будут грубо определять пиковую производительность ЭВМ. Итак, наиболее абстрактной единицей измерения производительности процессоров является тактовая частота, частота тактового генератора (clock rate). Частота генератора задает цикл (cycle), наименьшую единицу времени, распознаваемая устройством. Минимальное время исполнения любой логической операции (переключение транзистора) - один такт, никакая операция в процессоре не может быть выполнена быстрее, чем за один период генератора. Тактовая частота измеряется в “Герцах” – число тактов в секунду. Один МГц - это миллион тактов в секунду, ГГц – миллиард тактов в секунду и т.д. С частотой тактового генератора работают элементы процессора, интегрированные на чипе – АЛУ, кэш-память, дешифратор команд, регистры. Тактовая частота системной шины меньше частоты процессора (в 2,5 – 10 раз, Alpha 21064), поэтому другие параметры шины также влияют на производительность процессора. Поскольку любая операция, в том числе и пересылка данных, не может происходить быстрее, чем за такт, то желательно передавать как можно больше информации за один такт. Обычно, системная шина для данных обеспечивает полосу пропускания в 32, 64, 128 бит. Поэтому, тактовая частота и разрядность шины является существенным параметром процессора. Так, для Intel Pentium 64-разрядная шина данных обеспечивает обмен с ОЗУ со скоростью 528 Мбайт/с. Для оценки характеристики системной шины часто используется только интегральный показатель – пропускная способность шины. Процессоры Xeon имеет шины с производительностью в 6,2 Гбайт/c, процессоры AMD Opteron – в 5,3 Гбайт/с.
Архитектура процессора, также как и тактовая частота, влияет на работу процессора, поэтому два процессора с одинаковой тактовой частотой не обязательно будут иметь одинаковую производительность. Например, микропроцессоры с суперскалярной архитектурой могут выполнять более одной операции за тактовый цикл. Данных параметр оценки производительности процессора удобен для сравнительной оценки ЭВМ одного семейства, для процессоров с одинаковой архитектурой. Итак, тактовая частота вычислителя, даже с уточнениями частоты шины, может быть оценкой лишь номинальной производительности процессора.
Другой обобщенной мерой производительности процессоров может служить число команд, выполняемые в единицу времени. Для вычислителей фон-неймановской архитектуры скорость выполнения команд может быть параметром, который может быть использован для оценки общего времени выполнения программы. Этот параметр - одна операция (команда, инструкция ЭВМ) в секунду. Обычно эта единица используется в номинации: “Мипс” - MIPS (Million Instruction Per Second) - миллион операций (команд, инструкций ЭВМ) в секунду. Так как время выполнения различных команд может различаться, то данный параметр при использовании сопровождается разного вида уточнениями: время выполнения только логических команд ЭВМ, производительность на заданной смеси команд и т.д. Например, тестовая смесь для определения производительности ЭВМ в MIPSах Dhrystone состоит из 100 команд, 53% которых есть операторы присваивания, 32% – операторы управления и 15% - вызовы функций. Другим способом нормирования данного параметра является сравнение производительность исследуемого процессора с производительностью эталонной ЭВМ. Эталонной ЭВМ принято считать ЭВМ VAX 11/780, производительность которой считается равной одному MIPSу. Фирма IBM предложила использовать в качестве эталона производительности свою ЭВМ - RS/6000. Считается, что 1 RS/6000 MIPS примерно равен 1,6 VAX 11/780 MIPS.
Достоинством данного рейтинга является его наглядность: более быстрые машины имеют более высокий рейтинг MIPS. Однако проведение сравнения ЭВМ с различными системами команд при использовании MIPS в качестве метрики вызывает затруднения. Рейтинг MIPS для процессоров с сопроцессорами плавающей точкой будет явно занижен при выполнении векторных работ. Итак, и второй рейтинг оценки производительности ЭВМ имеет очевидные недостатки.
Корпорацией SPEC (Standard Performance Evaluation Corporation) в 1992 г. для измерения производительности ПК был предложен рейтинг SPEC. Корпорация разработала два базовых набора тестов CIN92 и CFP92, ориентированные на интенсивные расчеты, для измерения производительность процессора и системы памяти, а также эффективности оптимизирующих блоков компиляторов ПК.
Первый набор тестов измеряет производительность процессора при обработке целых чисел. Он состоит из 6 Си-программ: интерпретатор Лиспа, упаковка текстовых файлов, и т.д.
Второй пакет цикла служит для измерения скорости процессора при обработке чисел с плавающей точкой. Он состоит из 14 программ на Си и Фортране из различных прикладных областей: квантовая химия, оптика, робототехника, квантовая физика и т.д. Результаты измерений производительности тестируемой ЭВМ на каждом тесте этих пакетах нормируется с производительностью эталонной ЭВМ (эталонная ЭВМ – все та же ЭВМ VAX 11/780), они называются SPECint92 и SPECfp92. Эти безразмерные рейтинги есть среднее геометрическое 6 (14) результатов отношений производительности для каждого теста наборов, они характеризуют быстродействие ЭВМ при обработке целочисленных и вещественных данных. Более поздние версии этих тестов называются SPECint95 и SPECfp95, SPECint2000 и SPECfp2000. Корпорация SPEC проводит работу по обеспечению тестирования многопроцессорных ЭВМ. Для широкого круга научных и инженерных расчетов данный рейтинг производительности признан наиболее показательным, он является непременным параметром любого процессора.
Внедрение конвейерной обработки данных, позволившее получать результаты вычислений арифметических операций с плавающей точкой за каждый такт, выпуск многоядерных процессоров и мультипроцессорных ЭВМ, привели в настоящее время к использованию в качестве меры производительности ЭВМ скорость вычислений чисел с плавающей точкой. С другой стороны, так как для большинства вычислительных алгоритмов существуют оценки числа арифметических операций, необходимых для выполнения расчетов, данная мера и может служить тем показателем, который интересует пользователей в первую очередь. Такие измерения производятся мерой “Мегафлопс” – MFLPOPS (Million of Floating point Operation Per Second) - миллион операций в секунду на данных с плавающей запятой, единица быстродействия ЭВМ на операциях с плавающей запятой. Соответственно, существуют единицы GFLPOPS (Гигафлопс) и ТFLPOPS (Терафлопс) т.д. Данный рейтинг широко используется для оценки пиковой и реальной производительности вычислительных систем.
Примеры оценки производительности некоторых процессоров по трем описанным показателям.
Процессор Itanium 2 с тактовой частотой в 1,3 – 1.5 ГГц может вырабатывать 4 флопа за такт, производительность по SPECint - 1322 и по SPECfp -2119.
Процессор Alpha 21364 с тактовой частотой в 1,15 – 1.77 ГГц может вырабатывать 4 флопа за такт, производительность по SPECint - 877 и по SPECfp -1482.
Процессор AMD Opteron с тактовой частотой в 1,4 – 2 ГГц может вырабатывать 2 флопа за такт, производительность по SPECint - 1335 и по SPECfp -1339.
Существуют и другие подходы к оценке производительности ЭВМ. По мнению некоторых инженеров (фирма Sun) производительность процессоров следует оценивать в единицах количества выполняемых инструкций на один ватт или на одну монтажную единицу (rack unit) стойки сервера.
6.3. Измерение реальной производительности
Измерения для получения реальной производительности вычислительных систем проводятся контрольными (тестовыми) программами при помощи эталона. Эталон - бенч-марк (Benchmark) это: стандарт, по которому могут быть сделаны измерения или сравнения; или процедура, задача или тест, которые могут быть использованы для сравнения систем между собой или со стандартом, как в предыдущем пункте.
Для повышения общности и представительности оценки производительности вычислительных систем контрольные, тестовые программы можно разделить на следующие группы.
- Программы нижнего уровня.
Эти программы тестируют основные машинные операции - +,/,* с учетом времени доступа к памяти, работы кэша, характеристик ввода/вывода.
- Ядра программ.
Ядра программ - короткие характерные участки программ, например, Эймсовские ядра НАСА, синтетический тест Ветстоун (Whetstone), Ливерморские фортрановские циклы.
Тексты Ливерморских циклов представляют собой 14 (малый пакет) или 24 (большой пакет) фрагментов реальных программ, эксплуатируемых в Ливерморской Национальной Лаборатории им. Лоуренса. Каждый фрагмент является явно заданным итерационном циклом Фортрана. Примеры тел двух циклов.
X(K) = Q + Y(K) * (R * Z(K+10) + T * Z(K+11)) (1 цикл)
X(K) = X(K+1) – Y(K) (12 цикл)
- Основные подпрограммы и типовые процедуры.
Примером основных подпрограмм могут быть программы быстрого преобразования Фурье и программа Линпак (Linpack). Программа Линпак - это процедура решения системы линейных уравнений методом исключения Гаусса. В этой схеме вычислений точно известно число операций с плавающей точкой, которое зависит от размерности массива – параметра процедуры. Стандартные значения размерностей: 100 или 1000. Для параллельных ЭВМ имеется соответствующая версия теста.
- Полные основные прикладные программы.
В качестве примеров программ этого уровня могут служить Лос-Аламоские тестовые программы моделирования поведения плазмы и программы гидродинамики.
Компания AIM Technolgy разработала систему генерации различных рабочих нагрузок, соответствующих уровню тестируемой системы и требованиям по её использованию. Тестовые пакеты AIM разделены на две категории: стандартные и заказные. Заказные пакеты создаются для точного моделирования предметной области пользователя или конкретной конфигурации вычислителя. Стандартные пакеты моделируют среду типовых прикладных задач: среду автоматизации проектирования в механике, среду СУБД и т.д.
Для оценки производительности средств вычислительной техники, используемых в сфере бизнеса, предложен пакет тестов ТРС.
Однако, универсальной системы измерений средств вычислительной техники не существует.
6.4. Рейтинг ТОР500
Международными организациями систематически производится сбор данных о самых высокопроизводительных вычислительных системах (супер-ЭВМ) в мире и публикация данных о 500 самых мощных машинах. Эта таблица рейтингов - таблица ТОР500 - периодически (два раза в год) обновляется, 30 редакция списка опубликована в ноябре 2007 года. Все машины списка – многопроцессорные вычислительные системы. Среди параметров вычислителей указывается главные: Rmax – максимальная производительность при решении тестовой задачи Linpack и Rpeak – пиковая, предельная производительность ЭВМ. Содержимое таблиц упорядочено по Rmax. Приводится параметр - Nhalf – длина вектора входного параметра тестовой задачи, на котором вычислитель достигает только половину предельной производительности. Указывается также место и год установки ЭВМ, число и тип процессоров.
30 редакцию рейтинга по-прежнему возглавляет система Server Blue Solution IBM, состоящая из 212992 процессоров, производительность которой достигла: Rmax = 478200 Gflops, Rpeak = 596378 Gflops. В этой редакции Россия представлена 7 системами.
По аналогии, публикуется список самых мощных суперкомпьютеров стран СНГ ТОР50, на май 2007 г опубликована 6 редакция списка. В нем на первом месте размещены данные о кластере, разработанном фирмой “Т-платформы” и установленном в 2007 г. в Томском Университете. Его параметры: 564 процессора, 1128 ядра, 282 узла (2*Xeon 5150, 2.667 GHz), производительность по тестовой задаче - 9013, пиковая – 12002 Gflops.
Список литературы
-
Степанов А.Н. Архитектура вычислительных систем и компьютерных сетей. - СПб.: Питер, 2007. – 509 с.
-
Цилькер Б.Я., Орлов С.Д. Организация ЭВМ и систем. - СПб.: Питер, 2006. – 668 с.
-
Королев Л.Н. Архитектура ЭВМ. - М.: Научный мир. 2005.- 272 с.
-
Хорошевский В.Г. Организация вычислительных систем. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2005. -512 с.
-
Брайант Р., О’Халларон Д. Компьютерные системы: архитектура и про граммирование. Пер с англ.-СПб.: БХВ-Петербург, 2005. -1104 с.
-
Столлингс В. Структурная организация и архитектура компьютерных систем. Пер. с англ.. - М.: Изд. дом Вильямс, 2002. – 896 с.
-
Смирнов А.Д. Архитектура вычислительных систем: - М.: Наука, 1990.-320 с.
-
Аверьянов Г.П., Рошаль А.С. Введение в информатику. Учебное пособие. -М.: МИФИ, 2002. -252 с.
-
Барановская Т.П., Лойко В.И., Семенов М.И., Трубилин А.И. Архитектура компьютерных систем и сетей. - М.: Финансы и статистика. 2003.-256 с.
-
Корнеев В.В., А.В. Киселев А. В. Современные микропроцессоры. - М.: Нолидж, 1998. -240 с.
-
Амамия М., Танака Ю. Архитектура ЭВМ и искусственный интеллект. Пер с японск. – М.: Мир,1993. - 400 с.
-
Кун С. Матричные процессоры на СБИС. Пер. с англ. - М.: Мир, 1991. -672 с.
-
Касперски К. Техника оптимизации программ. Эффективное использование памяти. - СПб.: БХВ-Петербург, 2003. - 464 с.
-
Цимбал Л.А. Синергетика информационных процессов. Закон информативности и его следствия. - М.: Наука,1995. -119 с.
-
Задыхайло И.Б., Котов Е.И., Мямлин А.Н., Поздняков Л.А., Смирнов В.К. Вычислительная система с внутренним языком повышенного уровня. - М.: ИПМ АН СССР, Препринт N41, 1975. – 43 с.
-
Цикритзис Д., Бернстайн Ф. Операционные системы. Пер. с анг.- М.: Мир, 1977. –336 с.
-
Брой М. Информатика. Основополагающее введение. - М.:Диалог-МИФИ, 1996-299с.
-
Юзвишин И.И. Информациология. - М.: Радио и связь, 1996. -215 с.
-
Корогодин В.И., Корогодина В.Л. Информация как основа жизни. – Дубна: Феникс, 2003. -208 с.
-
Генис А. Культурология. – М.:Подкова, 2002.- 504 с.
-
Лацис А. Как построить и использовать суперкомпьютер. –М: Бестселлер, 2003. – 240 с.
-
Шура-Бура М.Р., Штаркман В.С. Вычислительная машина М-20. Инструкция по математической эксплуатации. – М.: ЦБТИ, 1962. – 90 с.