Оптимизации генерации кода в JIT-компиляторе виртуальной машины Java презентация

Актуальность работы Постоянное совершенствование микроархитектуры процессоров Особенности новой микроархитектуры Intel Core Увеличение важности производительности front-end процессора Работа front-end влияет не только на производительность, но и на флуктуацию при

Слайд 1Дипломная работа «Оптимизации генерации кода в JIT-компиляторе виртуальной машины Java» 
Научный руководитель
Куксенко С.В. 

Рецензент
Салищев

С.И.
Выполнил
Проничкин Дмитрий 544гр.

2008

Санкт-Петербургский государственный университет
Математико-механический факультет
Кафедра системного программирования


Слайд 2Актуальность работы
Постоянное совершенствование микроархитектуры процессоров

Особенности новой микроархитектуры Intel Core

Увеличение важности производительности

front-end процессора

Работа front-end влияет не только на производительность, но и на флуктуацию при ее измерении

Отсутствие работ, учитывающих данные особенности микроархитектуры Core, даже в Intel Compiler



Слайд 3Результаты
Разработаны идеи и эвристики для оптимизации линеаризации и выравнивания кода

Опробована схема

удаления ветвлений в коде

В генераторе кода JIT-компилятора виртуальной машины Apache Harmony реализованы улучшения линеаризации и выравнивания кода, удаления ветвлений

Получен прирост производительности на микротестах и популярных бенчмарках, таких как SciMark (Monte Carlo – прирост 60%)

Увеличена стабильность метрик производительности

Изменения приняты и интегрированы в Apache Harmony


Слайд 4Apache Harmony
Открытая реализация виртуальной машины Java

JIT-компилятор Jitrino.OPT – оптимизирующий компилятор с

возможностью профилировки и перекомпиляции

Особенности front-end микроархитектуры Core не учтены

Слайд 5Выравнивание кода
Отсутствие trace cache по сравнению с микроархитектурой NetBurst

Линия выборки (fetch

line) 16 байт

Особенности предсказателя переходов

Дополнительная возможность процессора – loop stream detector

Все эти особенности учтены и разработана эвристика для выравнивания кода

Слайд 6Линеаризация кода
Расположение базовых блоков графа потока управления в линейном порядке

Алгоритм “bottom-up”,

имеющий много свойств, положительных для front-end процессора



Найдены возможности для улучшения под микроархитектуру Core

Разработана эвристика для оптимизации алгоритма




Слайд 7Удаление ветвлений
Все современные микроархитектуры – конвейерные суперскалярные

Неправильно предсказанный условный переход приводит

к задержке работы конвейера

Иногда можно удалить ветвление, заменив его на более сложные, но линейные вычисления

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

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика