Методы повышения производительности двоично-транслирующих систем с аппаратной поддержкой тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат технических наук Ермолович, Александр Владленович

  • Ермолович, Александр Владленович
  • кандидат технических науккандидат технических наук
  • 2003, Москва
  • Специальность ВАК РФ05.13.11
  • Количество страниц 134
Ермолович, Александр Владленович. Методы повышения производительности двоично-транслирующих систем с аппаратной поддержкой: дис. кандидат технических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Москва. 2003. 134 с.

Оглавление диссертации кандидат технических наук Ермолович, Александр Владленович

Введение

1 Эффективность двоично-транслирующих систем

1.1 Двоичная трансляция и перспективные архитектуры вычислительных систем.

1.2 Оптимизирующие системы двоичной трансляции.

1.3 Существующие системы двоичной трансляции.

1.4 Проблемы повышения эффективности.

1.5 Постановка задачи.

1.6 Выводы.

2 Система "Lintel"

2.1 Архитектура "Эльбрус".

2.2 Схема двоичной трансляции на "Эльбрусе".

2.3 Особенности двоично-транслирующей системы "Lintel".

2.4 Шаблонная и оптимизирующая трансляции.

2.5 Результаты.

2.6 Выводы.

3 Адаптивность в двоично-транслирующей системе

3.1 Проблема адаптивности.

3.2 Построение адаптивной двоично-транслирующей системы.

3.3 Двухуровневая реализация.

3.4 Результаты.

3.5 Выводы. ф 4 База данных кода

4.1 Управление памятью в "Lintel".

4.2 Хранение двоично-транслированного кода в памяти.

4.3 Хранение двоично-транслированного кода на внешнем носителе

4.4 Структура базы данных кода.

4.5 Распознавание кода и загрузка.

4.6 Результаты.

4.7 Выводы.

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

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

Актуальность работы

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

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

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

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

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

Тем не менее, на протяжении целого ряда лет именно методы аппаратной поддержки использовались для достижения двоичной совместимости между различными архитектурами коммерчески успешных микропроцессоров. Двоичная совместимость на аппаратном уровне стала неотъемлемым атрибутом анонсов новых микропроцессоров, будь то Intel, Sun, AMD или IBM. Разработчики декларируют как минимум совместимость на уровне приложений [2], а как максимум - полную совместимость со всеми ранее созданными кодами для ранних моделей микропроцессоров этого семейства [3].

О масштабах возможных дополнительных затрат на совместимость на аппаратном уровне можно судить по современным микропроцессорам архитектуры IA-32, уже давно [4, 5] превратившихся из микропроцессоров с полным набором команд (CISC) в связку из суперскалярного ядра, представляющего собой микропроцессор с сокращенным набором команд (RISC), и аппаратного перекодировщика команд, разбивающего сложные CISC-инструкции на множество простых RISC-операций, уже непосредственно исполняемых этим ядром.

Однако подобные, весьма сложные, чисто аппаратные средства отнюдь не являются единственным способом обеспечения двоичной совместимости между различными моделями микропроцессоров. Реальную альтернативу им составляет техника двоичной трансляции [6, 7, 8] - высокопроизводительный программный метод обеспечения двоичной совместимости.

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

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

Техника двоичной трансляции развивается достаточно давно, однако вплоть до недавнего времени она рассматривалась лишь как вспомогательное направление развития архитектуры ВК, как правило призванное облегчить переход конкретной аудитории пользователей на новую архитектуру [9] - то есть как некий фрагментарный подход, не претендующий на универсальность. Ввиду этого не уделялось должного внимания вопросам обеспечения полной семантической адекватности поведения двоично-транслированных кодов своим исходным аналогам, рамки применимости метода чаще всего сужались до двоичной трансляции приложений, а задача оптимизации трансляций решалась по остаточному принципу. Это приводило к созданию проектов, не позволявших говорить ни о высокой производительности, ни о достаточной надежности, ни об универсальности и прозрачности2 работы двоично-транслирующих систем.

На самом же деле, все отмеченные недостатки являлись прежде всего следствиями тех или иных компромиссов, принятых в конкретных реализациях, но никак не техники двоичной трансляции в целом. Так, уже упоминавшиеся современные микропроцессоры архитектуры IA-32 представляют собой фактически аппаратную реализацию двоично-транслирующей системы - двоично-транслирующая машина транслирует исходные CISC-команды в целевые RISC-команды, выполняет пехТермин "трансляция" в технике двоичной трансляции используется как для обозначения действия по переводу кодов исходной платформы в коды целевой платформы, так и для обозначения образующихся в результате этого действия двоично-транслированных кодов.

2Под "прозрачностью" двоично-транслирующей системы понимается сокрытие ее функционирования от конечного пользователя. реупорядочивание RISC-команд и запускает их исполнение на RISC-машине, обеспечивая впоследствии корректное отображение видимых эффектов CISC-операций в порядке их следования в исходном коде. Следовательно, объективно отсутствуют причины, по которым техника двоичной трансляции не могла бы использоваться в качестве эффективного средства обеспечения двоичной совместимости.

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

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

Цель исследования

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

В соответствии с этим, были определены следующие задачи диссертационного исследования:

• анализ принятых принципов построения двоично-транслирующих систем;

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

• теоретическая разработка модели двоично-транслирующей системы, опирающейся на полученные результаты;

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

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

К составляющим научную новизну диссертационной работы решениям можно отнести:

• схему многоуровневой двоичной трансляции с адаптивной коррекцией уровня проводимых оптимизаций на основе динамического анализа поведения исполняемых кодов;

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

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

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

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

• разработаны схема и методы построения многоуровневых адаптивных двоично-транслирующих систем;

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

• разработан и реализован многофункциональный аппарат базы кодов.

Реализованы несколько версий действующих двоично-транслирующих систем, подтверждающих выносимые на защиту результаты. 4

Практическая ценность

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

• семейство инструментальных динамических двоичных трансляторов уровня приложений для переноса приложений платформы Solaris/IA-32 на модель микропроцессора "Эльбрус-ЗМ";

• семейство динамических двоичных трансляторов уровня виртуальной машины для исполнения произвольных кодов архитектуры IA-32 на архитектуре "Эльбрус-ЗМ", работающих в составе многоязыковой системы программирования "Эльбрус-ЗМ", разработанной в ЗАО МЦСТ;

• ВК "Эльбрус-ЗМ", разработанный в ЗАО МЦСТ, обеспечивающий совместимость с архитектурной платформой IA-32 на уровне виртуальной машины.

Апробация

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

• международная конференция "Региональная Информатика - 2000" (Санкт-Петербург, 2000 г.);

• международная конференция "Региональная Информатика - 2002" (Санкт-Петербург, 2002 г.);

• международная молодежная научная конференция XXVI Гагаринские чтения (Москва, 2000 г.);

• международная молодежная научная конференция XXVII Гагаринские чтения (Москва, 2001 г.); ^

• международная молодежная научная конференция XXVIII Гагаринские чтения (Москва, 2002 г.);

• международная молодежная научная конференция XXIX Гагаринские чтения (Москва, 2003 г.);

• всероссийская научно-техническая конференция "Новые материалы и технологии" - НМТ-2002 (Москва, 2002 г.).

Кроме того, результаты диссертационной работы докладывались и обсуждались на научно-технических семинарах ЗАО МЦСТ и ИМВС РАН.

Публикации

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

1. Ермолович А.В. Динамическое профилирование для двоично-транслирующей системы // Информационные технологии, №3, 2002, с. 9-13.

2. Ермолович А.В. База кодов как средство повышения эффективности динамической двоично-транслирующей системы // Информационные технологии, №9, 2003, с. 14-22.

3. Ермолович А.В. Применение базы кодов в динамической двоично-транслирующей системе - Высокопроизводительные вычислительные системы и микропроцессоры, сборник научных трудов, выпуск 4, Мм ИМВС РАН, 2003, с. 55-66.

4. Ермолович А.В. Системная поддержка динамического двоичного компилятора: управление памятью - Тезисы докладов Международной конференции XXVI Гагаринские чтения, М., 2000.

5. Ермолович А.В. Технология выделения и последующей оптимизации регионов в двоично-транслируемом коде как средство повышения производительности вновь разрабатываемых систем динамической двоичной трансляции -Тезисы докладов Международной конференции XXVII Гагаринские чтения, М., 2001.

