автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.17, диссертация на тему:Разработка и исследование аналитического метода оценки вычислительной способности компьютеров

кандидата технических наук
Ракитский, Антон Андреевич
город
Новосибирск
год
2015
специальность ВАК РФ
05.13.17
Автореферат по информатике, вычислительной технике и управлению на тему «Разработка и исследование аналитического метода оценки вычислительной способности компьютеров»

Автореферат диссертации по теме "Разработка и исследование аналитического метода оценки вычислительной способности компьютеров"

На правах рукописи

Ракитский Антон Андреевич

РАЗРАБОТКА И ИССЛЕДОВАНИЕ АНАЛИТИЧЕСКОГО МЕТОДА ОЦЕНКИ ВЫЧИСЛИТЕЛЬНОЙ СПОСОБНОСТИ КОМПЬЮТЕРОВ

Специальность 05.13.17 - Теоретические основы информатики

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

3 МАР 2015

Новосибирск-2015

005559864

005559864

Работа выполнена на Кафедре прикладной математики и кибернетики Федерального государственного образовательного бюджетного учреждения высшего профессионального образования «Сибирский государственный университет телекоммуникаций и информатики» (ФГОБУ ВПО «СибГУТИ») Федерального агентства связи.

Научный руководитель: доктор технических наук, профессор,

Рябко Борис Яковлевич

Официальные оппоненты: доктор технических наук, профессор,

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Новосибирский государственный технический университет», кафедра теоретической и прикладной информатики, главный научный сотрудник,

Лемешко Борис Юрьевич

доктор физико-математических наук, профессор, Федеральное государственное бюджетное учреждение науки Институт математики им. С. Л. Соболева Сибирского отделения Российской академии наук, ведущий научный сотрудник,

Соловьева Фаина Ивановна

Ведущая организация: Федеральное государственное автономное

образовательное учреждение высшего профессионального образования «Московский физико-технический институт (государственный университет)»

Защита состоится в /Ь часов на заседании диссертационного совета

Д 219.005.02 при ФГОБУ ВПО «Сибирский государственный университет телекоммуникаций и информатики» по адресу: 630102, г. Новосибирск, ул. Кирова, 86.

С диссертацией можно ознакомиться в библиотеке ФГОБУ ВПО «СибГУТИ».

Автореферат разослан «/^ » 2015 г.

Ученый секретарь / /

Диссертационного совета Д 219.005.02 / .

кандидат технических наук, доцент [да) Резван И.И.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность исследования В последние десятилетия компьютерная техника проникла практически во все сферы деятельности человека, вычислительные модули устанавливаются в обычные бытовые устройства вроде чайника или стиральной машины. И с каждым годом требования к производительности компьютеров и устройств с вычислительными модулями только увеличиваются. Например, современные мобильные телефоны уже имеют более высокую производительность, чем была у самых мощных настольных компьютеров десять лет назад. Основными частями компьютера, определяющими его производительность, являются процессор и память различных типов. Количество владельцев компьютеров ежегодно растёт, и производители компьютеров под давлением высокого спроса постоянно наращивают объемы выпуска вычислительных модулей для электронных устройств, разрабатывают новые модели процессоров. И перед компаниями, занимающимися производством вычислительных модулей и перед рядовыми пользователями остро стоит вопрос объективной оценки и сравнения производительности различных компьютеров. Для пользователей важной задачей является сравнение компьютеров, и выбор наиболее экономичного варианта, который при этом способен решать стоящие перед пользователем задачи. Производителям же требуется сравнивать производительность новых разрабатываемых компьютеров с уже существующими моделями, в том числе с моделями конкурентов. С похожей задачей сталкиваются и клиенты на облачных сервисах, на которых арендуют вычислительные мощности. Они сами определяют архитектуру и устройство облачной вычислительной системы: количество вычислительных узлов, их состав, объёмы памяти различных видов. Клиенты облачных сервисов рассматривают различные конфигурации системы и определяют, какая из них будет более подходящей, для чего необходимо оценивать и сравнивать их производительность.

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

По темам, связанным с исследованием методов оценки производительности компьютеров, проводятся многочисленные международные конференции, а также существует ряд международных

з

научных журналов, занимающихся этим вопросом. В этой области работает ряд научных центров, принадлежащих производителям компьютеров, кроме того, создано множество независимых некоммерческих организаций. Самой крупной и известной из таких организаций является SPEC (Standart Performance Evaluation Corporation), членами которой являются многие разработчики и производители электронных устройств, например, ACER, AMD, Apple, Dell, Fujitsu, Hitachi, HP, IBM, Intel, Samsung. Эта организация существует с 1988 года и основной своей целью ставит разработку стандартизированного, максимально объективного бенчмарка. Несмотря на большое количество исследователей производительности компьютеров, аналитических методов оценки их производительности до недавнего времени не было.

Впервые метод теоретической оценки производительности компьютеров на основе определения их вычислительной способности был опубликован Б.Я. Рябко в 2012 году1. Данный метод базируется на идеях теории информации и для его применения требуется только информация об архитектуре исследуемого компьютера (список инструкций процессора, время их выполнения, объемы всех видов памяти). Автором диссертации было проведено исследование предложенного метода на предмет применимости к современным компьютерам, которые имеют более сложную структуру, чем описанные в работе Рябко Б.Я., в современных компьютерах могут использоваться одновременно несколько конвейеров, кэш-память нескольких уровней и многие другие механизмы. На основе исследования был предложен метод для оценки вычислительной способности современных компьютеров. Были исследованы основные процессоры Intel и AMD, определена их вычислительная способность при помощи предложенного метода, а также проведено исследование и сравнение производительности суперкомпьютеров, построенных на основе этих процессоров. Кроме того, из полученных результатов видно, что аналогичный подход может быть применён для оценки и сравнения мобильных телефонов и многих других телекоммуникационных устройств. Полученные в ходе работы результаты сравниваются с результатами общепризнанных бенчмарков, исходя из чего, делаются выводы о высокой точности и применимости метода.

