Пиковая производительность процессора это
Вычислительная мощность суперкомпьютера (производительность суперкомпьютера) — это количественная характеристика скорости выполнения определённых операций на суперкомпьютере. Чаще всего вычислительная мощность измеряется в флопсах (количество операций с плавающей точкой в секунду), а также производными от неё. На данный момент принято причислять к суперкомпьютерам системы с вычислительной мощностью более 10 Терафлопс (10 13 или десять триллионов флопс; для сравнения среднестатистический современный настольный компьютер имеет производительность порядка 0.1 Терафлопс). Наиболее мощные из существующих компьютерных систем — Jaguar и Roadrunner — имеет производительность, превышающую, 1 Петафлопс [1] .
Измерение производительности
Оценка реальной вычислительной мощности производится путём прохождени специальных тестов — набора программ специально предназначенных для проведения вычислений и измерения времени их выполнения. Обычно оценивается скорость решения системой большой системы линейных алгебраических уравнений, что обусловливается, в первую очередь, хорошей масштабируемостью этой задачи.
Наиболее популярным тестом производительности является Linpack benchmark. В частности, HPL (альтернативная реализация Linpack) [2] используется для составлении Топ 500 листа суперкомпьютеров в мире [3] .
Другими популярными программами для проведения тестирования являются NAMD [4] (решение задач молекулярной динамики), HPCC (HPC Challenge Benchmark), NAS Parallel Benchmarks [2] .
Игровые приставки
Указаны операции с плавающей точкой над 32-разрядными данными
-
Dreamcast — 1,4 Гфлопс Xbox — 5,8 Гфлопс Xbox 360 — 115,2 Гфлопс PlayStation 2 — 6,2 Гфлопс PlayStation Portable — 2,6 Гфлопс [30]PlayStation 3 — 218 Гфлопс [31]Wii — 2,9 Гфлопс [32]
Человек и калькулятор
Калькулятор не случайно попал в одну категорию вместе с человеком, поскольку хотя он и является электронным устройством, содержащим процессор, память и устройства ввода/вывода, режим его работы кардинально отличается от режима работы компьютера. Калькулятор выполняет одну операцию за другой с той скоростью, с какой их запрашивает человек-оператор. Время, проходящее между операциями, определяется возможностями человека и существенно превышает время, которое затрачивается непосредственно на вычисления. Можно сказать, что в среднем производительность обычного карманного калькулятора составляет 10 флопс.
Человек, пользуясь лишь ручкой и бумагой, выполняет операции с плавающей запятой очень медленно и часто с большой ошибкой. Говоря о производительности нашего вычислительного аппарата, придётся использовать такие единицы как миллифлопс и даже микрофлопс.
Вы можете помочь проекту, объединив статьи.
В случае необходимости обсуждения целесообразности объединения, замените этот шаблон на шаблон > и добавьте соответствующую запись на странице Википедия: К объединению. Пожалуйста, также проверьте историю правок.
Терафлопс (TFLOPS) — величина, используемая для измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой в секунду выполняет данная вычислительная система. 1 терафлопс = 1 триллион операций в секунду = 1000 миллиардов операций в секунду. Обычно имеются в виду операции над плавающими числами размера 64 бита в формате IEEE 754.
TFLOPS = 10 12 FLOPS (= 10 3 GFLOPS)
При измерении производительности кластеров и суперкомпьютеров часто используется 2 варианта: пиковая производительность — теоретический предел производительности (выражаемый через операции с плавающий точкой) для данных процессоров и максимальная производительность, которую данный кластер или компьютер достигает при решении практических задач. В качестве эталонной задачи часто выступает задача решения системы СЛАУ методом LU-разложения. Для измерений на кластерах используется реализация HPL — High performance linpack.
Чтобы найти пиковую производительность ЭВМ R, терафлопс, нужно тактовую частоту F, МГц, умножить на число процессоров (процессорных ядер) n, домножить на количество инструкций с плавающей запятой на такт (4 для процессоров Core2 — 2 операции Float Multiple Add; 8 для процессоров с AVX) и поделить на 1000000:
F × n × 4·10 −6 = R
Например, суперкомпьютер eServer Blue Gene Solution (на май 2008 года был самым производительным на планете), который работает в Ливерморской национальной лаборатории, штат Калифорния, США, обладает пиковой производительностью 596,4 терафлопс. Максимальная производительность — 478,2 терафлопс — составляет 80 % от пиковой. Производитель — американская корпорация IBM.
Эта суперЭВМ собрана на базе 212992 процессоров PowerPC 440, тактовая частота каждого из которых 700 МГц. Его производительность:
700 МГц × 212992 процессоров × 4·10 −6 = 596,4 трлн операций в секунду = 596,4 терафлопс.
В общем случае, соотношение максимальной и пиковой производительности варьируется от 60 % до 83 %, поэтому по указанной формуле можно вычислять лишь пиковую производительность суперЭВМ. Так, например, пиковая производительность компьютера на базе четырехъядерного процессора AMD Phenom 9500 sAM2+ с тактовой частотой 2,2 ГГц равна:
2200 МГц × 4 ядра × 4·10 −6 = 3,52 млрд операций в секунду = 0,0352 терафлопс.
Для четырехъядерного процессора Core 2 Quad Q6600:
2400 МГц × 4 ядра × 4·10 −6 = 3,84 млрд операций в секунду = 0,0384 терафлопс.
Кроме того, AMD представила вычислительную систему FireStream 9250, занимающую один разъем PCI, общая производительность которой превосходит терафлопс, но только на 32-х разрядных данных, тогда как для суперкомпьютеров принято считать производительность на 64-х разрядных данных.
На данный момент (июнь 2011) самый мощный суперкомпьютер K computer, занимает первую строчку в рейтинге суперкомпьютеров, его пиковая производительность составляет 11,280 петафлопс, а максимальная 10,510 петафлопс([1]).
Оценка производительности
- Пиковое значение производительности и пропускной способности памяти (теоретические): 2420 GFLOP/s в одинарной точности и 352 GB/s для Intel Xeon Phi 7120A; 1036 GFLOP/s в одинарной точности и 119 GB/s для 2 процессоров Intel Xeon E5-2697v2 с 1866 MHz DDR3 памятью.
- Значения полученные на Linpack (или GEMM) and STREAM triad бенчмарках дают нам соответствующие показатели максимальной производительности на платформе: 2178 GFLOP/s и 200 GB/s для Intel Xeon Phi 7120A; 930 GFLOP/s и 100 GB/s для 2 процессоров Intel Xeon E5-2697v2 с 1866 MHz DDR3 памятью.
- Арифметическая интенсивность приложения рассчитывается на базе количества сложений и умножений (ADD, MUL) чисел с плавающей запятой и количества байт пересланных из памяти и определенной количеством загрузок и записей в память (LOAD, STORE).
Последний пункт следует из предположения, что вычислительная система имеет кэш с бесконечной пропускной способностью памяти и размером, а также имеет нулевую задержку на доступ к данным (latency). Это определяет своего рода безупречную подсистему памяти, где любой массив загружается полностью даже в том случае, если требуется всего 1 элемент.
Несколько других факторов также могут влиять на производительность всего приложения, использующая 3DFD ядро – выбор граничных условий, IO схема при обращении во времени, а также технология или модель параллельного программирования. Однако, в приведенном здесь анализе мы не рассматриваем граничные условия и IO. Параллельная реализация решения данной задачи использует метод domain decomposition для распределенных систем с использованием MPI стандарта вместе с параллелизмом по потокам на вычислительном узле с использованием OpenMP. В данной работе рассматривается вычисления в подобласти на одном узле вычислительной системы.
Арифметическая интенсивность платформы
Наша тестовая система состоит из двух CPU Xeon E5-2697 (2S-E5) с 12 ядрами на один CPU, каждый запущен с частотой 2.7 ГГц без турбо режима. Данные процессоры поддерживают AVX расширение набора инструкций с 256-битной шириной векторных регистров. Данные инструкции могут выполнять вычисления с 8 числами с плавающей запятой в одинарной точности (32 бита) одновременно (за один такт CPU). Таким образом, теоретическую пиковую производительность можно посчитать как 2.7 (GHz) x 8 (SP FP) x 2 (ADD/MULL) x 12 (cores) x 2 (CPUs) = 1036,8 GFLOP/s. Пиковая пропускная способность рассчитывается с помощью частоты памяти (1866 ГГц), количества каналов памяти [4], количества байт пересылаемых в один такт (8), что дает 1866 x 4 x 8 x 2(CPUs) = 119 GB/s для двухпроцессорного узла 2S-E5. Также, нам необходимо оценить реально достижимые значения пропускной способности и производительности для характеризации поведения приложения. В качестве первого приближения допустим, что производительность любого реального приложения может быть ограничена пропускной способностью памяти (totally bandwidth bound), что в данной работе оценивается с помощью Stream triad или быстродействием процессора (totally FLOP/s bound или compute bound или CPU bound), что показывает бенчмарк Linpack. Выбор именно этих двух бенчмарков является чисто гипотетическим, но мы можем утверждать, что если они и далеки от идеальных оценок, то уж точно они лучше подходят в качестве приближения, чем пиковые теоретические значения вычислительной системы.
На 2S-E5 системе Linpack дает 930 GFLOP/s, а Stream triad 100 GB/s. Далее мы можем посчитать арифметическую интенсивность (AI) для теоретических и реальных максимальных показателей соответственно, как:
AI (theoretical, CPU) = 1036,8 / 119 = 8,7 FLOP/byte
AI (achievable, CPU) = 930 / 100 = 9,3 FLOP/byte
С данными значениями мы можем характеризовать любое вычислительное ядро следующим образом: если арифметическая интенсивность ядра больше (меньше) чем 9,3 FLOP/byte мы можем сказать, что это ядро ограничено быстродействием процессора — CPU bound (пропускной способностью памяти – memory bound).
Аналогичные расчеты на Linpack и Stream triad для Xeon Phi дают 2178 GFLOP/s и 200 GB/s соответственно. Теоретические пиковые оценки — 2420 GFLOP/s и 352 GB/s. Таким образом, арифметическая интенсивность будет равна:
AI (theoretical, Phi) = 2420,5 / 352 = 6,87 FLOP/byte
AI (achievable, Phi) = 2178 / 200 = 10,89 FLOP/byte
Арифметическая интенсивность вычислительного ядра
Roofline модель также требует вычисления арифметической интенсивности данного приложения. Она может быть получена через подсчет количества арифметических операций и доступов в память путем визуальной инспекции кода или с помощью специальных средств имеющих доступ к счетчикам вычислительной системы. В рамках стандартного вычислительного ядра схемы конечных разностей [5] мы можем найти 4 загрузки (coeff, prev, next, vel), 1 запись (next), 51 сложение (вычисления индексов не берутся в расчет) и 27 умножений (рисунок 3).
Рисунок 3. Исходный код вычислительного ядра с cache blocking
Арифметическая интенсивность может быть рассчитана по формуле:
Это дает арифметическую интенсивность, равную 3,9 FLOP/byte, которую мы умножим на теоретическую пропускную способность каждой платформы для получения первой оценки максимально достижимой производительности для данного алгоритма. Получим 1372,8 GFLOP/s на Xeon Phi и 461,1 GFLOP/s на 2S-E5. Однако теоретическое пиковое значение производительности предполагает параллельное использование двух конвейеров (один для ADD, другой для MUL), что невозможно в данном вычислительном ядре из-за дисбаланса между сложениями и умножениями, таким образом, данный код не сможем достичь этого оцененного максимального значения. А это значит, что достижимое максимальное значение следует усреднить с помощью:
что отражает отношение общего возможного количества операций при 16 операциях с плавающей запятой на такт (ops/cycle) и максимально количества сложений и умножений, которые исполняются при 8 ops/cycle, предполагая использование одной 256-битной AVX SIMD вычислительной единицы. Это даст теоретическую оценку пиковой производительности, учитывающую дисбаланс сложений и умножений.
Рисунки 1 и 2 показывают Roofline модель с верхними границами в 354,9 GFLOP/s и 1049,8 GFLOP/s для 2S-E5 и Xeon Phi соответственно, полученных с помощью этой усредненной версией арифметической интенсивности.
Более реалистичная roofline модель может быть получена при использовании пропускной способности Stream triad бенчамарка умноженной на арифметическую интенсивность вычислительного ядра (390 GFLOP/s и 780 GFLOP/s соответственно). Еще более реалистичную модель можно получить, если учесть некоторый дисбаланс сложений и умножений (с помощью (2)), что показано красной пунктирной линией. Новая верхняя граница будет равна около 298 GFLOP/s для 2S-E5 и 596 GFLOP/s для Xeon Phi. Так как наша модель основана на безупречной модели кэш-памяти, мы предполагаем, что получившиеся значения все еще являются грубой оценкой максимально достижимых значений производительности. Как продемонстрировано в [2], можно улучшить получившийся roofline добавлением некоторых новых сущностей в характеризацию вычислительной системы, как, например, влияние и ограничения кэш памяти.
В данной части учебного пособия излагаются основы организации и функционирования компьютеров. Рассматриваются показатели производительности компьютеров и процессоров, приведена структура компьютера, описаны её основные компоненты. Подробно рассмотрен центральный процессор, включая его структуру, особенности системы команд, принцип конвейерной обработки команд, основные режимы работы, особенности построения и функционирования современных микропроцессоров. Рассмотрены основные характеристики и разновидности устройств памяти, принципы их построения и функционирования. Проиллюстрировано функционирование компьютера при выполнении команд. Настоящее учебное пособие предназначено для студентов, обучающихся по направлению 09.03.02 «Информационные системы и технологии», а также может быть полезно студентам, обучающихся по другим направлениям, связанным с применением компьютеров в различных прикладных областях.
Содержание
Распределённые системы
Данные приведены по состоянию на 26 июля 2011 года
-
— более 161.9 Пфлопс одинарной точности (оценочно, так как bitcoin не использует операций с плавающей точкой [23] ) [24] — более 6,5 Пфлопс [25] — более 6,1 Пфлопс [26] — более 549 Тфлопс [27] — более 490 Тфлопс [28] — более 105 Тфлопс [29]
Оглавление
- Введение
- 1. Основные понятия
- 2. Производительность компьютеров и её оценка
Приведённый ознакомительный фрагмент книги Организация ЭВМ и периферийные устройства предоставлен нашим книжным партнёром — компанией ЛитРес.
2. Производительность компьютеров и её оценка
Производительность компьютера является объективной мерой эффективности его функционирования и используется в качестве одного из основных его технических параметров. Производительность определяется архитектурой и рабочей частотой процессора, пропускной способностью системной шины, типом и объёмом оперативной и кэш-памяти и другими особенностями конфигурации. Кроме того, она зависит от типа используемой ОС, применённых для получения программы трансляторов с языков программирования, конкретных приложений и др.
Таким образом, понятие производительности компьютера является весьма многоплановым, в связи с чем для её оценки используется целый ряд различных показателей.
2.1. Показатели производительности
Различают следующие показатели производительности:
1. Пиковая — максимально достижимая производительность процессорной подсистемы компьютера, включающей процессор, кэш — и оперативную память.
2. Номинальная — средняя производительность процессорной подсистемы компьютера.
3. Системная — средняя производительность всей аппаратно-программной системы ПК в целом, т.е. с учётом обмена данными с жёстким диском, видеосистемой, и другими внешними устройствами, взаимодействия с ОС.
4. Эксплуатационная — производительность компьютера на реальной рабочей нагрузке, с учётом конкретных используемых приложений, например текстовых процессоров, систем автоматизации проектирования, компиляторов и др.
Очевидно, что для обычного пользователя наибольший интерес представляет именно эксплуатационная производительность компьютера на наиболее часто используемых приложениях. Если же набор таких приложений не определён, то используются значения системной, номинальной и пиковой производительности.
2.2. Методы определения показателей производительности
2.2.1. Пиковая производительность
Пиковая производительность — производительность процессорной подсистемы компьютера при выполнении коротких команд, т.е. команд, не выполняющих обращений к оперативной и кэш-памяти. Такие команды обычно связаны с выполнением различных регистровых операций (например, инкремент регистра INC AX, пересылка данных MOV AX, BX) и могут выполняться за один цикл работы процессора.
Таким образом, пиковая производительность — число команд типа «регистр — регистр», выполняемых процессорной подсистемой в единицу времени без учета статистического веса таких команд в реальных программах. Обычно пиковая производительность оценивается для команды типа «Нет операции» (NOP — No OPeration) 2 .
Пиковая производительность зависит как от тактовой частоты процессора, так и от его архитектуры и микроархитектуры. Для выявления эффективности архитектуры и микроархитектуры целесообразно проводить сравнение пиковой производительности процессоров при одинаковой частоте.
2.2.2. Номинальная производительность
Номинальная производительность — среднее число команд, включая команды обмена с оперативной памятью, выполняемых в единицу времени процессорной подсистемой. Используемые при этом наборы команд подбирают с учетом их статистического веса (частоты использования) в популярных приложениях и имитируют реальную нагрузку на процессорную подсистему.
Номинальная производительность измеряется при помощи как абсолютных (количество операций в секунду), так и относительных единиц (программные тесты).
В качестве абсолютных используются следующие единицы:
• количество миллионов инструкций (команд) в секунду, MIPS (Million Instructions Per Second);
• количество операций в секунду над числами с плавающей точкой, FLOPS (FLoating-point Operations Per Second), а также производные единицы MFLOPS, GFLOPS, TFLOPS, PFLOPS и др.
Для оценки номинальной производительности широко используется тестовый пакет SPEC CPU от фирмы SPEC (Standard Performance Evaluation Corporation) 3 . Пакет вычисляет две оценки — SPECint и SPECfp, представляющие целочисленные вычисления и вычисления над числами с плавающей точкой соответственно.
Тест SPECint использует универсальные наборы команд над числами с фиксированной точкой и сбалансирован по типам операций, глобальных и локальных переменных и констант в результате статистического исследования и усреднения по большому числу реальных программ (архивация, компиляция с С, комбинаторная оптимизация, искусственный интеллект, игра в шахматы, сжатие видео). Таким образом, тест фактически оценивает производительность процессорной подсистемы без учёта математического сопроцессора.
Тест SPECfp использует базовые арифметические команды над числами с фиксированной и плавающей точками одинарной и двойной точности с равновероятным распределением команд, операции вычисления тригонометрических функций, логарифмов и др. (распознавание речи, уравнение Максвелла, вычисление 3-мерных моделей в гидравлике, моделирование биомолекулярных систем, имитация отжига, симплес-метод).
Результат измерения выдается в виде коэффициента соотношения производительности тестируемой системы к производительности эталонной системы. В качестве эталонной системы корпорация SPEC выбрала систему Sun «Ultra Enterprise 2» на базе процессора Sun UltraSPARC II с частотой 296 МГц (1997 г.), но с увеличенным объемом кэша и оперативной памяти.
2.2.3. Системная производительность
Результаты оценки системной производительности некоторого компьютера обычно приводятся относительно базового компьютера стандартной конфигурации либо относительно некоторого набора компьютеров. Результаты оформляются в виде сравнительных таблиц, двухмерных и трёхмерных графиков и диаграмм.
Одним из известных тестов системной производительности является Business Winstone 4 . Тест Winstone измеряет среднюю производительность компьютера при выполнении популярных офисных Windows — приложений с учётом величины занимаемого этими приложениями сектора рынка (текстовые процессоры, электронные таблицы, системы управления базами данных, программы деловой графики, издательские системы и т.д.). Результаты теста Winstone представляются в виде индекса производительности относительно базового ПК.
Сектор рынка, занимаемый некоторым приложением, косвенно определяет удельный вес общего компьютерного времени, используемого данным приложением.
Популярным тестом системной производительности является также пакет SYSmark. Он широко используется специалистами по информационным технологиям, производителями компьютерного оборудования, аналитиками и журналистами. Тесты SYSmark SE разделены на два сценария: создание интернет-контента и офисная производительность. В тесте создания интернет-контента можно выделить три тестовые группы: 3D-графика, 2D-графика и web-публикация. Сценарий офисной производительности также разделён на три тестовые группы: связь (электронная почта, календарь и просмотр web-страниц), создание документов и анализ данных. Приложения запускаются не последовательно, одно за другим (как в предыдущих версиях), а одновременно, и в процессе прохождения теста осуществляется переключение между ними, что точнее соответствует реальным условиям типичной офисной работы.
2.2.4. Эксплуатационная производительность
Эксплуатационная производительность — производительность компьютера (либо его компонента или подсистемы) при выполнении конкретных приложений. Так, например, если компьютер предполагается использовать преимущественно для решения задач автоматизации проектирования, то целесообразно протестировать его тестами AutoCAD, которые интегрально оценивают производительность ПК на этой нагрузке. Соответственно оценивается производительность тестами С Сomplier (тест компиляции с языка Си), Adobe Photoshop (тест фотоэффектов программы PhotoShop), текстовых процессоров (загрузка, прокрутка, печать документов, поиск/замена фрагментов текста), Quake (игровой тест) и т.д.
В случае систематического использования на компьютере нескольких приложений для оценки эксплуатационной производительности может быть сформирован интегральный показатель на основе определения весовых коэффициентов отдельных приложений.
2.3. Производительность процессоров
Достаточно продолжительное время основной мерой производительности процессоров и компьютеров в целом служила их тактовая частота. Однако по мере усложнения внутренней организации микропроцессоров (кэш-память, конвейерная обработка, суперскалярность, многоядерность и т.д.) этот параметр утратил своё определяющее значение. В настоящее время для оценки производительности процессоров используется ряд специальных единиц.
Для измерения производительности своих 32-разрядных процессоров фирма Intel в 1992 г. предложила следующую единицу: индекс относительной производительности микропроцессоров Intel, называемый iCOMP Index (Intel COmparative Microprocessor Performance Index).
В 1996 г. была введена новая единица — iCOMP Index 2.0, ориентированная на Pentium (MMX) — процессоры. При вычислении этого индекса полностью исключены 16-битные операции и добавлен мультимедийный тест (≈20 %).
FLOPS (также flops, flop/s, флопс или флоп/с) (акроним от англ. FLoating-point Operations Per Second , произносится как флопс) — внесистемная единица, используемая для измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой в секунду выполняет данная вычислительная система. Существуют разногласия насчёт того, допустимо ли использовать слово FLOP, и что оно может означать. Некоторые считают, что FLOP и FLOPS — синонимы, другие же полагают, что FLOP (или flop или флоп, от англ. FLoating point OPeration ) — это просто количество операций с плавающей запятой (например, требуемое для исполнения данной программы).
Поскольку современные компьютеры обладают высоким уровнем производительности, более распространены производные величины от FLOPS, образуемые путём использования кратных приставок системы СИ.
Краткий обзор
Статья описывает характеризацию (прим. переводчика — характеризация — выявление характерных признаков) и методологию оптимизации 3D алгоритма конечных разностей (3DFD), который используется для решения акустического волнового уравнения с константной или переменной плотностью изотропной среды (Iso3DFD). Начиная с простейшей реализации 3DFD, мы опишем методологию для оценки наилучшей производительности, которая может быть получена для данного алгоритма, с помощью его характеризации на конкретной вычислительной системе.
Флопс как мера производительности
Как и большинство других показателей производительности, данная величина определяется путём запуска на испытуемом компьютере тестовой программы, которая решает задачу с известным количеством операций и подсчитывает время, за которое она была решена. Наиболее популярным тестом производительности на сегодняшний день является программа Linpack, используемая, в том числе, при составлении рейтинга суперкомпьютеров TOP500.
Одним из важнейших достоинств показателя флопс является то, что он до некоторых пределов может быть истолкован как абсолютная величина и вычислен теоретически, в то время как большинство других популярных мер являются относительными и позволяют оценить испытуемую систему лишь в сравнении с рядом других. Эта особенность даёт возможность использовать для оценки результаты работы различных алгоритмов, а также оценить производительность вычислительных систем, которые ещё не существуют или находятся в разработке.
Суперкомпьютеры
- Компьютер ЭНИАК, построенный в 1946 году, при массе 27 т и энергопотреблении 150 кВт, обеспечивал производительность в 300 флопс
- IBM 709 (1957) — 5 Кфлопс
-
(1968) — 1 Мфлопс (операций деления) (1974) — 160 Мфлопс (1980-х) — 6 Мфлопс (операций деления) (1984) — 125 Мфлопс
-
(1985) — 1,9 Гфлопс
- Cray Y-MP (1988) — 2,3 Гфлопс (1991, двухмашинный вариант) — 500 Мфлопс
- ASCI Red (1993) — 1 Тфлопс
- Fujitsu FX-1 (2008) — 121 Tфлопс [8] (2006) — 478,2 Тфлопс
-
(2008) — 1,059 Пфлопс (2008) — 1,042 Пфлопс [9] (2011) — 1,3 Пфлопс (2009) — 1,759 Пфлопс
- Fujitsu K (2010) — 11 Пфлопс [8] (2010) — 2,507 Пфлопс (2011) — 10,51 Пфлопс [10] (2012) — 16,32 Пфлопс [11] (бывш. Cray Jaguar; 2012) — >17,59 пфлопс [12]
Неоднозначность определения
Существует несколько сложностей при определении вычислительной мощности суперкомпьютера. Во-первых, следует иметь ввиду, что производительность системы может сильно зависеть от типа выполняемой задачи. В частности, отрицательно сказывается на вычислительной мощности необходимость частого обмена данных между составляющими компьютерной системы, а также частое обращение к памяти. В связи с этим выделяют пиковую вычислительную мощность — гипотетически максимально возможное количество операций над числами с плавающей запятой в секунду, которое способен произвести данный суперкомпьютер.
Важную роль играет также разрядность значений, обрабатываемых программой (обычно имеется в виду формат чисел с плавающей запятой). Так, например, для графических карточек NVIDIA Tesla (2 ранних поколений) максимальная производительность в режиме 32 бит составляет порядка 1 Терафлопс, однако при проведении вычислений с двойной точностью (64 бит) она ниже примерно в 10 раз.
Границы применимости
Несмотря на кажущуюся однозначность, в реальности флопс является достаточно плохой мерой производительности, поскольку неоднозначным является уже само его определение. Под «операцией с плавающей запятой» может скрываться масса разных понятий, не говоря уже о том, что существенную роль в данных вычислениях играет разрядность операндов, которая также нигде не оговаривается. Кроме того, величина флопс подвержена влиянию очень многих факторов, напрямую не связанных с производительностью вычислительного модуля, таких как: пропускная способность каналов связи с окружением процессора, производительность основной памяти и синхронность работы кэш-памяти разных уровней.
Всё это, в конечном итоге, приводит к тому, что результаты, полученные на одном и том же компьютере при помощи разных программ, могут существенным образом отличаться, более того, с каждым новым испытанием разные результаты можно получить при использовании одного алгоритма. Отчасти эта проблема решается соглашением об использовании единообразных тестовых программ (той же LINPACK) с усреднением результатов, но со временем возможности компьютеров «перерастают» рамки принятого теста и он начинает давать искусственно заниженные результаты, поскольку не задействует новейшие возможности вычислительных устройств. А к некоторым системам общепринятые тесты вообще не могут быть применены, в результате чего вопрос об их производительности остаётся открытым.
Так, например, 24 июня 2006 года общественности был представлен суперкомпьютер MDGrape-3, разработанный в японском исследовательском институте RIKEN (Йокогама), с рекордной теоретической производительностью в 1 Пфлопс. Однако данный компьютер не является компьютером общего назначения и приспособлен для решения узкого спектра конкретных задач, в то время как стандартный тест LINPACK на нём выполнить невозможно в силу особенностей его архитектуры.
Также высокую производительность на специфичных задачах показывают графические процессоры современных видеокарт и игровые приставки. К примеру, заявленная производительность игровой приставки Xbox 360 составляет 1 Тфлопс, а приставки PlayStation 3 и вовсе 2 Тфлопс, что ставит их в один ряд с суперкомпьютерами начального уровня. Столь высокие показатели объясняются тем, что указана производительность над числами 32-битного формата [1] [2] , тогда как для суперкомпьютеров обычно указывают производительность на 64-разрядных данных [3] [4] . Кроме того, данные приставки и видео-процессоры рассчитаны на операции с трёхмерной графикой, хорошо поддающиеся распараллеливанию, однако эти процессоры не в состоянии выполнять многие задачи общего назначения, и их производительность сложно оценить классическим тестом LINPACK [5] и тяжело сравнить с другими системами.
Карманные компьютеры
- КПК на основе процессора Samsung S3C2440 400 МГц (архитектура ARM9) — 1,3 Мфлопс
- Intel XScale PXA270 520 МГц — 1,6 Мфлопс
- Intel XScale PXA270 624 МГц — 2 Мфлопс
- Samsung Exynos 4210 2х1600 МГц — 84 Мфлопс
Обзор производительности реальных систем
Из-за высокого разброса результатов теста LINPACK, приведены примерные величины, полученные путём усреднения показателей на основе информации из разных источников. Производительность игровых приставок и распределённых систем (имеющих узкую специализацию и не поддерживающих тест LINPACK) приведена в справочных целях в соответствии с числами, заявленными их разработчиками. Более точные результаты с указанием параметров конкретных систем можно получить, например, на сайте The Performance Database Server.
Процессоры персональных компьютеров
-
Athlon 64 2,211 ГГц (2003) — 8 Гфлопс [17]Athlon 64 X2 4200+ 2,2 ГГц (2006) — 13.2 Гфлопс
- Intel Core 2 Duo 2,4 ГГц (2006) — 19,2 Гфлопс [18] Athlon II X4 640 (ADX640W) 3.0 ГГц (2010) — 37.39 Гфлопс
- Intel Core 2 Quad Q8300 2,5 ГГц — 40 Гфлопс [19]
- Intel Core i7-975 XE 3,33 ГГц (2009) — 53.328 Гфлопс [20]
- CPU AMD Phenom II X6 1075T (HDT75TFB) 3.0 ГГц/6core/ 3+6Мб/125 Вт/4000 МГц Socket AM3 — 55.6094 Гфлопс [21]
- Intel Core i5-2500K 3.3-3.7 ГГц (2011) — 105,6-118 Гфлопс [22] [уточнить] — 2,1 Гфлопс
GPU-процессоры
Теоретическая производительность (FMA; гигафлопсы):
GPU | GFLOPS с точностью 32 бита | GFLOPS с точностью 64 бита | Источник |
---|---|---|---|
GeForce GTX 590 | 2x1253,4 = 2507.4 | 2x 156,7 = 313.4 | [33] |
GeForce GTX 580 | 1581,1 | 197,6 | [33] |
Radeon HD 7970 | 3789 | 947 | [34] |
Radeon HD 6990 | 2x2550 = 5100 | 2x 637 = 1274 | [34] |
Radeon HD 5970 (AIB vendors) | 2x 2320 = 4640 | 2x 464 = 928 | [34] |
Наиболее мощные суперкомпьютеры
По состоянию на ноябрь 2009 года наиболее мощными суперкомпьютерами являются [1] :
-
— располагается в США в национальной лаборатории Оук-Ридж, основан на серверных процессорахAMD Opteron. Создан компанией Cray Inc. — располагается в США в Лос-Аламосской национальной лаборатории. Первый суперкомпьютер, пиковая производительность которого превысила уровень 1 Петафлопса [5] . Создан компанией IBM. Особенностью является использование гибридной архитектуры, в которой основная вычислительная мощность обеспечивается процессорами Cell.
- Kraken XT5 — располагается в США в университете Теннесси. Создан Cray Inc.
- JUGENE — располагается в Германии в Исследовательском центре Юлиха. Разработан в рамках проекта Blue Gene компанией IBM.
- Tianhe-1 — первый китайский суперкомпьютер петафлопсного класса [6] . Создан Национальным университетом оборонных технологией Китая. Особенностью архитектуры является наличие графических карт ATI Radeon HD 4870, сравнительно недавно предложенных для использования в сверхпроизводительных решениях.
Наивысшее место, занятое Россией - 12-е в ноябре 2009 года, с суперкомпьютером Ломоносов [1] .
Введение
Метод конечных разностей во временной области – широко применяемая техника моделирования волн, например, для анализа волновых явлений и сейсморазведки. Этот метод популярен при использовании таких техник сейсмического анализа, как обратная временная миграция (reverse time migration) и полноволновая инверсия (full waveform inversion). Разновидности метода включают рассмотрение волн как акустических или упругих, а среда распространения может являться анизотропной, при этом плотность может также варьироваться.
Как известно, выбор конкретной численной схемы для аппроксимации частных производных имеет сильное влияние на производительность реализации [1]. В частности, это влияет на арифметическую интенсивность (число операций с плавающей запятой на каждое пересланное машинное слово) 3DFD алгоритма. Данная арифметическая интенсивность может быть далее связана с ожидаемой производительностью, используя методологию roofline моделирования [2]. Эта методология позволяет оценить уровень производительности реализации относительно максимально достижимой на конкретной вычислительной системе. То есть, roofline модель устанавливает рамки роста производительности, которая может быть достигнута с помощью оптимизации исходного кода программы. После того, как производительность реализации достигла определенного уровня, дальнейший рост производительности может быть получен только с помощью изменения самого алгоритма.
Для любого данного компьютера, его спецификация определяет пиковые значения для количества операций с плавающей запятой (FLOP/s) и для пересылок данных из памяти или в память (пропускная способность памяти). Соответствующие максимально достижимые показатели могут быть получены путем запуска стандартных бенчмарков как LINPACK [3] и STREAM triad [4].
Первая часть статьи будет нацелена на оценку максимально достижимой производительности ядра алгоритма Iso3DFD на двухсокетном сервере и сопроцессоре. Далее мы опишем несколько техник которые могут иметь важное влияние на производительность. Как обычно, такие оптимизации могут потребовать некоторых усилий и модификации исходного кода. После этого мы покажем вспомогательное средство для нахождения, если не наилучшего, то в какой-то степени оптимального набора параметров для компиляции и запуска приложения.
Причины широкого распространения
Несмотря на большое число существенных недостатков, показатель флопс продолжает с успехом использоваться для оценки производительности, базируясь на результатах теста LINPACK. Причины такой популярности обусловлены, во-первых, тем, что флопс, как говорилось выше, является абсолютной величиной. А во-вторых, очень многие задачи инженерной и научной практики в конечном итоге сводятся к решению систем линейных алгебраических уравнений, а тест LINPACK как раз и базируется на измерении скорости решения таких систем. Кроме того, подавляющее большинство компьютеров (включая суперкомпьютеры) построены по классической архитектуре с использованием стандартных процессоров, что позволяет использовать общепринятые тесты с большой достоверностью.
Для подсчета максимального количества FLOPS для процессора нужно учитывать, что современные процессоры в каждом своём ядре содержат несколько исполнительных блоков каждого типа (в том числе и для операций с плавающей точкой), работающих параллельно, и могут выполнять более одной инструкции за такт. Данная особенность архитектуры называется суперскалярность и впервые появилась ещё в самом первом процессоре Pentium в 1993 году. Современное ядро Intel Core 2 так же является суперскалярным и содержит 2 устройства вычислений над 64-битными числами с плавающей запятой, которые могут завершать по 2 связанные операции (умножение и последующее сложение, MAC) в каждый такт, теоретически позволяющих достичь пиковой производительности до 4-х операций за 1 такт в каждом ядре [6] [7] . Таким образом, для процессора, имеющего в своём составе 4 ядра (Core 2 Quad) и работающего на частоте 3.5ГГц, теоретический предел производительности составляет 4х4х3.5=56 гигафлопс, а для процессора, имеющего 2 ядра (Core 2 Duo) и работающего на частоте 3ГГц — 2х4х3=24 гигафлопс, что хорошо согласуется с практическими результатами, полученными на тесте LINPACK. Типичная производительность теста LINPACK составляет 80-95 % от теоретического максимума.
Содержание
Читайте также: