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

Презентация:



Advertisements
Похожие презентации
Разработка JRE на ECMA CLI Ушаков Денис Сергеевич Кафедра системного программирования, группа 545 Научный руководитель: Салищев Сергей Игоревич Рецензент:
Advertisements

Проверка эквивалентности срединной и линейной осей многоугольника Дипломная работа студента 545 группы Подколзина Максима Валериевича Санкт-Петербургский.
ПОТОКО-ЧУВСТВИТЕЛЬНЫЙ АНАЛИЗ УКАЗАТЕЛЕЙ ЯЗЫКА С, ОСНОВАННЫЙ НА ДИАГРАММАХ ДВОИЧНЫХ РЕШЕНИЙ Санкт-Петербургский Государственный Университет Математико-Механический.
Оптимизация времени работы и качества генерируемого кода компиляторов Apache Harmony Куртов Николай Владимирович студент 3-го.
Санкт-Петербургский Государственный Университет Математико-Механический факультет Кафедра системного программирования Применение диаграмм двоичных решений.
Санкт - Петербургский Государственный Университет Математико - механический факультет Кафедра системного программирования Система проверки данных на полноту.
Введение в параллельную обработку. Уровни параллелизма в процессорах Параллелизм данных (DLP – Data Level Parallelism) Параллелизм команд (ILP – Instruction.
Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Научный руководитель: Я.А. Кириленко.
Генерация скрипта создания базы данных с учетом зависимостей Автор : Максим Масунов, 545 группа Санкт - Петербургский государственный университет Математико.
Сравнение различных технологий создания и использования web-сервисов Дипломная работа студентки 544 группы Григорьевой Елены Научный руководитель: Графеева.
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Математико-механический факультет Кафедра системного программирования Автоматизация выбора оптимальной.
Поиск изображений по признаку самоподобия локальных дескрипторов САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Математико-механический факультет Кафедра.
Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Разработка кроссплатформенного приложения для кластерного анализа данных на основе рандомизированных алгоритмов Дипломная работа студента 544 группы Морозкова.
Архитектура микропроцессоров И ее эволюция. Процессор и память: Команды и данные.
Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Распределение регистров при планировании инструкций для архитектуры Эльбрус Дипломная работа Иванова Д. С. Научный руководитель Шлыков С. Л. Москва 2008.
Поддержка разработки Parallels Business Automation в среде Eclispe Научный руководитель: Сергушенков Ю. А. Рецензент: доцент кафедры системного программирования,
Санкт-Петербургский Государственный Университет Математико-Механический факультет Кафедра системного программирования Межъязыковое взаимодействие OCaml.
Генерация средств импорта данных в рамках проектов ИС, реализованных в технологии REAL-IT Выполнил Комиссаров Антон Научный руководитель: Иванов А.Н. Рецензент:
Транксрипт:

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

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

Результаты Разработаны идеи и эвристики для оптимизации линеаризации и выравнивания кода Опробована схема удаления ветвлений в коде В генераторе кода JIT-компилятора виртуальной машины Apache Harmony реализованы улучшения линеаризации и выравнивания кода, удаления ветвлений Получен прирост производительности на микротестах и популярных бенчмарках, таких как SciMark (Monte Carlo – прирост 60%) Увеличена стабильность метрик производительности Изменения приняты и интегрированы в Apache Harmony

Apache Harmony Открытая реализация виртуальной машины Java JIT-компилятор Jitrino.OPT – оптимизирующий компилятор с возможностью профилировки и перекомпиляции Особенности front-end микроархитектуры Core не учтены

Выравнивание кода Отсутствие trace cache по сравнению с микроархитектурой NetBurst Линия выборки (fetch line) 16 байт Особенности предсказателя переходов Дополнительная возможность процессора – loop stream detector Все эти особенности учтены и разработана эвристика для выравнивания кода

Линеаризация кода Расположение базовых блоков графа потока управления в линейном порядке Алгоритм bottom-up, имеющий много свойств, положительных для front-end процессора Найдены возможности для улучшения под микроархитектуру Core Разработана эвристика для оптимизации алгоритма

Удаление ветвлений Все современные микроархитектуры – конвейерные суперскалярные Неправильно предсказанный условный переход приводит к задержке работы конвейера Иногда можно удалить ветвление, заменив его на более сложные, но линейные вычисления Схема удаления ветвлений опробована на бенчмарке SciMark, получен значительный прирост производительности