Методология повышения производительности вещественных и мультимедийных приложений в процессе оптимизирующей двоичной трансляции тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат технических наук Василец, Павел Станиславович
- Специальность ВАК РФ05.13.11
- Количество страниц 119
Оглавление диссертации кандидат технических наук Василец, Павел Станиславович
ВВЕДЕНИЕ.
1. ДВОИЧНАЯ ТРАНСЛЯЦИЯ И ПРОБЛЕМЫ ОПТИМИЗАЦИИ ВЕЩЕСТВЕНОГО КОНТЕКСТА.
1.1 Двоично-транслирующая система (ЦТС).
1.1.1 Основные понятия ДТС.
1.1.2 Проблемы двоичной трансляции.
1.1.3 Структура двоично-транслирующей системы.
1.1.4 Классификация существующих двоично-транслирующих систем.
1.1.5 Оптимизирующий компилятор в двоично-транслирующей системе.
1.2 Двоичная трансляция вещественного контекста.
1.2.1 Описание вещественного контекста исходной Intel х86 (IA32) архитектуры. 20 1.2.2. Описание реализации поддержки семантической корректности вещественного контекста исходной архитектуры на целевой платформе.
1.3 Проблемы оптимизации вещественного контекста.
1.4 Возможные пути решения. Обзор существующих систем двоичной трансляции.
1.5 Постановка задачи.
Выводы.
2. БАЗОВАЯ МЕТОДИКА ОБРАБОТКИ ВЕЩЕСТВЕННОГО КОНТЕКСТА.
2.1. Технология переименования вещественного контекста.
2.2 Введение оптимистических предположений.
2.3 Анализ неоптимизированного кода на применимость метода переименования.
2.4 Сбор статической информации для применения метода переименования.
2.4.1 Локальный анализ применимости метода переименования.
2.4.2 Глобальный анализ применимости метода.
2.5 Построение контрольных условий.
2.6 Построение распаковок.
2.7 Механизм переименования.
2.8 Восстановление исходного контекста.
2.9 Преимущества и недостатки метода переименования.
2.10 Результаты.
Выводы.
3. РАСШИРЕННЫЕ ВОЗМОЖНОСТИ ПРИМЕНЕНИЯ БАЗОВОЙ МЕТОДИКИ.
3.1 Недокументированные особенности обработки вещественного контекста на исходной архитектуре. Адаптация метода переименования.
3.2 Специфические оптимизации вещественного контекста.
3.2.1 Удаление избыточности форматных преобразований операндов.
3.2.2 Удаление диагностической избыточности.
3.2.3 Модификация построения условий переходов.
3.2.4 Результаты.
3.3 Обработка смешанного мультимедийного/вещественного контекста.
3.3.1 Общее описание.
3.3.2 Особенности обработки смешанного кода.
3.3.3 Преимущества и недостатки оптимизаций смешанного кода.
3.3.4 Результаты.
Выводы.
Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Методы повышения производительности двоично-транслирующих систем с аппаратной поддержкой2003 год, кандидат технических наук Ермолович, Александр Владленович
Базовые методы оптимизации на предикатном представлении программы для архитектур с явно выраженной параллельностью2003 год, кандидат технических наук Окунев, Сергей Константинович
Сокращение длины критических путей при динамической трансляции двоичных кодов2018 год, кандидат наук Гимпельсон Вадим Дмитриевич
Развитие методов глобального планирования программ для архитектур с явно выраженной параллельностью2005 год, кандидат технических наук Новиков, Сергей Викторович
Методы удаления избыточностей на этапе компиляции программ2009 год, кандидат технических наук Филиппов, Александр Николаевич
Введение диссертации (часть автореферата) на тему «Методология повышения производительности вещественных и мультимедийных приложений в процессе оптимизирующей двоичной трансляции»
Актуальность работы
Исследования в области вычислительных технологий поражают своей масштабностью. Поколения вычислительных машин и комплексов сменяют друг друга. Новые технологии позволяют делать микропроцессорную технику меньше по размеру, сложнее по функциональности. Одним из наиболее важных требований к новым разработкам является повышение производительности. Применение различных способов распараллеливания вычислений позволяет достичь желаемых результатов.
Одним из наиболее распространенных на сегодняшний день способов обеспечения параллельности остается применение аппаратных решений. Ярким примером такого решения могут служить целые поколения процессоров фирмы Intel (Pentium, Pentium Pro) с набором команд CISC (Complex Instruction Set Computing), представляющих собой суперскалярное ядро па базе RISC архитектуры и аппаратный перекодировщик из CISC в RISC инструкции ядра. В то же время данный способ приводит к дополнительным затратам оборудования, ухудшению физических характеристик, таких как размеры кристаллов и энергопотребление.
Обеспечение требуемой для современных задач параллельности можно достичь и путем существенных изменений микропроцессорных архитектур па хорошо зарекомендовавшую себя архитектуру VLIW (Very Long Instruction Word) [4]. Новые алгоритмы планирования и распределения ресурсов, реструктуризация управления позволяют получить значительный прирост производительности по сравнению с суперскалярными методами. Дополнительным преимуществом VLIW архитектуры является возможность эффективно применить к ней методы формальной верификации [50]. Однако наряду с полученными преимуществами такие архитектуры приобрели и полную двоичную несовместимость [1] с другими архитектурными решениями.
Проблема программной несовместимости может быть разрешена несколькими различными методами. Один из таких методов, полностью аппаратный, когда перекодировка команд исходной архитектуры в широкие команды производится на уровне аппаратуры [32][33]. Реализация подобной функциональности требует дополнительных аппаратных ресурсов и затрат энергопотребления. В свою очередь борьба за сокращение энергопотребления вводит ограничения на параллелизм, и тем самым, на логическую скорость вычислений.
Двоичная трансляция является программным способом обеспечения программной совместимости[26][31]. Основная идея двоичной трансляции сводится к преобразованию двоичных кодов одной архитектуры в функционально эквивалентные коды другой архитектуры. Данный способ обладает рядом преимуществ по сравнению с аппаратной перекодировкой, таких как: эффективность. Получение наиболее оптимального кода за счет более глубокого распараллеливания и минимизации потерь на компиляцию при использовании кеша транслированного кода в памяти или базе данных; экономия оборудования. Отсутствует необходимость использовать аппаратные перекодировщики и оптимизаторы; независимость от изменений архитектуры. Появляется возможность использования новых микроархитектурных решений (оптимизация конвейера), а также и архитектурных ( изменение системы команд). Перечисленные особенности позволяют сохранить двоичную совместимость кодов исходной архитектуры при переносе на несовместимую целевую архитектуру при минимальном усложнении оборудования.
Двоичная трансляция является достаточно новой технологией и, поэтому, не одинаково эффективна на всем множестве программных приложений, особенно вещественных. Причинами этому могут служить такие факторы как:
- неполная совместимость с исходной эмулируемой архитектурой (несовместимость по операциям и типам данных); недостаточно эффективный результирующий код (ограничения на применение оптимизаций); переносимость только пользовательских приложений (жесткая привязка к операционной системе либо полная эмуляция привилегированной части). Таким образом, наблюдается явное противоречие между преимуществами метода программной двоичной трансляции и практическими ограничениями существующих двоично-транслирующих систем. В жертву скорости исполнения транслированных кодов вещественных приложений приносится совместимость, другими словами, часть архитектурных особенностей перестает корректно отображаться, либо вносимые ограничения не позволяют достичь желаемой производительности на двоично-транслированных кодах. Решение данного противоречия максимально эффективными программными средствами, опирающимися на архитектурные особенности исходной и целевой платформ, и обеспечивающими максимально полную двоичную совместимость, является одной из актуальных задач.
Обеспечение высокой производительности двоично-транслированных мультимедийных приложений в некоторых случаях является обязательным требованием. Эффективность мультимедийных приложений в большей степени зависит от алгоритмов используемых в их написании. Очевидно, что обработка потоков данных или видеоизображений является хорошо распараллеливаемой задачей [49]. В результате чего, программы, реализующие данную обработку, интенсивно используют вещественную и мультимедийную математические библиотеки. Обеспечение двоичной совместимости такого рода исполняемых кодов осложнено наличием большого числа специфических свойств, в том числе и аппаратно зависимых, у операций обработки вещественного и мультимедийного контекстов. В отличие от большинства целочисленных задач почти все мультимедийные программные продукты, например, семейство медиаплейеров, производят обработку потока данных в реальном времени. Следовательно, гарантировать двоичную совместимость для таких задач необходимое, но не достаточное требование. Важным является также и временной фактор.
Ввиду специфики данной проблематики, существующие на данный момент в мировой практике системы двоичной трансляции [16,25,26,27,29,30,55] не уделяют должного внимания путям решения проблеме повышения производительности двоично- транслированных мультимедийных приложений. Это происходит по нескольким причинам, таким как: семантика двоичного представления вещественного и мультимедийного контекстов сложна для анализа и оптимизации, в том числе и распараллеливания; в существующих аппаратных реализациях не достаточно средств для обеспечения возможности распараллеливания вещественных вычислений; возникает необходимость применения новых специализированных методов обработки данных контекстов.
Поэтому предлагаемые данными системами решения либо гарантируют полную двоичную совместимость такого рода кодов при низких показателях производительности, либо получают сравнимые с исходными кодами показатели производительности, по только исключительно для ограниченного набора программных приложений. Решение задачи обеспечения полной двоичной совместимости вещественных и мультимедийных кодов при сравнимых с исходными кодами показателями производительности позволит применить двоично-транслирующие системы на всем множестве существующих программных продуктов.
Цель исследования
Целью диссертационной работы является теоретический анализ проблем двоичной трансляции вещественных и мультимедийных кодов, разработка механизма эффективной реализации технологии их двоичной трансляции с использованием элементов аппаратной поддержки двоично-транслирующей системы, обеспечение полной совместимости двоично-транслированного вещественного и мультимедийного кода с исходной суперскалярной архитектуры Intel х86 (IA32) [7] па целевую архитектуру с явно выраженным параллелизмом Эльбрус ЗМ (ЭЗМ) [8, 9, 10].
В соответствии с этим были определены следующие задачи диссертационного исследования:
1. Анализ существующих двоично-транслирующих систем (ДТС).
2. Оценка различных принятых решений в ДТС по обработке вещественного/мультимедийного контекста.
3. Теоретическая разработка метода повышения производительности ДТС при обработке вещественного и мультимедийного контекстов.
4. Практическая реализация данного метода в ДТС для архитектуры с явно выраженным параллелизмом команд и механизмами аппаратной поддержки двоичной трансляции.
Научная новизна
Решение поставленных в диссертационной работе задач определяет новизну исследований в области оптимизации вещественного и мультимедийного контекстов. Незначительный прогресс в разработке данной тематики в известных системах двоичной трансляции обуславливается сложностью анализа и обработки вещественного контекста. Ввиду сказанного, кардинально новыми решениями являются: методология представления вещественного контекста транслированного с исходной платформы на целевую платформу кода приложений, позволяющая не только упростить полученное представление, по и снять запрет на оптимизацию целого класса операций обработки вещественного контекста; механизмы разделения областей оптимизаций по принципу обработки вещественного или мультимедийного контекста в пределах единого смешанного (вещественного/мультимедийного) исходного кода приложений; разработанный ряд специфических оптимизаций вещественных операций, позволяющих повысить производительность двоично-транслированного кода.
Результаты работы, выносимые на защиту
В диссертационной работе рассматриваются и решаются проблемы оптимизации двоично-транслированных кодов с элементами вещественного и мультимедийного контекста. В качестве инструмента исследований взят оптимизирующий компилятор двоично-транслирующей системы с платформы Intel х86 (IA32) на платформу Эльбрус ЗМ (ЭЗМ) с явно выраженным параллелизмом и аппаратной поддержкой механизмов двоичной трансляции.
В процессе проведения исследований автором получены следующие результаты:
- предложен метод модификации представления вещественного контекста в пеоптимизированном двоичпо-трапслированном коде приложений, в результате работы которого стапговиться возможным эффективное применение оптимизирующего компилятора, двоично-транслирующей системы;
- реализован ряд алгоритмов быстрого (линейной сложности) анализа кода, а также алгоритмов его модификации, построенных паосновании предложенного метода;
- разработаны и реализованы алгоритмы обработки смешанного вещественного/мультимедийного кода;
- разработан ряд оптимизирующих алгоритмов, специализированных на обработке освобожденного от дополнительной функциональности вещественного контекста.
Практическая ценность
Результаты исследований, выполненных по теме диссертационной работы, нашли практическое применение в следующих программных и аппаратных системах: оптимизирующий двоичный транслятор с кодов архитектуры Intel х86 на архитектуру Эльбрус-ЗМ, работающий в составе многоязыковой системы программирования "Эльбрус-ЗМ", разработанной в ЗАО "МЦСТ" по заказу МО РФ; микропроцессор "Эльбрус-ЗМ", разработанный в ЗАО "МЦСТ", обеспечивающий совместимость с рядом архитектурных платформ, в том числе с Intel х86.
Апробация
Основные положения диссертационной работы докладывались и обсуждались на научно-технических конференциях Московского-Физико-Техпического Института, Международной молодежной научной конференции «XXX Гагаринские чтения», презентациях оптимизирующей двоично-транслирующей системы, разработанных для фиры Intel.
Публикации
Автором опубликовано 9 печатных работ по теме диссертационной работы:
1. Статья «Оптимизация обработки вещественного контекста в двоично-оптимизирующей системе». Информационные технологии и вычислительные системы 3/2004.
2. Статья «Обработка смешанного вещественного/мультимедийного контекста в оптимизирующих двоично-транслирующих системах». Компьютеры в учебном процессе. 9/2005.
3. Статья «Оптимизирующая двоичная трансляция вещественных приложений». Информационные технологии. 6/2006.
4. Статья «Специфика оптимизации вещественных приложений в оптимизирующем двоичном компиляторе». Компьютеры в учебном процессе. 3/2006.
5. Статья «Методика представления конвейера при формальной верификации микропроцессоров». Информационные технологии и вычислительные системы 1/1999.
6. Статья «Совместимость MPEG-1 и MPEG-2 стандартов». Информационные технологии и вычислительные системы. Сборник научных трудов ИМВС РАН, 2002.
7. Тезисы доклада «Обработка вещественного контекста в оптимизирующей двоично-транслирующей системе». XXI научно-техническая конференция войсковой части 03425. - М.:, в/ч 03425, 2003.
8. Тезисы доклада «Метод повышения производительности вещественных и мультимедийных кодов в процессе двоичной трансляции с архитектуры Intel х86 IA32 на архитектуру с явно выраженным параллелизмом». XXXI Гагарииские чтения, международная молодежная научная конференция, Москва, 2005 Том 4.
9. Тезисы доклада «Специфические оптимизации вещественных кодов в процессе оптимизирующей двоичной трансляции с архитектуры Intel х86 па архитектуру Эльбрус-ЗМ», XXXII Гагаринские чтения, международная молодежная научная конференция, Москва, 2006.
Структура и объем работы
Работа состоит из введения, трех глав и заключения.
В первой главе диссертационной работы рассматривается вопрос описания двоично-транслирующей системы и ее отличия от других способов обработки двоичных кодов. В процессе описания двоично-транслирующей системы поднимается проблематика совместимости микропроцессорных архитектур, вводится ряд понятий, которыми оперирует работа.
При классификации существующих на сегодняшний день двоично-транслирующих систем затрагиваются проблемы двоичной трансляции. На их фоне строятся критерии построения наиболее эффективной модели двоично-транслирующей системы, подчеркивается роль оптимизирующей компоненты в составе двоично-транслирующей системы, проводится обзор решаемых ею задач.
В главе также вводится важнейшее сточки зрения данной работы понятие двоичной трансляции вещественного контекста. Дано достаточно полное описание вещественного контекста исходной архитектуры. На основании данного описания вводятся элементы целевой платформы, обеспечивающие семантическую корректность при трансляции вещественного контекста. Кроме того в главе исследуется вопрос оптимизации вещественного контекста, рассматриваются связанные с этим проблемы и возможные пути их решения. Формулируется постановка задачи.
Вторая глава полностью посвящена предлагаемой методике преобразования вещественного контекста с целью решения поставленных в работе задач. Проводится обзорное описание метода переименования, с целью введения в курс дела. Излагаются основные этапы метода переименования:
- оптимистические предположения;
- анализ применимости; сбор информации;
- построение контрольных условий;
- механизм переименования; восстановление контекста.
При описании этапов метода переименования затрагиваются вопросы двоичной совместимости, производительности кода, сложности принимаемых решений. В завершении третьей главы отмечаются все преимущества и недостатки принятых решений, приводятся результаты применения описанной методики.
Третья глава посвящена вопросам расширения областей применимости предложенной во второй главе методики па примере трех наиболее существенных задач, таких как:
- обработка недокументированныз особенностей исходной архитектуры;
- специфические оптимизации представления вещественного контекста; обработка смешанного вещественного/мультимедийного контекста.
Первый раздел главы посвящен решению задачи адаптации базовой методики к недокументированным особенностям исходной архитектуры.
Второй раздел главы посвящен специфике оптимизаций вещественного контекста. Основу данного раздела составляют алгоритмы, позволяющие найти дополнительные резервы для оптимизации вещественного кода. При описании вводимых алгоритмов акцентируется внимание на тех свойствах вещественного контекста, препятствующих их использованию до момента применения базовой методики. В главе приводятся результаты, которых удалось достичь путем применения, описанных ранее оптимизаций.
Заключительный раздел освещает вопрос оптимизации смешанного вещественного и мультимедийного контекста. С этой целью, как и в главе I, проводится описание мультимедийного контекста исходной архитектуры, а также реализации поддержки данного контекста на целевой платформе. Среди особенностей обработки смешанного контекста особое внимание уделяется проблематики перекрестного использования архитектурных ресурсов вещественным и мультимедийным контекстом. Рассматриваются задачи расширения анализа исходного кода и специфика всех этапов переименования в условиях смешанного кода. Подчеркиваются преимущества и недостатки принятых решений. Завершают раздел результаты, достигнутые при оптимизации смешанного контекста.
В заключения диссертационной работы формулируются результаты работы, полученные автором на основе исследований, проведенных в диссертации, отмечаются возможные пути дальнейших исследований с целью повышения производительности оптимизированных двоично-транслированных кодов.
Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Развитие методов статического анализа программ, используемых в оптимизирующих компиляторах для архитектур с явно выраженной параллельностью2004 год, кандидат технических наук Дроздов, Александр Юльевич
Методы оптимизации доступа к подсистеме памяти на этапе компиляции для микропроцессорных систем с архитектурой широкого командного слова2008 год, кандидат технических наук Галазин, Александр Борисович
Обеспечение поддержки процесса повышения производительности компиляторов для архитектур с явно выраженной параллельностью при их совместной разработке2005 год, кандидат технических наук Баскаков, Юрий Валерьевич
Методы и алгоритмы оптимизации переходов в компиляторе базового уровня системы двоичной трансляции для архитектуры "Эльбрус"2013 год, кандидат наук Рыбаков, Алексей Анатольевич
Методы и алгоритмы автоматизированного проектирования параллельных вычислительных процессов с учетом загрузки регистровой памяти суперскалярных процессоров2002 год, кандидат технических наук Михеева, Людмила Борисовна
Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Василец, Павел Станиславович
Выводы
1. Разработанный метод переименования является абсолютно гибким адаптивным способом при решении сложных задач учета недокументироваанных особенностей вещественного контекста исходной архитектуры при анализе и обработке вещественных приложений в процессе оптимизирующей двоичной трансляции.
Экспериментальное применение разработанных в данной главе специфических оптимизаций позволило достичь повышения производительности вещественных двоично-транслированных кодов на пакетах SPECfp95, specperfb составило в среднем -15%. Суммарное ускорение применения базовой методики составило -80% на пакете SPECfp95 и достиглол 1.5-12 раз ускорения на пакете specperfb. Применение разработанной методики обработки вещественного контекста позволило впервые в мировой практике получить двоично транслированный с исходной Х86 архитектуры вещественный код исполняемый быстрее своего исходного аналога. В результате применения метода переименования коэффициент суммарного ускорения па тестовом пакете SPECfp95 увеличился с величины 0.74 до преодолевшего единицу значения 1.29
Данная глава диссертационной работы показывает универсальность разработанного метода переименования па примере применимости его к не менее объемному, чем вещественный, классу операций мультимедийных операций. Экспериментальные замеры на тестовых пакетах SPECint95 и specperfb, собранных компилятором с языков высокого уровня исходной архитектуры с использованием мультимедийных пакетов операций ММХ и SSE, подтверждают работоспособность метода переименования на мультимедийных кодах.
В рамках главы проведен сравнительный анализ вещественного и мультимедийного контекстов исходной и целевой архитектур на предмет их пересечения по программным и архитектурным ресурсам
В текущей главе предложен метод построения анализа смешанного вещественного/мультимедийного кода с целью достижения возможности применения разработанного метода. Данный подход представляет собой альтернативное решение к методу решения задачи анализа смешенного кода путем его разделения на стадии набора регионов оптимизации. Его преимущество проявляется на кодах со сложным управлением и сильно перемешанными представлениями различных контекстов.
В результате приведенного в главе метода анализа смешанного кода в рамках двоичного оптимизирующего компилятора проекта ЭльбрусЗМ удалось применить описанную ранее методику обработки вещественного и мультимедийного контекстов. Дальнейшая оптимизация, освобожденного от вещественной и мультимедийной специфики транслируемого кода, позволила в свою очередь повысить производительность полученных двоично-транслированных кодов.
Заключение
Представленная диссертационная работа посвящена вопросу повышения производительности исполняемых кодов целевой архитектуры ЭльбрусЗМ, полученных в результате двоичной трансляции с исходной Intel х86 архитектуры. Рассмотрены всевозможные способы решения поставленной задачи, их положительные и отрицательные стороны. В рамках поставленной задачи выбран программный путь достижения двоичной совместимости исходной и целевой архитектур, как наиболее гибкий (позволяющий вносить необходимые изменения в процессе трансляции как в обрабатываемый код так и в сам процесс) и мобильный ( процесс развития алгоритмической составляющей оптимизирующего компилятора в рамках двоично-транслирующей системы непрерывен). Ключевым моментом диссертационной работы является вопрос повышения производительности двоично-транслированных кодов, затрагивающих наиболее проблемные с точки зрения оптимизации элементов контекста исходной архитектуры, таких как вещественный и мультимедийный контексты.
В ходе решения поставленных в работе задач были достигнуты следующие результаты:
1. Проведен аиализ проблем двоичной совместимости как между постоянно развивающимися поколениями одних и тех же платформ, так и между абсолютно разными архитектурными решениями. Рассмотрены основные варианты решения данной проблемы, отмечена перспективность их практического применения. Основное внимание уделено реализации двоично-транслирующей системы, как наиболее соответствующему способу решения проблемы двоичной совместимости.
2. Проведен анализ элементов взятой за исходную архитектуры Intel х86 исходного контекста, вызывающих максимальные сложности в процессе борьбы за повышение производительности двоично-транслируемых кодов, а именно, элементов вещественного и мультимедийного контекстов. Исследованы возможные методы обработки рассматриваемых элементов исходного контекста.
3. Предложена принципиально новая методика обработки вещественного контекста, позволяющая достичь эффективных показателей производительности двоично-транслированных вещественных кодов на целевой архитектуре. Суммарное ускорение составило:
- SPECfp95(small ref data) = 1.8;
- SPECfp95(ref) = 1.5;
- Specperfb = 1.5- 12
4. В рамках разработанной методики, предложен метод статического анализа поведения вещественного контекста в рамках транслируемого кода. Разработан ряд оптимистических предположений, позволяющих полностью охватить всевозможные исключительные ситуации, возникновение которых возможно, но крайне маловероятно.
5. Предложен метод переноса работы с вещественным контестом со стека с вращающейся базой на фиксированные рабочие регистры целевой архитектуры. Данный метод позволяет снять ряд ограничений на обработку вещественных операций, таких как строгая последовательность вещественных операций в представлении, модификация статусных регистров большинством вещественных операций.
6. В рамках метода переименования разработана структура данных, позволяющая полностью описать анализируемый контекст в любой точке представления.
Большинство элементов полученной информационной структуры определяются статически.
7. Предложен ряд алгоритммических решений возникающих проблем в случаях сложного управления в кодах, содержащих операции модификации вещественного контекста.
8. Разработан ряд специфических правил для вещественных операций, позволяющий дополнительно повысить производительность получаемого двоично-транслированного кода на 15%.
9. Поставлен эксперимент по возможности применения разработанной методики к другим элементам исходного контекста, в частности, мультимедийному контексту. В результате данного эксперимента был достигнут положительный результат, позволивший считать разработанную методику универсальной.
10. Предложен метод обработки смешанного вещественного/мультимедийного кода в рамках единого кода. Данный метод позволил на уровне оптимизирующей трансляции произвести разделение двух контекстов, использующих общие ресурсы. В результате применения данного метода появилась реальная возможность производить оптимизации на больших регионах со смешанным контекстом.
11. В рамках методики обработки смешанного контекста был предложен универсальный алгоритм разметки управляющего графа по областям анализа различных контекстов — метод раскрашивания.
12. Предложен метод оптимизации переименнованного смешанного представления на границах статического анализа. Большинство действий по запаковке и распаковке контекстов, использующих общие ресурсы, в результате проведенного анализа становятся избыточными.
Все представленные в диссертационной работе алгоритмы и методы, реализованы в составе оптимизирующего двоичного компилятора с кодов исходной архитектуры Intel х86 на архитектуру Эльбрус-ЗМ. Данный факт подтвержден актом о внедрении.
Список литературы диссертационного исследования кандидат технических наук Василец, Павел Станиславович, 2006 год
1. С.А. Рожков Технология двоичной совместимости программно-аппаратных ^ средств. Программные продукты и системы, N 1,1999.
2. Halfhill T.R. AMD Vs. Superman. Byte, Nov, 1994.
3. Halfman T.R. Intel's P6. Byte, Apr, 1995.
4. J.A. Fisher. Very Long Instruction Word Architecture and the ELI-512. Proceedings of the 10th Annual International Symposium on Computer Architecture, p. 140-150. Stockholm, Sweeden, Jun. 13-17, 1983. Computer Architecture News, 11(3), Jun, 1983.
5. R. Sites, A. Chemoff, M. Kirk, M. Marks and S. Robinson. Binary Translation. Communications of the ACM, vol.36, No.2, Feb, 1993, pp. 69-81.
6. G.M. Silberman, K.Ebcioglu An architectural framework for migration from CISC to higher performance platform In Proc. Of the 1992 Inrenational Conference on Supercomputing, pp 198-215, Washington, DC, Jul 1992, ACM Press.
7. C.A. Рожков Надежность оптимизирующих двоично-транслирующих систем. Информационные технологии и вычислительные системы, N 1, 1999
8. IA-32 Intel Architecture Software Developer's Manual. Volume 1-3, Intel1. Corporation.
9. Babayan B.A. Main Principles of E2K Architecture. Free Software Magazine, Vol. 1, Issue 02, Feb 2002.
10. Keith Diefendorf "The Russians Are Coming: Supercomputer Maker Elbrus Seeks to Join x86/IA-64 Melee" Microprocessor report, vol. 11, num. 2, Feb. 15, 1999.
11. А.А.Иванов Обобщенное описание семантики в двоично-транслирующей системе с платформы Intel на платформу Эльбрус. Высокопроизводительные вычислительные системы и микропроцессоры, Сборник научных трудов, выпуск1. Ш 4, М., ИМВС РАН. 2003.
12. А.В.Ермолович Системная поддержка динамического двоичного компилатора: управление памятью. Тезисы докладов Международной конференции XXVI Гагаринские чтения, М.,2000.
13. А.В.Ермолович Применение базы кодов в динамической двоично-траислирующей системе. Высокопроизводительные вычислительные системы и микроппроцессоры, Сборник научных трудов, выпуск 4, М., ИМВС РАН, 2003.
14. С. Cifiientes, V. Malhotra Binary Translation: Static, Dynamic, Retargetable? -Proceeding of the 1996 International Conference on Software Maintenance (ICSM'96), Monterey, CA, Nov, 1996.
15. Anton Chernoff, Mark Herdeg, Ray Hookway, Chris Reeve, Norman Rubin, Tony Туе, S. Bharadwaj Yadavall and John Yates " FXI32: A Profile-Directed Binary Translator" IEEE Micro(18), March/April 1998.
16. A. Chernoff, R. Hookway DIGITAL FXI32: Running 32-Bit x86 Applications on Alpha NT. Proceeding of the USENIX Windows NT Workshop Seattle, Washington, Aug, 1997.
17. T. Cramer, R. Friedman, T. Miller, D. Seberger, R.Wilson, M.Wolczko Compiling Java Just in Time. IEEE Micro, May/Jun 1997, Vol.17,3, pp36-43.
18. V. Bala, E. Duesterwald, S. Baneijia. Transparent Dynamic Optimization: The Design and Implementation of Dynamo. Hewlett Packard Laboratories Cambridge, Tech. Report HPL-1999-78, June 1999.
19. Michael Gschwind and Eric R. Altman "Optimizing and Precise Exceptions in Dynamic Compilation", Second Workshop on Binary Translation Held in PACT 2000.
20. A.Aho, R.Sethi, J.Ullman "Compilers: principles, techniques, and tools". Addison-Wesley, Reading, MA, 1986
21. A. Drozdov, V. Volkonski et al. "The Optimizing Compiler for the Elbrus-3 Supercomputer", International Congress on Computer Systems and Applied Mathematics, CSAM'93, Abstracts, St. Petersburg, July 19-23, 1993, pp.127-128.
22. E.R Altman, K. Ebcioglu, M. Gschwind and S. Sathaye "Advances and Future Challenges in Binary Translation and Optimization", Proceedings of the IEEE Special Issue on Microprocessor Architecture and Compiler Technology, Nov 2001.
23. P. Hohensee, M. Myszewski, D. Reese, Wabi Cpu Emulation. Hot Chips VIII Proceeding, Stanford, Aug, 1996.
24. Wabi Users Guide. SunSoft A Sun Microsystems, Inc. Business, May 1996.
25. K. Ebcioglu, E.R. Altman "DAISY: Dynamic Compilation for 100% Architectural Compatibility", Proceedings of the 24th Annual Symposium on Computer Architecture, Jun 2001.
26. E. Altman, M.Gschwind, S.Sathaye, S.Kosonosky, A.Bright, J.Fritts, P.Ledak, D.Appenzeller, C.Agricola, Z.Filan. BOA: The Architecture of a Binary Translation Processor. IBM Research Report RC 21655 (97500), Dec, 1999.
27. K.Ebcioglu, E. Altman, M.Gschwind, S.Sathaye. Dynamic Binary Translation and Optimization. IBM Research Report RC 22025 (98128), Jul, 2000.
28. Vasanth Bala, Evelyn Duesterwald and Sanjeev Banjeria, "DYNAMO: A Transparent Dynamic Optimization System", Programming Language Design and Implementation, June 2000.
29. Intel Itanium Processor Family Reference Guide: IA-32 Execution Layer. IA-32 Application Support Provides Flexibility in Migrating to Itanium Architecture. Quick Reference Guide. Intel Corporation, 2004.33. http://intel.com/go/itanium2
30. IA-32 Intel Architecture Software Developer's Manual. Vol.3, Intel Corporation. Chapter 8, Programming with the X87 FPU.
31. ANSI/IEEE Std 754-1985 An American National Standard. IEEE Standard for Binary Floating Point Arithmetic.
32. J.Henessy. Program optimization and exception handling. ACM SIGPLAN. Jan 1981, pp. 200-206.
33. П.С.Василец, Д.М.Масленников, О.С.Драгошанский, Оптимизация обработки вещественного контекста в двоично-оптимизирующей системе. Информационные технологии и вычислительные системы, 3, 2004.
34. В.А.Евстигнеев, В.Н.Касьянов. Теория графов. Алгоритмы обработки деревьев -Новосибирск: Наука. 1994.
35. J.Ferrante, KJ.Ottenstein, J.D.Warren. The program dependence graph and its use in optimization // ACM TOPLAS. July 1987.
36. S.Muchnick. Compiler design and implementation Morgan Kaufmann Publishers. San Francisco, California. 1997.
37. IA-32 Intel Architecture Software Developer's Manual. Vol.3, Intel Corporation. Chapter 9, Programming with the Intel MMX Technology.
38. IA-32 Intel Architecture Software Developer s Manual. Vol.3, Intel Corporation. Chapter 10, Programming with the StreamingSIMD Extensions (SSE).
39. П.С.Василец Обработка смешанного вещественного/мультимедийного контекста в оптимизирующих двоично-трапслирующих системах. Компьютеры в учебном процессе, 9, 2005.
40. В.Ю.Волконский, Оптимизирующие компиляторы для архитектуры с явно выраженным параллелизмом команд и аппаратной поддержкой двоичной совместимости. Информационные технологии и вычислительные системы, 3, 2004.
41. П.С.Василец, Л.А.Кулаков Совместимость MPEG-1 и MPEG-2 стандартов. Информационные технологии и вычислительные системы. Сборник научных трудов ИМВС РАН, 2002.
42. П.С.Василец, В.В.Тихорский Методика представления конвейера при формальной верификации микропроцессоров. Информационные технологии и вычислительные системы 1/1999.
43. М.Жвинд, Э.Олтмен, С.Сатхаи, П.Ледак, Д.Аппензеллер Динамическая и прозрачная двоичная трансляция. Открытые системы 4/2000.
44. К.Зепг, К.Томпсон Из РА-RISC в IA-64: прозрачное выполнение, никакой перекомпиляции. Открытые системы 4/2000.
45. Максименков Д.А. Генератор тестов для бинарного компилятора. Сборник трудов «Современные информационные технологии и ИТ-образование» Москва, 200554. http://www.transitive.com/
46. T.P.Morgan Transitive Emulates Srver Platforms on Other Iron, DeepApple.com
47. Л.Башкиров Светлое будущее Apple, OSX погубит Linux, больше конкретики о Rosetta. MacTime.ru
48. K.Krewell Transitive's Tech Frees ISA Dependence Microprocessor Report 8/8/2005
49. D.Bacon, S.Graham, O.SharpCompiler Transformations for High-Performance Computing. Computer Science Division, University of Califirnia, Berkely, California 94720.
50. Василец П.С. Специфика оптимизации вещественных приложений в оптимизирующем двоичном компиляторе. Компьютеры в учебном процессе, 3, 2006.
51. Василец П.С., Масленников Д.М. Оптимизирующая двоичная трансляция вещественных приложений. Информационные технологии, 6, 2006.1. Список иллюстраций
52. Рис. 1 Структура двоично-транслирующей системы.
53. Рис.2 Схема статической двоично-транслирующей системы.
54. Рис. 3 Схема динамической двоично-транслирующей системы.
55. Рис. 4 Схематическое представление контекста исходной платформы.
56. Рис. 5 Схематическое представление вещественного контекста исходной архитектуры
57. Рис. 6 Контрольный регистр вещественной арифметики целевой архитектуры. Floating point control register FPCR
58. Рис. 7 Статусный регистр вещественной арифметики целевой архитектуры. Floating point status register FPSR.
59. Рис. 8 Принцип соответствия элементов вещественного контекста исходной архитектуры и статусного регистра состояния вещественного стека целевой архитектуры.
60. Рис. 9 Принцип соответствия полей статусного регистра и регистров вещественного стека целевой архитектуры.
61. Рис. 10 Алгоритмическое представление операции продвижения указателя вещественного стека (ABG) целевой архитектуры.
62. Рис. 11 Схематическое представление сбалансированности цикла по относительному смещению указателя вершины вещественного стека.
63. Рис.12 Критерий сбалансированности цикла по относительному смещению указателя вершины вещественного стека.
64. Рис. 13 Пример представления управляющего графа сбалансированного по относительному изменению указателя вершины вещественного стека.
65. Рис. 14 Принцип разделения управляющего графа в точках множественного схождения с несбалансированным смещением указателя вершины вещественного стека.
66. Рис. 15 Схематическое представление алгоритма расстановки искусственного смещения stp в узлах управляющего графа.
67. Рис. 16 Пример управляющего графа с точкой множественного схождения с независимым изменением относительного смещения указателя вершины вещественного стека.
68. Рис. 17 Накопления статической информации па примере последовательности вещественных операций.
69. Рис. 18 Примеры элементов управляющего графа с прямым наследованием с множественным схождением.
70. Рис.19 Пример рекурсивного распространения в обе стороны (вверх и вниз) одновременно информационной зависимости от линейного участка с проявлением анализируемого признака (узел, выделенный цветом) до входов и выходов из региона.
71. Рис. 20 Пример рекурсивного распространения сверху-вниз информационной зависимости от узла с проявлением анализируемого признака АО до его использования ВО.
72. Рис.21 Алгоритмическое представление метода переименования вещественного контекста.
73. Рис. 22 Схематическое представление механизма построения контрольных условий на входе в регион.
74. Рис. 23 Согласованные состояния регистра BGR (а). Согласованные циклически смещенные состояния регистра BGR (б ).
75. Рис. 24 Получения максимального относительного смещения указателявершины вещественного стека на примере управляющего графа.
76. Рис. 25 Пример получения аналитической информации для построения корректных условий проверки на входах в регион. Получение позиций вещественного стека с обязательной их определенностью.
77. Рис. 26 Схематическое представление механизма построения распаковок на входе в регион
78. Рис. 27 Схематическое представление механизма построения распаковок на входе в регион
79. Рис. 28 Пример точки схождения управляющего графа с альтернативными вариантами модификации состояния бита С1 регистра FPSR.
80. Рис. 29 Алгоритм восстановления бита С1 статусного регистра FPSR
81. Рис. 30 Схема модификации исходного представления в следствии применения метода переименования.
82. Рис.31 Пример применения правила сбора общих подвыражений с вещественной спецификой
83. Рис. 32 Схематическое представление мультимедийного контекста исходной архитектуры.
84. Рис.33 Принцип отображения элементов мультимедийного ММХ контекста исходной архитектуры на вещественный стек.
85. Рис.34 Контрольный и статусный регистр мультимедийного SSE контекста исходной архитектуры
86. Рис. 35 Схематическое представление мультимедийного контекста на целевой архитектуре.
87. Рис. 36 Схема модификации исходного представление в следствии применения метода переименования мультимедийного контекста.
88. Рис. 37 Схематическое представление разрыва цикловой зависимости в случае ее препятствия работе метода переименования.
89. Рис. 38 Схематическое представление метода раскрашивания управляющего графа в цвета по принципу использования различными контекстами вещественного стека.
90. Рис. 39 Пример спорного узла при раскрашивании управляющего графа.
91. Рис. 40 Пример 2 спорного узла при раскрашивании управляющего графа.
92. Рис.41 Схема модифицированного исходного смешанного представления в следствии применения метода переименования.
93. Рис. 42 Схема простейшего случая смешанного исходного представления.
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.