Оптимизация Just – in - time компилятора методом профилирования значений Соколов Андрей Владимирович, ФФ НГУ, 3 курс, Руководитель:

Slides:



Advertisements
Similar presentations
Help: настройка Visual Studio.Net для создания консоль-приложения на основе Intel C++ с применением OpenMP. Инструменты «Практическое параллельное программирование.
Advertisements

Работа выполнена учителем физики Паниной О. В. Руководитель:
Схема распределения грантов городам-участникам программы Тасис (TCAS) Экологические гранты для муниципалитетов.
Поиск оптимального набора параметров оптимизаций компилятора Брусенцов Леонид Евгеньевич студент 4 курса ФИТ НГУ Руководители:Илья.
Автоматическая генерация кода программ с явным выделением состояний Канжелев С.Ю. магистрант СПбГУ ИТМО Шалыто А.А. доктор технических наук профессор СПбГУ.
Разработка и внедрение объектно-ориентированной библиотеки для автоматизации тестирования Кафедра системного программирования Студент: Олейник А.Л. 544.
Дипломная работа Ивановой О.О., группа 545 Научный руководитель: д. ф.-м. н., профессор Терехов А.Н. Генерация кода по диаграмме активностей.
ООО «Баркод Маркет».  Инвентаризация имущества – программная система, позволяющая организовать учет любого имущества компании.  Уменьшение неконтролируемых.
Савенко Мария Олеговна, 361 группа Научный руководитель: старший преподаватель В.С.Полозов.
Инструменты анализа данных метилирования генов в цепочке ДНК. Инструменты анализа данных метилирования генов в цепочке ДНК. Руководитель Вяххи Н. И. Студент.
Астащенко Александр, 445 группа Научный руководитель: В.Г.Шистеров.
Тел. (495) Москва, а/я 212 Рабочая группа по реформе МВД Москва, 2010 Новикова Асмик, Фонд «Общественный вердикт»
Слайд 1 из 25 CRM для МАЛОГО БИЗНЕСА Работа с клиентами, управление продажами и рабочим временем CRM | SRM | HRM | BPM | CTI.
Инструмент реинжиниринга спецификаций трансляций Константин Андреевич Улитин Научный руководитель: Я.А. Кириленко Рецензент: Н.М. Тимофеев Санкт-Петербургский.
Разработка информационной системы накопительной программы лояльности для мобильных устройств Автор: Дьяченко Василий Владимирович мат-мех, 545 группа Научный.
ПРИНЦИПЫ РАЗРАБОТКИ СИСТЕМЫ КЛАССА LEARNING MANAGEMENT SYSTEM И ОПЫТ ЕЕ ИСПОЛЬЗОВАНИЯ НА ФАКУЛЬТЕТЕ МЕНЕДЖМЕНТА Афанасьева С.В. Кафедра бизнес-информатики.
Вид продук ции А i, ед. Затраты на выполнение заказа, руб. Затраты на хранение C xi, руб./ед.год S i, ед. NiNi T i,дн. руб. СoСo СiСi , ,5445.
Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Научный руководитель: Я.А. Кириленко.
Беритесь, ребята, Скорей за работу. Учитесь считать, Чтоб не сбиться со счёту.
О ПЫТ ОРГАНИЗАЦИИ КОНТРОЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ И КАЧЕСТВА ОБУЧЕНИЯ НА БАЗЕ ЦЕНТРА ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ Ю ЖНОГО ФЕДЕРАЛЬНОГО УНИВЕРСИТЕТА.
Миллер Дмитрий, 545 группа Научный руководитель: д.ф.-м.н., профессор, А.Н.Терехов Рецензент: к.ф.-м.н, доцент, А.Н. Иванов.
© 2011 PM Expert Имя Фамилия. 2 © 2011 PM Expert Текст 1  Текст 2 Текст 3 Основные сведения о проекте Дайте краткую информацию о компании, для которой.
Скриптовые языки на примере Perl. Языки программирования Скриптовые Программа (или ее бай-код) интерпретируется Зачастую более высокий уровень абстрагирования.
Виртуальная лаборатория для первоначального обучения проектированию программ Н. Н. Красильников, В. Г. Парфенов, Ф. Н. Царев, А. А. Шалыто Кафедра компьютерных.
1 СПбГУ ИТМО, кафедра Компьютерных Технологий ПРИМЕНЕНИЕ АВТОМАТНОГО ПРОГРАММИРОВАНИЯ ДЛЯ ПОСТРОЕНИЯ СИСТЕМ УПРАВЛЕНИЯ БИЗНЕС- ПРОЦЕССАМИ Евгений Андреевич.
Адаптивный метод распределения SPMD-заданий в грид Паньшенсков Михаил, 545 группа Научный руководитель: Лукичев А.С. Рецензент: Демьянович Ю.К июня.
Блок 3. Семейства белков I. Множественное выравнивание Первый курс, весна 2008, А.Б.Рахманинова.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Демидов А.В г. Операционные системы Лекция 3 Процессы.
Модуль II “Управление маркетинговой деятельностью ” МАРКЕТИНГОВЫЕ ИССЛЕДОВАНИЯ.
Понятие риска применительно к инвестиционным проектам
Apache Harmony или как сделать курсовую работу в рамках этого проекта Фурсов Михаил.
Программа построения институционального партнерства Тасис (IBPP) “УКРЕПЛЕНИЕ КУЛЬТУРЫ ПРАВ ЖЕНЩИН В КАЗАХСТАНЕ” В КАЗАХСТАНЕ” ИНТЕГРИРОВАННЫЙ ПРОЕКТ ПО.
Сопоставление полигональных объектов на основе независимой фрагментации контуров Выполнил: Ю. М. Плотников Научный руководитель: канд. ф.-м. наук К. В.
PHP как язык программирования. Типы данных логические величины int, integer – целые числа real, double, float – вещественные числа string – строки array.
Анализ способов использования и причин неиспользования UML на практике Чернятчик Роман 545 группа научный руководитель: к.ф.-м.н., доц. Кознов Д.В. рецензент:
Отладка и профилирование JavaScript/Ajax
EDCWiki Electronic Document Circulation using wiki Система электронного документооборота на основе wiki Участники: Кузьмин Константин, Цыцулин Виталий.
"The European Molecular Biology Open Software Suite"
EDCWiki Electronic Document Circulation using wiki Система электронного документооборота на основе wiki Участники: Кузьмин К.А., Цыцулин В. И. Руководитель:
Анализ сценариев. Имитационное моделирование. 2 Метод сценариев метод, основанный на построении набора сценариев - возможных непротиворечивых комбинаций.
Конвертор байт-кода java в CIL Д. С. Возжаев, 544 группа Научный руководитель: д. т. н. проф. В. О. Сафонов Рецензент: асп. А. Н. Близнюк Санкт-Петербургский.
Автоматическая трансляция проекта Dypgen с языка OCaml на язык F# Научный руководитель: Я. А. Кириленко Выполнил : студент 345 гр. Эдуард Баранов.
Тема: Сравнительный анализ сложности факторизации алгоритмов целых чисел Выполнила: Дубовицкая Н.В., гр 957 Научный руководитель: Ишмухаметов Ш.Т.
 «Развитие туризма в Северо-Западном регионе РФ»  Почему на Северо-западе России нужен проект в сфере туризма  Общие цели  Организация проекта и подход.
Решения Microsoft в области управления идентификацией и доступом Дмитрий Алтухов, Optimicon IT Optimization Consulting … в контексте.
Вычисление типов в императивных динамически типизированных языках. Михаил Калугин, студент 3 курса ММФ Научные руководители: Игорь Николаевич Скопин Андрей.
Санкт-Петербургский Государственный Университет Математико-Механический факультет Кафедра системного программирования Применение диаграмм двоичных решений.
Реализация XPath над S-выражениями 2007 Миленин Евгений, гр. 544 Кафедра Системного Программирования Математико-Механический ф-т, СПбГУ Научный руководитель:
Поиск оптимального набора значений опций компиляции Студент: Чирцов Артём, ФИТ/IV Руководитель: Илья Чёрный
Разработка программного обеспечения (Software Engineering)
Методы анализа данных. Статистическая проверка гипотез.
Моделирование систем хранения с целью уменьшения потребления энергии Научный руководитель: ассистент кафедры информатики Алиев А. А. Рецензент: ст. пр.
Разработка алгоритмов распознавания текста
Применение генетических алгоритмов для генерации тестов к олимпиадным задачам по программированию Буздалов М.В., СПбГУ ИТМО.
Демидов А.В г. Операционные системы Лекция 4 Работа с файлами.
Методы интерактивной визуализации динамики жидких и газообразных сред Костикова Елена Юрьевна, 521 гр. Научный руководитель: Игнатенко Алексей Викторович.
Универсальная интеграция технологии построения отчетов в семейство.NET приложений Презентация дипломной работы Порсева Анатолия, 542 гр. Санкт-Петербург.
Мультиагентные системы и их применение в сетевых задачах Выполнил: студент 545 гр. Г.И. Вольфсон Научный руководитель: д. ф.-м. н. А.Н.Терехов 2007.
Проверка эквивалентности срединной и линейной осей многоугольника Дипломная работа студента 545 группы Подколзина Максима Валериевича Санкт-Петербургский.
«Интернет радио» Разработчик Демидко А.А. Преподаватель Бронштейн М.Е.
Исследование возможностей сервисной шины SonicMQ Дипломная работа студентки 545 группы Комольцевой Дарьи Владимировны Научный руководитель: Графеева Н.Г.
Microsoft TechDayshttp:// Александр Шаповал Эксперт по стратегическим технологиям
1 Учебный курс Введение в JavaScript и CGI Лекция 4 Работа с графикой, гипертекстовые переходы и синтаксис языка кандидат технических наук Павел Брониславович.
Объектные интерфейсы (.NET) «Школа Инноваций InterSystems 2007»
Cloud технологии и серверные решения для разработки мобильных приложений Построение Cloud и серверных решений как backend для мобильных приложений Mobile.
Простые рецепты продвижения электронных баз данных в университете Простые рецепты продвижения электронных баз данных в университете Мария Сергеевна Лаврова.
SonarQube Система непрерывного анализа и измерения качества кода.
November CTP Андрей Коршиков MCP-клуб, Краснодар Декабрь 2009.
Presentation transcript:

Оптимизация Just – in - time компилятора методом профилирования значений Соколов Андрей Владимирович, ФФ НГУ, 3 курс, Руководитель: Фурсов Михаил Юрьевич 1 декабря 2006

Цели проекта Реализовать решение для оптимизации работы скомпилированного Java-кода. Проведя сравнительный анализ с другими разработками, скомпоновать и интегрировать решение в проект Apache Harmony

Что такое оптимизация методом профилирования значений? Весь процесс состоит из нескольких этапов: Запуск исходного приложения со сбором статистической информации об использовании переменных Запуск исходного приложения со сбором статистической информации об использовании переменных Анализ собранных данных, принятие решения о возможных оптимизациях Анализ собранных данных, принятие решения о возможных оптимизациях Перекомпилирование кода с применением выбранных методов оптимизации Перекомпилирование кода с применением выбранных методов оптимизации

Профилируемое исполнение Для сбора информации об используемых в процессе исполнения переменных применяются профайлеры Их задача – выявить часто встречаемые значения, применяя один из алгоритмов: TVN TVN Сбор всех значений переменной с последующей сортировкой по количеству встреч Сбор всех значений переменной с последующей сортировкой по количеству встреч

Анализ собранных данных Для эффективной оптимизации представляют интерес «Горячие» методы «Горячие» методы Методы, где значения переменных можно описывать как квазиконстанты Методы, где значения переменных можно описывать как квазиконстанты Операторы ветвления (условные переходы) Операторы ветвления (условные переходы)

Методы оптимизации Перекомпоновка кода для лучшего предсказания переходов Перекомпоновка кода для лучшего предсказания переходов if ( cond ) if ( !cond ) oper1;=> oper2; oper1;=> oper2; elseelse oper2;oper1; Специализация кода Специализация кода if ( var == _const ) doSpecializedCode();elsedoUsualCode();

Контрольные точки Выработать схему проекта сделано Выработать схему проекта сделано Имплементировать профайлер Имплементировать профайлер Выбор алгоритма сделано 2. Его реализация сделано 3. Отладка, проверка на тестах сделано 4. Интегрирование в существующие компиляторы в процессе Реализация анализатора статистики Реализация анализатора статистики Реализация модуля перекомпилирования Реализация модуля перекомпилирования Тестирование, написание документации к проекту. Интегрирование в Apache Harmony Тестирование, написание документации к проекту. Интегрирование в Apache Harmony

Список литературы “Value profiling and optimization”, “Value profiling and optimization”, Brad Calder, Peter Feller “Optimizing dynamically dispatched calls”, “Optimizing dynamically dispatched calls”, David Ungar “Profile-guided receiver class prediction”, “Profile-guided receiver class prediction”, David Grove, Jeffrey Dean

Q&A Спасибо за внимание!