6. Ермолович А.В. Применение базы данных двоично-транслированного кода для повышения производительности систем динамической двоичной трансляции - Тезисы докладов Международной конференции XXVIII Гагаринские чтения, М., 2002.

7. Ермолович А.В. Метод выбора глобальных меток в динамически формируемых регионах двоично-транслируемого кода - Тезисы докладов Международной конференции XXIX Гагаринские чтения, М., 2003.

8. Ермолович А.В. Применение концепции региональной компиляции в динамической компоненте двоично-транслирующей системы - Тезисы докладов Международной конференции "РИ-2000", СПб., 2000.

9. Ермолович А.В. Специализированная база данных как средство повышения производительности оптимизирующей двоично-транслирующей системы - Тезисы докладов Международной конференции "РИ-2002", СПб., 2002.

10. Ермолович А.В. Поддержка механизма долговременного хранения трансляций для оптимизирующей двоично-транслирующей системы - Тезисы докладов Всероссийской научно-технической конференции НМТ-2002, М., 2002, Том 3, с. 36-37.

Кроме того, имеется патентная заявка США 10/453,448 (в соавторстве) по теме диссертации, поданная 2 июня 2003 года.

Структура и объем работы

Диссертационная работа состоит из введения, четырех глав и заключения. Первая глава диссертационной работы посвящена рассмотрению двоично-транслирующих систем. Анализируются основные схемы работы двоично-транслирующих систем. Выделяются специфические аспекты оптимизации двоичных кодов. Приводится краткий обзор некоторых широко известных двоично-транслирующих систем. На основе анализа проблемы повышения эффективности работы двоично-транслирующих систем формулируется постановка задачи.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Ермолович, Александр Владленович

4.7. Выводы

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

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

• применение специализированной энергонезависимой базы данных для хранения оптимизированных кодов позволяет снижать затраты на оптимизи

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

Заключение

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

В основе этого лежат следующие разработанные в диссертации положения:

1. Адаптивность поведения достигается за счет динамического анализа характера работы двоично-транслированных кодов.

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

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

В процессе исследований были получены следующие результаты:

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

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

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

4. Реализована двухуровневая адаптивная динамическая двоично-транслирующая система уровня виртуальной машины с платформы IA-32 на платформу Е2К.

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

6. Реализованы несколько алгоритмов работы базы кодов для динамической двоично-транслирующей системы уровня виртуальной машины с платформы IA-32 на платформу Е2К.

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

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

Основной вывод по результатам работы

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

Личный вклад автора

Автором были выполнены:

• техническое проектирование подсистемы динамической поддержки и реализация алгоритмов ее функционирования при создании комплекса двоично-транслирующих систем с архитектуры IA-32 на архитектуру Е2К;

• реализация основного комплекса сервисов системной поддержки;

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

• реализация механизма базы данных двоично-транслированных кодов;

• разработка ряда архитектурных решений в составе ВК "Эльбрус-ЗМ", направленных на повышение эффективности работы рассматриваемых двоично-транслирующих систем (управление внешними прерываниями из пользовательского режима, специализированные расширения функциональности local APIC, асинхронное прерывание при коллизиях прямого доступа в память с выносом данных из памяти на регистры, эмуляция режима работы с маскированной линией А20 в устройстве управления памятью микропроцессора, механизм поддержания когерентности двоично-транслированных кодов при прямом доступе в память со стороны внешних устройств, интерфейс накопителя базы кодов).

1. Рожков С.А. Технология двоичной совместимости программно-аппаратных средств // Программные продукты и системы, №1, 1999, с. 5-12.

2. UltraSPARC III Processor White Paper - http://www.sun.com/processors/ UltraSPARC-Ill/.

3. The AMD64 Computing Platform: Your Link to the Future of Computing

AMD64 White Paper, http://www.amd. com/us-en/Processors/ Productlnformation/O, ,3011893318996, 00.html.

4. Halfhill T.R. AMD Vs. Superman // Byte, November 1994.

5. Halfhill T.R. Intel's P6 // Byte, April 1995.

6. Рожков С.А. Двоичная трансляция и двоичная совместимость - Тезисы докладов Международной конференции XXV Гагаринские чтения, Том 1, М., 1999, с. 383384.