Цель работы - разработка и экспериментальное исследование аналитического метода оценки вычислительной способности современных компьютеров, применение этого метода для оценки вычислительной способности реальных компьютеров на базе процессоров Intel и AMD и анализ полученных результатов. Кроме того, целью работы является разработка метода оценки суперкомпьютеров на базе метода, предложенного Рябко Б.Я., и его экспериментальное применение для оценки вычислительной способности существующих суперкомпьютеров, а так же анализ полученных результатов.

1 Ryabko B. An information-theoretic approach to estimate the capacity of processing units. Performance Evaluation. 2012. V. 69, P. 267-273.

4

Объектом исследований в данной работе является производительность компьютеров и других вычислительных систем, в том числе и суперкомпьютеров, методы её оценки, а так же архитектура и устройство реальных компьютеров на базе процессоров Intel и AMD.

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

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

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

1. Разработка и исследование метода аналитической оценки производительности компьютеров и вычислительных систем.

2. Применение метода для определения вычислительной способности реально существующих компьютеров на базе процессоров Intel и AMD, кластеров и суперкомпьютеров из списков TOPSOO и НРСС.

3. Оценка точности метода путём сравнения полученных результатов с результатами общепризнанных бенчмарков.

Методы исследования В процессе проведения исследований были использованы основные положения и методы теории информации, вычислительные методы.

Результаты, выносимые на защиту

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

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

3. Высокая точность предлагаемого метода, показанная путём сравнения с общепризнанными бенчмарками.

Научная новизна результатов работы

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

2. При помощи предложенного метода впервые была теоретически оценена вычислительная способность современных компьютеров на базе процессоров Intel и AMD, а полученные результаты сравнены с результатами бенчмарков. При этом сравнение показало, что метод может применяться наравне с бенчмарками, однако имеет гораздо меньшую трудоёмкость.

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

Практическая ценность полученных результатов

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

2. Для современных компьютеров на базе процессоров Intel и AMD при помощи разработанного метода была произведена теоретическая оценка их производительности. Полученные результаты позволяют говорить о возможности применения метода для оптимизации процесса разработки новых компьютеров.

3. Для ряда суперкомпьютеров из списков ТОР-500 и НРСС была произведена теоретическая оценка их производительности. Из результатов следует, что метод может быть применён на этапе разработки суперкомпьютера с целью оптимизации его архитектуры. Кроме того,

показано как метод может быть применён для оптимизации конфигурации облачных высокопроизводительных систем.

Реализация и внедрение результатов работы Основные результаты использованы при выполнении следующих проектов и государственных программ:

• Проект Федеральной целевой программы «Разработка теоретико-информационных методов оценки и повышения производительности компьютерных систем и сетей передачи данных» гос. контракта № 8229 от 6 августа 2012 года.

• Проект Федеральной целевой программы «Эффективные методы построения защищенных высокоскоростных каналов передачи цифровых данных для предоставления доступа к широкополосным мультимедийным услугам» гос. контракта № 8329 от 17 августа 2012 года.

• Гранты для выполнения научных исследований аспирантами, магистрантами и молодыми преподавателями ФГОБУ ВПО «СибГУТИ», 2013 г.

Результаты работы внедрены:

• В учебный процесс на кафедре ПМиК в программу курса «Криптографические методы защиты информации» (специалист) по направлению 090302 «Информационная безопасность телекоммуникационных систем»;

• Технология оценки вычислительной способности была внедрена в научно-образовательный центр по разработке и внедрению информационных технологий СибГУТИ для наукоемких и промышленных предприятий города Новосибирска, созданный в соответствии с соглашением о предоставлении в 2013 году субсидии из областного бюджета Новосибирской области. Технология используется в центре для разработки практических методов оценки производительности реальных процессоров.

• Методы оценивания вычислительной способности, предложенные в диссертационной работе, использованы при построении вычислительного комплекса и системы обработки данных ИВТ СО РАН с целью оптимизации его структуры

Апробация работы

Основные результаты данной работы докладывались и обсуждались на следующих российских и международных конференциях и семинарах:

• 2012 XIII International Symposium on Problems of Redundancy (St.-Petersburg, 5-10 Sept., 2012).

• XIV Российская конференция с участием иностранных ученых «Распределительные информационные и вычислительные ресурсы» (DICR'2012). (Россия, Новосибирск, 26-30 ноября 2012 г.).

• Всероссийская конференция Индустриальные информационные

системы -2013 (Россия, Новосибирск, 24-28 сентября 2013 г).

• Научный семинар СибГУТИ (Россия, Новосибирск, 17 сентября

2013 г).

• Научный семинар ИМ СО РАН «Теория кодирования» (Россия,

Новосибирск, 9 декабря 2014 г).

Публикации По теме диссертации опубликовано 11 работ, в числе которых 8 статей в журналах и сборниках, из которых 4 входят в список ВАК.

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

Структура и объем работы Диссертация содержит 132 страницы текста и состоит из введения, трёх глав, заключения, списка литературы и приложений. Работа содержит 17 таблиц и 18 рисунков. Список литературы включает в себя 50 источников.

КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

Предложенный метод оценки производительности современных компьютеров основывается на методе Рябко Б.Я., суть которого заключается в том, что он позволяет аналитически оценить вычислительную способность компьютеров и подобных им устройств. При определении вычислительной способности требуется только описание архитектуры исследуемого компьютера: список инструкций, время их выполнения, объёмы всех видов

8

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

Рассмотрим упрощённую модель компьютера, который состоит из набора инструкций / и доступной памяти М. Отметим, что под инструкцией х € I подразумевается не только её название, но и значения всех её операндов. Таким образом, если у нас существуют две инструкции с одним именем, но с разными значениями операндов, то они будут считаться различными и обе будут включены в набор I.

Определим процессорную задачу Р как некоторую последовательность инструкций дс(Р) = х1,х2, —,Xi е /. При этом, если задача Р содержит цикл, который повторяется, например, пять раз, то последовательность х(Р) будет содержать в себе тело этого цикла, повторяющееся пять раз. Очевидно, что не все последовательности инструкций могут быть допустимы. Например, возможно существование пары инструкций, при последовательном выполнении которых в процессоре может произойти ошибка. Определим множество всех допустимых последовательностей инструкций как Sc, тогда любая процессорная задача в нашей модели может быть представлена как некоторая последовательность из Sc. При этом верно и обратное: любая последовательность из множества Sc является процессорной задачей в рассматриваемой модели компьютера.

Пусть время выполнения инструкции х равно т(х). Для простоты будем

считать, что для всех инструкций время их выполнения является целым числом,

а также, что наибольший общий делитель всех т(х), х £ I, равен 1. (Это

уточнение верно для большинства процессоров, т.к. в качестве времени

выполнения можно всегда рассматривать количество тактов процессора, и

всегда существует простейшая инструкция, время выполнения которой

равняется единице, т.е. т(д:) = 1). В данной работе это допущение позволит

нам использовать lim вместо lim sup , когда будем описывать

вычислительную способность. Таким образом, время выполнения т(Х)

последовательности инструкций х = xix2x3 ... xt описывается формулой:

t

т(ж) = ^ т(х,) ¿=1

Определим количество различных задач, время выполнения которых равно Т, как 19(Г). Пусть N(T) будет размером множества всех допустимых последовательностей инструкций, чьё время выполнения так же равно Т, т.е.

ЛГ(Г) = |{;с:тСс) = Г}|. (1)

Основная идея здесь заключается в следующем:

ед = N(TI (2)

Отсюда следует

log 0(Г) = log N(n (3)

Здесь и выше считаем, что Т целое число, logx = 1о§2 х, а |К| - это количество элементов У, если У является множеством, либо длина, если К является словом. Другими словами, количество различных процессорных задач, выполняемых за время Г, эквивалентно (1).

Определение. Пусть есть некоторый компьютер с набором инструкций I и т(х) — время выполнения инструкции х ЕI. Тогда вычислительная способность С(Г) задаётся следующим образом:

где Л/(Г) определено в (1).

Утверждение. Предел (4) существует, если I конечное множество, время выполнения т(х), х £ I целые числа и наибольший общий делитель всех т(х),х € I, равен 1.

Рассмотрим случай, когда все последовательности инструкций допустимы. На самом деле, это является справедливым для большинства современных процессоров, в которых допускаются любые действия и операции, но в случае возникновения ошибки просто происходит прерывание. Другими словами, если рассматривать / как алфавит, то все последовательности букв (инструкций) могут быть выполнены. В таком случае можно применить метод для определения емкости канала без потерь, предложенный Шенноном. Важно отметить, что этот метод используется для получения верхней оценки вычислительной способности.

Пусть, как и ранее, есть компьютер с множеством инструкций /, время выполнения которых составляет т(дг), х £ /, и все последовательности инструкций допустимы. Другими словами, если представить / как алфавит, то все слова, образованные этим алфавитом, могут рассматриваться как допустимые последовательности инструкций для компьютера. Основная задача, которую необходимо решить - это оценка вычислительной способности (4). Решение было предложено К. Шенноном, который показал, что ёмкость С(/) эквивалентна логарифму наибольшего корня следующего уравнения:

+ + ... + Х~т<-Х^ = 1, (5)

где I = {х1г Другими словами, С(/) =

Рассмотрим основную идею предлагаемого метода на следующем примере. Пусть компьютер состоит из памяти и процессора, который выполняет все инструкции процессорной задачи последовательно, друг за другом. Память компьютера составляет 1024 однобайтовых ячейки. Помимо этого, процессор имеет 4 регистра (назовём их А, В, С, Б) и аккумулятор для выполнения вычислений. Все регистры и аккумулятор так же будут иметь размер 1 байт. Список инструкций и их подробное описание представлены в табл. 1.

Таблица 1. Список инструкций рассматриваемого примера модели компьютера. ___

Наименование инструкции Список операндов Описание инструкции Время выполнения, с

Load регистр, ячейка памяти Загружает данные из ячейки памяти в регистр 5

Mov регистр, регистр Помещает данные из регистра в регистр 2

Save ячейка памяти, регистр Сохраняет данные из регистра в ячейку памяти 9

MovA регистр Помещает данные из регистра в аккумулятор 1

MovR Регистр Помещает данные из аккумулятора в регистр 1

Add Регистр Складывает данные из регистра с данными аккумулятора. Значение сохраняется в аккумуляторе 3

Mul Регистр Умножает данные из регистра на данные из аккумулятора. Значение сохраняется в аккумуляторе 6

Clr Очистка аккумулятора 1

На основе представленного списка инструкций построим уравнение (5): 4096 16 4096 4 4 4 4 1

--1---1---1---1---1---1---1--= 1

X5 X2 X9 X1 X1 х3 X6 X1

_ 4096

Рассмотрим слагаемые полученного уравнения. Слагаемое -^j-соответствует первой команде Load, которая в качестве операндов использует один из 4-х регистров и одну из 1024х ячеек памяти, откуда и получается 4096 возможных варианта этой инструкции. В случае второго слагаемого мы считаем, что пересылка, где в качестве отправителя и получателя участвует один и тот же регистр, является допустимой. Решив это уравнение, получим С(/) « Iog2 2.1332 « 1.093 бит/сек.

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

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

11

процессоров и приводятся результаты расчётов. Полученные результаты сравниваются с результатами общепризнанных бенчмарков и на основе данного сравнения делаются выводы о точности метода.

Прежде всего, следует понять механизм работы с кэш-памятью. В современных процессорах существует такое понятие, как кэш-память. Смысл её заключается в ускорении получения доступа до часто используемых данных. Принцип работы заключается в следующем: кэш-память располагается в процессоре и поэтому время обращения к ней существенно меньше, чем время обращения к оперативной памяти, поэтому при запросе каких-либо данных из памяти, процессор обращается в кэш-память и определяет, нет ли этих данных там. Если требуемые данные в кэш-памяти не обнаружены, то тогда процессор уже обращается к оперативной памяти. Тогда время работы инструкции, у которой в качестве операнда присутствует ячейка памяти, и при этом помимо оперативной памяти у процессора есть кэш-память 1-го и 2-го уровней, будет строиться следующим образом: пусть тм,т£1,т£2 - это время обращения к оперативной памяти, кэш-памяти первого уровня и кэш-памяти второго уровня соответственно. Тогда в случае, если инструкция обращается только к кэшпамяти первого уровня, то время обращения будет т^. Если инструкция обращается к кэш-памяти второго уровня, то время будет уже т^ + т1г, т.е. это будет сумма времён обращения к кэш-памяти первого уровня (где данные обнаружены не будут) и к кэш-памяти второго уровня. И если данные не были обнаружены в кэш-памяти, то время обращения составит тЬг + т£г + тм, сумма времен обращения ко всем уровням памяти. Для рассматриваемого метода это особенно важно, так как все три типа обращений к памяти будут различными операциями и входить в множество /. Таким образом, если некоторая инструкция в качестве операнда использует ячейку памяти, то мы её рассматриваем как несколько различных типов инструкций, в зависимости от количества уровней кэш-памяти. Каждый из этих типов инструкций обращается либо к кэш-памяти определённого уровня, либо к оперативной памяти, от чего зависит время его выполнения. Количество различных инструкций также будет зависеть от того, к памяти какого типа мы обращаемся для получения данных.

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

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

В архитектуре процессоров семейства Р5 впервые использовалось два конвейера, но в этих процессорах были существенные ограничения, которые не позволяли в полной мере утверждать о параллельной работе двух конвейеров. Рассмотрим работу этих двух конвейеров. Назовем их U-конвейер и V-конвейер. При выполнении определённых условий, возможно выполнение одновременно двух инструкций и это может удвоить скорость работы процессора. Однако эти условия выполняются далеко не всегда.

Согласно условиям выполнения операций на U и V конвейерах, все целочисленные операции можно разбить на четыре группы (инструкции, которые могут быть распараллелены и выполняться на обоих конвейерах; инструкции, которые могут быть распараллелены, но могут выполняться только на U-конвейере; инструкции, которые могут выполняться на обоих конвейерах, но распараллеливаться могут, только если выполняются на V-конвейере; инструкции, которые не могут выполняться параллельно с другими и выполняются только на U-конвейере).

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

Х(Р) = х1,х2,х3, ...хп, Х( е I. Известно, что некоторые подряд идущие пары инструкций могут выполняться одновременно, поэтому эти пары инструкций можно рассматривать как индивидуальные инструкции.

Это означает, что набор инструкций I может быть преобразован в набор инструкций /', который содержит не только одиночные инструкции из оригинального набора, но и пары инструкций, которые могут выполняться одновременно (первая на U-конвейере, а вторая - на V-конвейере).

Теперь, когда список инструкций определен, можно легко найти наибольшее целочисленное решение Х0 характеристического уравнения (5) и определить вычислительную способность.

Отдельно рассмотрим инструкции для выполнения операций с плавающей запятой. Эти инструкции входят в блок FPU и также могут быть распараллелены. В этом блоке инструкций образуется две группы распараллеливания (инструкции, которые могут выполняться параллельно с инструкцией FXCH, инструкции, которые выполняются последовательно и только на u-конвейере).

Рассмотрим результаты применения метода определения вычислительной способности для оценки и сравнения процессоров Intel 80486, Intel Pentium и Intel Pentium MMX. На рис. 1 показаны графики сравнения процессоров при

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

Рисунок 1. Попарное сравнение ранних процессоров Intel.

Процессоры семейства Р6 выгодно отличаются от предыдущего поколения. Архитектура процессоров семейства Р6 на самом деле радикально отличается от всех предыдущих процессоров. К этому семейству относятся процессоры Pentium Pro, Pentium II и Pentium III. Более того, она стала базовой для большинства современных процессоров, поэтому ей следует уделить особое внимание. В процессорах семейства Р6 появилось много важных нововведений, но основное - это разбиение инструкции на микрооперации. Смысл заключается в том, чтобы разбить сложную инструкцию на простейшие микрооперации, которые выполняются относительно быстро и теоретически возможно их одновременное выполнение. Рассмотрим подробнее работу процессоров этого семейства.

Прежде всего, инструкции в виде обработанного ifetch-блока поступают в блок декодирования длины инструкции. Очевидно, что определить длину второй инструкции, не определив длину первой в блоке, довольно сложно, и

именно так устроен классический декодер длины, определяет длины последовательно. В процессорах семейства Р6 используется декодер длины инструкций, который может за один такт определять длины трёх инструкций, что необходимо для обеспечения параллелизма в последующих вычислениях. Дальше инструкции поступают непосредственно в декодер инструкций. Он состоит из трёх декодеров, которые работают параллельно, однако принципы их работы немного отличаются. Декодеры назовём DO, D1 и D2. Декодер DO может декодировать за один такт инструкции, которые генерируют не более 4-х микроопераций. Это не означает, что он не может обрабатывать инструкции, которые генерируют больше микроопераций, как раз наоборот, все подобные инструкции будут поступать именно на него. Тем не менее, это означает, что он может сгенерировать за один такт не больше четырёх микроопераций. Декодеры D1 и D2 могут обрабатывать только те инструкции, которые генерируют одну микрооперацию. Первая инструкция из ifetch-блока всегда идёт на декодер DO, последующие две идут на декодеры D1 и D2, если это возможно. Если инструкция не может быть обработана декодером D1, то она встаёт в очередь и ожидает, когда освободится декодер DO. Таким образом, можно утверждать однозначно, что минимальное количество генерируемых микроопераций в один такт будет равно 2, а максимальное - 6. На самом деле, так как на всех остальных блоках пропускная способность составляет 3 микрооперации, а мы определяем верхнюю границу оценки вычислительной способности, то можно считать, что этот блок всегда генерирует 3 микрооперации за один такт. Стоит отметить, что данная оценка будет очень близка к истине, так как в абсолютном большинстве случаев этот блок будет генерировать больше чем 3 микрооперации, и они будут помещаться в очередь ожидания. То есть даже если в какой-то момент и будут сгенерированы всего 2 микрооперации, то это будет скомпенсировано за счет накопившихся операций в очереди.

Блок переименования регистров управляется таблицей псевдонимов регистров (RAT - register alias table). Операции после декодера через очередь поступают в этот блок, после чего отправляются в блок пересортировки. Блок RAT может обрабатывать одновременно 3 микрооперации за один такт. Это означает, что максимальная пропускная способность процессора не может превышать трёх микроопераций за такт. Никаких дополнительных ограничений на этот блок нет. Он может переименовывать 3 разных регистра, или же трижды переименовать один и тот же регистр (если подобное потребуется) за один процессорный такт.

После переименования регистров идет стадия переупорядочивания (ROB - Reorder buffer). Все значения регистров помещаются в ROB-запись, если они доступны. В каждой ROB-записи может быть 2 входных регистра и 2 выходных. Вообще, возможны 3 случая для значений входных регистров: значение регистра не изменялось недавно (в таком случае, оно загружается из постоянного файла регистров); значение регистра недавно было изменено и процессор ещё не выгрузил его в файл (тогда значение загружается не из файла,

а из ЯОВ-записи, в которой хранится результат изменения); значение ещё не готово (это означает, что требуемое значение регистра ещё не вычислено и находится в очереди на выполнение, но сразу же после вычисления значение будет занесено в запись самим исполняющим модулем). Пропускная способность данного блока также составляет 3 микрооперации в секунду, однако возможен случай, когда может произойти замедление, его мы и рассмотрим. Как ни странно, этот случай относится к первому случаю значений регистра, хоть он и является самым простым и понятным. Проблема заключается в том, что постоянный файл регистров имеет всего 2 порта для чтения данных. ЯОВ-блок может получить за один такт 3 микрооперации, и самая худшая ситуация будет, если в каждой операции будет 2 входных регистра, все они будут различны, и все будут относится к первому варианту значений. Очевидно, что за один такт мы можем считать ровно 2 значения различных регистров, поэтому для записи значений нам понадобится 3 такта. Однако, необходимо заметить, что такая ситуация очень маловероятна и на практике почти неосуществима. Но поскольку оценивается верхняя граница вычислительной способности, то можно пренебречь подобными ситуациями и считать пропускную способность по-прежнему равной трём микрооперациям в такт.

Блок переупорядочивания может хранить в себе 40 микроопераций и 40 временных регистров, а блок ожидания всего 20 микроопераций. Каждая микрооперация ожидает в ЯОВ-блоке до тех пор, пока все её операнды не будут готовы и пока не освободится блок выполнения, подходящий для неё. Это делает возможным выполнение инструкций не в том порядке, в котором они поступили, а сразу же, как только все её операнды станут доступны.

Для соединения с исполнительным модулем есть 5 различных портов (порты нумеруются с 0). Порты 0 и 1 служат для обработки арифметических и подобных операций. Простые операции перемещения, арифметические или логические, могут поступать на любой из этих двух портов в зависимости от того, какой освободится раньше. Порт 0 также включает в себя некоторые операции умножения, деления и сдвигов. Порт 1 поддерживает операции переходов и некоторые ММХ (операции для обработки мультимедийных данных) и ХММ (операции с 16-байтовыми регистрами) операции. Порт 2 служит для всех операций чтения данных, а также для некоторых операций со строками и некоторых ХММ операций. Порт 3 служит для операций расчета адресов для записи данных, а порт 4 поддерживает операции, которые осуществляют саму запись. В лучшем случае исполнительный модуль может за один такт обработать 5 микроопераций, если они выполняются на разных портах. На самом деле, благодаря возможности выполнять операции не по порядку, пропускная способность в данном модуле будет стремиться к максимальной, но так как пропускная способность предыдущих блоков составляет 3 микрооперации, то, опустив случаи замедления выполнения, возьмем пропускную способность исполнительного модуля так же в 3 микрооперации.

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

Таким образом, можно считать, что процессоры этого семейства имеют пропускную способность в 3 микрооперации за один такт. Это означает, что зная количество микроопераций, на которые разбивается каждая инструкция, можно легко оценить и время её выполнения. Очевидно, что инструкция не может считаться выполненной, пока не будут выполнены все её микрооперации. Тогда за время выполнения инструкции возьмём количество микроопераций, на которые она будет разбита. Объяснить это достаточно просто. Каждая микрооперация проходит через все блоки, кроме блока выполнения, за один такт. Следовательно, если микрооперации выполняются последовательно, то время выполнения инструкции совпадает с количеством микроопераций. Однако предыдущее утверждение является не до конца верным, поскольку инструкции задерживаются и могут выполняться дольше в исполнительном модуле. Однако, благодаря параллельному выполнению микроопераций, их перераспределению и прочим оптимизациям, можно считать временем выполнения инструкции именно количество микроопераций. Так как пропускная способность процессора составляет 3 микрооперации, то можно считать, что на выполнение идёт 3 независимых последовательности микроопераций. Отсюда можно заключить, что инструкции выполняются на 3-х параллельных процессорах, и, согласно теории, вычислительная способность будет рассчитываться по формуле:

С(/) = 3 х С( А

где I - это список инструкций процессора, последовательно выполняющего микрооперации, из которых состоят инструкции, затрачивая на выполнение каждой микрооперации ровно один такт. Конечно, процессоры Pentium Pro, Pentium II и Pentium III имеют различия в своих списках инструкций. Например, процессор Pentium II в отличие от Pentium Pro был дополнен инструкциями ММХ, которые также перешли и в Pentium III. Однако, помимо этого, Pentium III был ещё также дополнен инструкциями ХММ. Для построения уравнений наборы инструкций каждого процессора вводятся в программу, которая уже преобразовывает введенные данные в уравнение, учитывая при этом объемы всех видов памяти.

На основе полученных данных характеристик вычислительной способности и бенчмарков (ICOMP, SPECint95, SPECfp95) построим график сравнения процессоров между собой. Так как величины измерения у всех характеристик различны, то будем их сравнивать, взяв за единицу значение первого процессора из списка. На рис. 2 приведена диаграмма сравнения этих процессоров относительно процессора Intel Pentium. Как показывает график -

вычислительная способность сравнима с результатами бенчмарков SPEC (Standard Performance Evaluation Corporation) и ICOMP и показывает близкие к ним результаты.

Необходимо отдельно рассмотреть процессор Pentium IV, т.к. он был построен на основе принципиально новой архитектуры и вызвал много споров. Основная идея заключалась в том, чтобы сильно повысить тактовую частоту процессора, что возможно достигнуть за счёт существенного увеличения длины конвейера. Так, например, если длина конвейера процессоров семейства Р6 составляла 9 этапов, то длина конвейера процессора Pentium IV составляет 20 этапов.

Следующими рассмотрим процессоры с микроархитектурой РМ (Pentium M, Intel Соге). Процессоры РМ базируются на микроархитектуре процессоров семейства Р6, и являются, по сути, их модификацией. Так, был доработан блок предсказывания переходов, некоторые изменения были внесены в исполнительные модули, но нас интересуют изменения, которые непосредственно влияют на построение уравнения и расчет характеристик. В процессорах семейства РМ появились так называемые "спаянные" микрооперации. Суть "спаянных" микроопераций заключается в том, чтобы повысить пропускную способность блоков, предшествующих исполнительным модулям и следующих за ними.

Pentium Pentium ММХ Pentium Pro Pentium II Pentium III

Рисунок 2. Сравнение процессоров семейств Р5 и Р6.

Далее рассмотрим процессоры семейства Intel Core 2. Эти процессоры являются существенной доработкой процессоров РМ. Были серьезно улучшены технические характеристики, не связанные с радикальным изменением архитектуры, например, добавлен ещё один декодер, увеличен размер кэша и

буфера переупорядочивания. Также существенно увеличилась пропускная способность процессоров и стала составлять не 3 микрооперации в такт, а 4.

Процессоры AMD построены по принципиально другой схеме. Процессоры Intel разбивают инструкцию на микрооперации, и параллельность их выполнения обеспечивается за счет того, что разные типы операций выполняются в разных исполнительных блоках, а также за счет переупорядочивания. В отличие от них, процессоры AMD состоят из нескольких полностью параллельных конвейеров, что хоть и обеспечивает однозначную параллельность выполнения инструкций, но существенно снижает скорость выполнения одной отдельно взятой инструкции. Например, в процессорах AMD К. 10 находятся одновременно 3 конвейера. На самом деле, хоть время выполнения операции и снижается из-за такой архитектуры, однако её устройство проще, что позволяет существенно повышать тактовую частоту процессора и тем самым немного компенсировать разницу с процессорами Intel в производительности.

Pentium Pentium Core Solo Pentium Core 2 Core 2 AMD III M T1350 IV Solo Duo Phenom

U3500 T"300 9500X4

Рисунок 3. Диаграмма сравнения вычислительной способности с бенчмаркой PassMark для процессоров семейств Intel Р6, Р7, РМ, Intel Core 2 и AMD К10.

- Вычислительная способность

-PassMark

На рис.3 приведена сравнительная диаграмма процессоров Intel и AMD. Процессоры сравниваются при помощи вычислительной способности и значений бенчмарка PassMark. Так как обе эти характеристики имеют различные единицы измерения, то оценим все процессоры относительно первого в списке процессора Intel Pentium PHI. Как видно на диаграмме,

вычислительная способность, описанная в диссертации, имеет некоторые отклонения от кривой PassMark. Однако, эти отклонения незначительны и вполне объяснимы, т.к. оценка производительности процессора с помощью бенчмарков не является объективной в полной мере, и результаты различных бенчмарков (как уже было показано выше) могут сильно отличаться друг от друга. Однако общую тенденцию к росту приведённая в работе характеристика отображает очень хорошо.

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

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

Существуют несколько основных типов архитектур суперкомпьютеров:

• SMP - это архитектура с общей физической памятью для нескольких процессоров;

• МРР - архитектура с раздельной памятью;

• смешанная архитектура - вычислительные узлы являются полноценными системами, построенными на SMP архитектуре, которые в свою очередь объединены между собой при помощи МРР архитектуры.

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

В качестве основных бенчмарков для сравнения нами были выбраны следующие: UNPACK (или G-HPL) - это бенчмарк, основанный на решении суперкомпьютером системы линейных уравнений; G-FFT - бенчмарк, основанный на быстром преобразовании Фурье. Помимо этого для сравнения будем использовать теоретический максимум.

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

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

Если у процессоров раздельная память, то они всё равно могут обращаться к содержимому памяти друг друга, однако этот процесс занимает определённое время. Так как, по сути, эта архитектура является сетью, то в зависимости от характеристик сети, будет меняться и время обращения к памяти других процессоров/узлов. Необходимо при построении уравнения учесть это обстоятельство и некоторые другие нюансы межузлового взаимодействия. Для решения указанной проблемы было решено использовать так называемый «сетевой процессор», некоторое виртуальное устройство, объединяющее в себе все команды передачи и получения данных между узлами. Зная время передачи пакета данных по сети, время его построения и минимальный и максимальный размеры, несложно построить для такого процессора систему команд и определить его вычислительную способность. Научимся сначала определять вычислительную способность узла. Для этого определим вычислительную способность всех процессоров, входящих в состав узла, считая, что оперативная память - это оперативная память каждого процессора. Так как вычислительная способность обычного процессора уже определена, то это не составит труда. Рассмотрим вычислительную способность узла состоящего из двух процессоров и сетевого процессора. Пусть С\ - вычислительная способность первого процессора, С2 -вычислительная способность второго процессора, Ссп - вычислительная способность сетевого процессора.

Су=С1 + С2 + Сс„, (6)

где Су - вычислительная способность всего узла. Объяснение и доказательство этой формулы для компьютеров с несколькими процессорами (а в данном случае узел можно рассматривать как компьютер с несколькими процессорами, работающими параллельно) представлено в работе Рябко Б.Я.2. После этого определить вычислительную способность самого суперкомпьютера можно легко по формуле:

Сск = СуХЫу, (7)

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

2 Ryabko B. An information-theoretic approach to estimate the capacity of processing units. Performance Evaluation. 2012. V. 69, P. 267-273.

21

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

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

ССК = £(=У1 СУ; ' (8)

где Уг - ¡-й узел суперкомпьютера.

2.50 -

2.00

1,50

А

/ Y

/ \\

// \л\

___— ааьГ

-Вычислительная способность

-Rmax

0,50

-Rpeak

0.00----------1---------->—

Intel SKIFUtal NOW Firefly Intel

Cluster T16 Cluster PowerEdge Endeavor 2 Endeavor 1 SCI 435

Рисунок 4. Диаграмма сравнения вычислительной способности и бенчмарков при оценке производительности суперкомпьютеров из ТОР500.

Для проверки характеристики было проведено сравнение полученных результатов с результатами проектов ТОР500 и НРСС. Рассмотрим сначала проект ТОР500. В нём для оценки суперкомпьютеров используется теоретический максимум и бенчмарк ЬГЫРАСК.

На рис. 4 Яшах - это значение бенчмарка, а Иреак - теоретический максимум. Как видно, вычислительная способность, несмотря на схожесть с теоретическим максимумом - далеко не всегда с ним совпадает, приближаясь к значению бенчмарка, а, иногда, не совпадает ни с тем, ни с другим. Если учитывать, что бенчмарк является узконаправленной задачей и не может отражать способность системы решать все виды задач, то предлагаемая в данной диссертации характеристика является более точной и объективной.

Тем не менее, для окончательной проверки приведённой характеристики, сравним её с результатами второго проекта НРСС.

22

150,00

100.00

50.00

0.00

-*-G-FFT

—»— Вычислительная способность

-■—G-HPL

•Theoretical peak

Discovery/Dell Endeavor/Dell Altix/Dell Cray-Dell

Рисунок 5. Диаграмма сравнения вычислительной способности и бенчмарков при оценке производительности суперкомпьютеров из НРСС.

Если внимательно посмотреть на рис. 5, то можно заметить, что вычислительная способность показывает усреднённое значение между всеми характеристиками, что на самом деле является вполне логичным, так как вычислительная способность оценивает способность компьютера решать все возможные задачи. То есть, если суперкомпьютер в одном типе задач показывает слабый результат, а в другом - достаточно сильный, объективное значение будет находиться где-то посередине, учитывая и слабые и сильные стороны. Таким образом, приходим к выводу, что предложенная характеристика применима для сравнения суперкомпьютеров и может стать хорошей заменой или дополнением для классического теоретического максимума.

В заключении приводятся выводы по диссертационной работе.

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

ОСНОВНЫЕ ЗАКЛЮЧЕНИЯ И ВЫВОДЫ

В рамках диссертационной работы был разработан метод теоретического определения вычислительной способности современных компьютеров, в которых используются многоконвейерные процессоры и кэш-память разных типов. Кроме того, было осуществлено экспериментальное исследование метода для реальных компьютеров и вычислительных систем. Для упрощения процесса проведения исследования, был разработан и зарегистрирован программный комплекс, который помогает построить и решить характеристическое уравнение компьютера с учётом всех его технических характеристик. С помощью предложенного метода была произведена оценка производительности компьютеров, базирующихся на основных процессорах Intel и AMD. В качестве первой группы исследования были выбраны ранние модели процессоров Intel, результаты оценки производительности оказались близки к результатам бенчмарка ICOMP, разработанного Intel. В качестве второй группы исследования были выбраны более сложные и современные процессоры Intel, а также некоторые процессоры AMD. Результаты были сравнены с множеством общепризнанных бенчмарков и везде показали схожие с ними значения. Таким образом, была показана применимость предложенного метода для оценки производительности реальных современных компьютеров, а так же описан способ применения этого теоретического метода на этапе проектирования новых процессоров.

В рамках диссертационной работы был также предложен метод оценки вычислительной способности суперкомпьютеров. Для этого были исследованы архитектуры современных реальных суперкомпьютеров и на основе исследования разработан метод, который учитывает межузловое взаимодействие внутри суперкомпьютера. При помощи предложенного метода была оценена производительность множества реально существующих суперкомпьютеров, представленных в списках проектов ТОР500 и НРСС. Полученные результаты были сравнены с результатами бенчмарков, используемых в этих проектах. В результате анализа полученных данных было показано, что предложенный метод может стать хорошей альтернативой существующей теоретической оценке пиковой производительности суперкомпьютеров, а также может быть использован при проектировании новых суперкомпьютеров. Кроме того, в рамках диссертационной работы было показано, как метод может быть использован при проектировании облачных высокопроизводительных распределённых систем.

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Ракитский A.A. Практическое применение методов теоретической оценки вычислительной способности для процессоров Intel серии Р5 // Вестник «СибГУТИ». 2012. №4, с. 50-61.

2. Ракитский A.A. Теоретическая оценка вычислительной способности процессоров Intel // Вестник СибГУТИ. 2013.3 с. 29-45.

3. Ракитский A.A. Использование вычислительной способности как характеристики для оценки и сравнения суперкомпьютеров // Вестник СибГУТИ. 2013.4 с. 67-84.

4. Ракитский A.A., Рябко Б.Я., Фионов А.Н. Аналитический метод сравнения и оценки производительности компьютеров и вычислительных систем // Вычислительные технологии, 2014, Том 19, № 4, с. 84-98.

5. Rakitskiy A., Ryabko В., Fionov A. Evaluation of computer capacity for P5 intel processors // Problems of Redundancy in Information and Control Systems (RED), 2012 XIII International Symposium. St. Petersburg, 5-10 Sept. 2012. P. 70-73.

6. Ракитский A.A., Рябко Б.Я., Фионов А.Н. Определение вычислительной способности процессоров Intel семейств Р5 и Р6 и сравнение с данными бенчмарков // XIV Российская конференция с участием иностранных ученых «Распределительные информационные и вычислительные ресурсы» (DICR'2012). Россия, Новосибирск, 26-30 ноября 2012 г.

7. Ракитский A.A., Рябко Б.Я., Фионов А.Н. Программный комплекс для теоретической оценки и анализа производительности вычислительных систем // Индустриальные информационные системы 2013. Россия, Новосибирск, 24-28 сентября 2013 г.

8. Ракитский A.A., Рябко Б.Я. Практическое применение теоретико-информационного подхода к оценке производительности компьютеров и вычислительных систем // XV Российская конференция с участием иностранных ученых «Распределительные информационно-вычислительные ресурсы» (DICR'2014). Россия, Новосибирск, 2-5 декабря 2014г.

9. Ракитский A.A., Рябко Б.Я., Фионов А.Н. Программа нахождения вычислительной способности по характеристическому уравнению. № гос. регистрации 2013619017.

10.Ракитский A.A. Программа для преобразования списка инструкций компьютера в характеристическое уравнение. № гос. регистрации 2013619015.

11.Ракитский A.A. Программа для построения списка инструкций компьютера в требуемом формате представления. № гос. регистрации 2013619014.

Подписано в печать <,Ц2 »¡^ьарЯ 2015 г. Бумага офсетная. Формат 60x84/16. Усл. печ. л. 1 Тираж 120 экз. Заказ № 252

Отпечатано в типографии «Срочная полиграфия» ИП Малыгин Алексей Михайлович 630090, Новосибирск, пр-т Академика Лаврентьева, 6/1, оф. 104 .Тел. (383)217-43-46, 8-913-922-19-17