7. Silberman G.M., Ebcioglu К. An architectural framework for migration from CISC to higher performance platforms - In Proc. of the 1992 International Conference on Supercomputing, pp. 198-215, Washington, DC, July 1992, ACM Press.

8. Sites R., Chernoff A., Kirk M., Marks M., Robinson S. Binary Translation // Communications of the ACM, Vol. 36, №2, February 1993, pp. 69-81.

9. FlashPort product literature, AT&T Bell Laboratories, August 1994.

10. Intel, HP Make EPIC Disclosure // Microprocessor Report, Vol. 11, №14, Oct. 27, 1997.

11. Cifuentes С., Malhotra V. Binary Translation: Static, Dynamic, Retargetable? -Proceedings of the 1996 International Conference on Software Maintenance (ICSM '96), Monterey, CA, November, 1996.

12. Chernoff A., Hookway R. DIGITAL FX!32: Running 32-Bit x86 Applications on Alpha NT - Proceedings of the USENIX Windows NT Workshop Seattle, Washington, August 1997.

13. Chernoff A., Herdeg M„ Hookway R., Reeve C., Rubin N., Туе Т., Yadavalli S.B., Yates J. FX!32: A Profile-Directed Binary Translator // IEEE Micro, March/April 1998 (Vol. 18, №2), pp. 56-64.

14. Connectix Virtual PC - http://www.connectix.com.

15. Klaiber A. The technology behind Crusoe processors - Technical report, Transmeta Corp., Santa Clara, CA, January 2000.

16. Cramer Т., Friedman R., Miller Т., Seberger D., Wilson R., Wolczko M. Compiling Java Just in Time // IEEE Micro, May/June 1997 (Vol. 17, №3), pp. 36-43.

17. Ebcioglu K. et al. Dynamic Binary Translation and Optimization // IEEE Transactions on Computers, Vol. 50, №6, pp. 529-548, Jun 2001.

18. Drozdov A., Volkonski V. 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.

19. Krewell K. EPIC: Designed for the 21st Century - In-Stat/MDR EPIC Whitepaper, November 2002.

20. Bala V., Duesterwald E., Banerjia S. Transparent Dynamic Optimization: The Design and Implementation of Dynamo - HP Laboratories Cambridge, June 1999.

21. Merten M.C., Thiems M.S. An Overview of the IMPACT X86 Binary Reoptimization Framework - IMPACT Technical Report, IMPACT-98-05, University of Illinois, Urbana, IL 1998.

22. Рожков С.А. Методы двоичной трансляции с использованием аппаратных средств - Тезисы докладов конференции Мельниковские чтения, М., 1999 .

23. Рожков С.А. Надежность оптимизирующих двоично-транслирующих систем // Информационные технологии и вычислительные системы, №1, 1999, с. 14-22.

24. Gschwind М., Altman Е. Precise exceptions in dynamic compilation - In Proc. of the 2002 Workshop on Compiler Construction, LNCS, Grenoble, France, 2002.

25. Рожков С.А. Программные методы исполнения двоичных кодов на основе аппаратной поддержки - Диссертация на соискание ученой степени кандидата технических наук, М., НИИ "Вычислительные Технологии", 1999.

26. Performance Of Connectix Virtual PC - http://www.macspeedzone.com/ archive/Comparison/VPC.html.

27. QEMU CPU Emulator - http://fabrice.bellard.free.fr/qemu.

28. Hohensee P., Myszewski M., Reese D. Wabi Cpu Emulation - Hot Chips VIII Proceedings, Stanford, August 1996.

29. Sun delivers best-of-both-worlds with SunPCi and SunForum PC interoperability solutions - Sun Microsystems, Inc. press release, February 1999, http://www. sun.com/smi/Press/sunflash/9902/sunflash.990202.3.html.

30. Altman E., Gschwind M., Sathaye S., Kosonocky S., Bright A., Fritts J., Ledak P., Appenzeller D., Agricola C., Filan Z. BOA: The Architecture of a Binary Translation Processor - IBM Research Report RC 21665 (97500), 16 December 2000.

31. Babayan B.A. Main Principles of E2K Architecture // Free Software Magazine, Vol. 1, Issue 02, Feb 2002.

32. Diefendorff K. The Russians Are Coming // Microprocessor Report, Vol. 13, №2, Feb. 15, 1999.

33. Бабаян Б.А., Волконский В.Ю. и др. Высокопроизводительный центральный процессор МВК Эльбрус-3 с архитектурой широкого командного слова - Семейство моделей многопроцессорных вычислительных комплексов "Эльбрус" -состояние и перспективы: Тез. докладов Всесоюзного научно-технического семинара НПО СВТ, ИТМ и ВТ АН СССР, ИЦ НПО АСУ "Москва", М. 1990, с. 24-25.

34. Babaian В., Volkonsky V. et al. Wide Instruction Word Architecture Central Processor - United States Patent №5418975, May 23, 1995; PCT Pub. Date: Oct. 15, 1992; PCT Filed: Aug. 20, 1991.

35. Волконский В.Ю., Тихонов В.Г., Эльцин Е.А., Матвеев П.Г. Реализация объектно-ориентированных языков программирования, гарантирующая межмодульную защиту - Высокопроизводительные вычислительные системы и микропроцессоры, сборник научных трудов, выпуск 4, Мм ИМВС РАН, 2003, с. 18-37.

36. IA-32 Intel Architecture Software Developer's Manual, Vol. 1-3, Intel Corp.

37. Иванов А.А. Обобщенное описание семантики в двоично-транслирующей системе с платформы Intel на платформу Эльбрус - Высокопроизводительные вычислительные системы и микропроцессоры, сборник научных трудов, выпуск 4, М., ИМВС РАН, 2003, с. 44-54.

38. Ермолович А.В. Системная поддержка динамического двоичного компилятора: управление памятью - Тезисы докладов Международной конференции XXVI Гагаринские чтения, М., 2000.

39. Muchnick S.S. Advanced Compiler Design and Implementation - Morgan Kaufmann Publishers, Inc., SF, California, 1997.

40. Ball Т., Larus J.R. Efficient Path Profiling - MICRO-29, December 1996.

41. Chang P.P. Trace selection for compiling large С application programs to microcode - MICRO-21, November 1988.

42. Ермолович А.В. Динамическое профилирование для двоично-транслирующей системы // Информационные технологии, №3, 2002, с. 9-13.

43. Anderson J.M., Berc L.M., Dean J., Ghemawat S., Henzinger M.R., Leung S.A., Sites R.L., Vandevoorde M.T., Waldspurger C.A., and Weihl W.E. Continuous profiling: Where have all the cycles gone? // ACM Transactions on Computer Systems, Vol. 15, №4, pp. 357-390, November 1997.

44. Sastry S.S., Bodik R., and Smith J.E. Rapid profiling via stratified sampling - In International Symposium on Computer Architecture (ISCA), 2001, pp. 278-289.

45. Conte T.M., Menezes K.N., and Hirsch M.A. Accurate and practical profile-driven compilation using the profile buffer - In Proc. 29th Annual Intl. Symp. on Microarchitecture, pp. 36-45, Paris, France, Dec. 1996.

46. Hank R.E. Region Based Compilation - Doctoral thesis, University of Illinois at Urbana Champaign,1996.

47. Hank R.E., Hwu W.W., Rau B.R. Region-Based Compilation: An Introduction and Motivation - MICRO-28, December 1995.

48. Ермолович А.В. Применение концепции региональной компиляции в динамической компоненте двоично-транслирующей системы - Тезисы докладов Международной конференции "РИ-2000", СПб., 2000.

49. Ермолович А.В. Технология выделения и последующей оптимизации регионов в двоично-транслируемом коде как средство повышения производительности вновь разрабатываемых систем динамической двоичной трансляции - Тезисы докладов Международной конференции XXVII Гагаринские чтения, М., 2001.

50. Ермолович А.В. Метод выбора глобальных меток в динамически формируемых регионах двоично-транслируемого кода - Тезисы докладов Международной конференции XXIX Гагаринские чтения, М., 2003.

51. Ермолович А.В. Применение базы данных двоично-транслированного кода для повышения производительности систем динамической двоичной трансляции

Тезисы докладов Международной конференции XXVIII Гагаринские чтения, М., 2002.

52. Ермолович А.В. Поддержка механизма долговременного хранения трансляций для оптимизирующей двоично-транслирующей системы - Тезисы докладов Всероссийской научно-технической конференции НМТ-2002, Том 3, М., 2002, с. 36-37.

53. Ермолович А.В. Специализированная база данных как средство повышения производительности оптимизирующей двоично-транслирующей системы - Тезисы докладов Международной конференции "РИ-2002", СПб., 2002.

54. Ермолович А.В. Применение базы кодов в динамической двоично-транслирующей системе - Высокопроизводительные вычислительные системы и микропроцессоры, сборник научных трудов, выпуск 4, М., ИМВС РАН, 2003, с. 55-66.

55. Ермолович А.В. База кодов как средство повышения эффективности динамической двоично-транслирующей системы // Информационные технологии, №9, 2003, с. 14-22.

Патентная заявка США

56. Method of using a plurality of virtual memory spaces for providing efficient binary compatibility between a plurality of source architectures and a single target architecture. Inventors: Boris A. Babaian; Roman A. Khvatov; Alexander V. Ermolovich. Appl. No.: 10/453,448. Filed: June 2, 2003

Список литературы диссертационного исследования кандидат технических наук Ермолович, Александр Владленович, 2003 год

1. Рожков с.А. Технология двоичной совместимости программно-аппаратных средств / / Программные продукты и системы, №1, 1999, с, 5-12.

4. Halfhill T.R, AMD Vs. Superman / / Byte, November 1994.

5. Halfhill T.R. Intel's P6 / / Byte, April 1995.

6. Рожков с.A. Двоичная трансляция и двоичная совместимость - Тезисы докладов Международной конференции XXV Гагаринские чтения. Том 1, М., 1999, с. 383-384.

7. Silberman G.M., Ebcioglu К. An architectural framework for migration from CISC to higher performance platforms - In Proc. of the 1992 International Conference on Supercomputing, pp. 198-215, Washington, DC, July 1992, ACM Press.

8. Sites R., Chernoff A., Kirk M., Marks M., Robinson S. Binary Translation / / Communications of the ACM, Vol. 36, №2, February 1993, pp. 69-81.

9. FlashPort product literature, AT&T Bell Laboratories, August 1994.

10. Chernoff A., Hookway R. DIGITAL FX!32: Running 32-Bit x86 Applications on Alpha NT - Proceedings of the USENIX Windows NT Workshop Seattle, Washington, August 1997.

11. Chernoff A., Herdeg M., Hookway R., Reeve C„ Rubin N.. Туе Т., Yadavalli S.B., Yates J. FXI32: A Profile-Directed Binary Translator / / IEEE Micro, March/April 1998 (Vol. 18, №2), pp. 56-64.

13. Klaiber A. The technology behind Crusoe processors - Technical report, Transmeta Corp., Santa Clara, CA, January 2000.

14. Cramer Т., Friedman R., Miller Т., Seberger D., Wilson R., Wolczko M. Compiling H Java Just in Time / / IEEE Micro, May/June 1997 (Vol. 17, №3), pp. 36-43.

15. Ebcioglu K. et al. Dynamic Binary Translation and Optimization / / IEEE Transactions on Computers, Vol. 50, №6, pp. 529-548, Jun 2001,

16. Drozdov A., Volkonski V, et al. The Optimizing Compiler for the Elbrus-

17. Supercomputer - International Congress on Computer Systems and Applied Mathematics. CSAM'93, Abstracts, St. Petersburg, July 19-23, 1993, pp. 127-128.

18. Krewell K. EPIC: Designed for the 21st Century - In-Stat/MDR EPIC Whitepaper, November 2002.

19. Bala V., Duesterwald E., Banerjia S. Transparent Dynamic Optimization: The Design and Implementation of Dynamo - HP Laboratories Cambridge, June 1999.

20. Рожков А. Надежность оптимизирующих двоично-транслирующих систем / / Информационные технологии и вычислительные системы, №1, 1999, с, 14-22.

21. Gschwind М., Altman Е. Precise exceptions in dynamic compilation - In Proc. of the 2002 Workshop on Compiler Construction, LNCS, Grenoble, France, 2002,

22. Рожков C.A. Программные методы исполнения двоичных кодов на основе аппаратной поддержки - Диссертация на соискание ученой степени кандидата технических наук, М., НИИ "Вычислительные Технологии", 1999,

25. Hohensee P., Myszewski M., Reese D. Wabi Cpu Emulation - Hot Chips VIII Proceedings, Stanford, August 1996.

26. Altman E., Gschwind M., Sathaye S., Kosonocky S., Bright A., Fritts J., Ledak P., Appenzeller D., Agricola C , Filan Z. BOA: The Architecture of a Binary Translation Processor - IBM Research Report RC 21665 (97500), 16 December 2000,

27. Babayan B.A. Main Principles of E2K Architecture / / Free Software Magazine, Vol. 1, Issue 02, Feb 2002.

28. Diefendorff K. The Russians Are Coming / / Microprocessor Report, Vol. 13, №2, Feb. 15, 1999. •116-#

29. Babaian В., Volkonsky V. et al. Wide Instruction Word Architecture Central Processor - United States Patent №5418975, May 23, 1995; PCT Pub. Date: Oct. 15, 1992; PCT Filed: Aug. 20, 1991.

30. IA-32 Intel Architecture Software Developer's Manual, Vol. 1-3, Intel Corp..

31. Иванов A.A. Обобщенное описание семантики в двоично-транслирующей системе с платформы Intel на платформу Эльбрус - Высокопроизводительные вычислительные системы и микропроцессоры, сборник научных трудов, выпуск 4, М., ИМВС РАН, 2003, с. 44-54.

32. Ермолович А.В. Системная поддержка динамического двоичного компилятора: управление памятью - Тезисы докладов Международной конференции XXVI Гагаринские чтения, М., 2000.

33. Muchnick S.S. Advanced Compiler Design and Implementation - Morgan Kaufmann Publishers, Inc., SF, California, 1997.

34. Ball Т., Larus J.R. Efficient Path Profiling - MICRO-29, December 1996.

35. Chang P.P. Trace selection for compiling large С application programs to microcode - MICRO-21, November 1988. -117-i|^ 42. Ермолович А.В. Динамическое профилирование для двоично-транслирующей системы / / Информационные технологии, №3, 2002, с, 9-13.

36. Sastry S.S., Bodfk R., and Smith J.E. Rapid profiling via stratified sampling - In International Symposium on Computer Architecture (ISCA), 2001, pp. 278-289.

37. Conte T.M., Menezes K.N., and Hirsch M.A. Accurate and practical profile- driven compilation using the profile buffer - In Proc. 29th Annual Intl. Symp. on Microarchitecture, pp. 36-45, Paris, France, Dec. 1996.

38. Hank R.E. Region Based Compilation - Doctoral thesis. University of Illinois at Urbana Champaign,1996. 1^ 47. Hank R.E., Hwu W.W., Rau B.R. Region-Based Compilation: An Introduction and Motivation - MICRO-28, December 1995.

39. Ермолович А.В. Применение концепции региональной компиляции в динамической компоненте двоично-транслирующей системы - Тезисы докладов Международной конференции "РИ-2000", СПб., 2000.

40. Ермолович А.В. Метод выбора глобальных меток в динамически формируемых регионах двоично-транслируемого кода - Тезисы докладов Международной конференции XXIX Гагаринские чтения, М., 2003.

41. Ермолович А.В. Применение базы данных двоично-транслированного кода для , ^ повышения производительности систем динамической двоичной трансляции --118-j|||r* Тезисы докладов Международной конференции XXVIII Гагаринские чтения, М., 2002.

42. Ермолович А.В. Поддержка механизма долговременного хранения трансляций для оптимизирующей двоично-транслирующей системы - Тезисы докладов Всероссийской научно-технической конференции НМТ-2002, Том 3, М., 2002, с. 36-37.

43. Ермолович А.В. Специализированная база данных как средство повышения производительности оптимизирующей двоично-транслирующей системы - Тезисы докладов Международной конференции "РИ-2002", СПб., 2002.

44. Ермолович А.В. Применение базы кодов в динамической двоично- транслирующей системе - Высокопроизводительные вычислительные системы и микропроцессоры, сборник научных трудов, выпуск 4, М., ИМВС РАН, 2003, с. 55-66.

45. Ермолович А.В. База кодов как средство повышения эффективности динамической двоично-транслирующей системы / / Информационные технологии, №9, 2003, с. 14-22. Патентная заявка США

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