WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Лекция 1

Понятие оптимизирующего

преобразования.

Виды оптимизаций.

Оптимизирующие компиляторы.

Задачи оптимизации

«хорошие» программы

• Хорошая программа должна работать как можно

быстрее и занимать как можно меньше памяти

Необходимое условие:

Задачи оптимизации

«хорошие» программы

• Хорошая программа должна работать как можно

быстрее и занимать как можно меньше памяти • И при этом работать правильно Необходимое условие:

Задачи оптимизации «хорошие» оптимизаторы • Хорошая программа должна работать как можно быстрее и занимать как можно меньше памяти • И при этом работать правильно оптимизатор P. P P1 (лучше) Таких оптимизаторов не бывает Замечание: никакие оптимизаторы не помогут программе, использующей неадекватные структуры данных и алгоритмы Задачи оптимизации «хорошие» оптимизаторы • Хорошая программа должна работать как можно быстрее и занимать как можно меньше памяти • И при этом работать правильно оптимизатор P1 (не хуже) P. P Таких оптимизаторов тоже не бывает.

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

а не пессимизирующими?

Задачи оптимизации «хорошие» оптимизаторы • Хорошая программа должна работать как можно быстрее и занимать как можно меньше памяти • И при этом работать правильно Зато бывают такие оптимизаторы:

оптимизатор P. P P1 (лучше) ! если таких программ немало, оптимизатор имеет Необходимое условие:

право на существование Задачи оптимизации «хорошие» оптимизаторы Примеры (нехороших оптимизаторов):

P2 (существенно медленнее P1) 1. P P2 (работает не так как P1) 2. P 3. человек-обфускатор исходного текста Необходимое условие:

Вопрос: в чем проблема оптимальности?

Задачи оптимизации критерии оптимальности Пусть PATHS (P) – множество путей (последовательностей исполняющихся операторов) программы P, начинающихся в первом и заканчивающихся в последнем операторе.

Path (P|d) PATHS (P) – путь при входных данных d Программы P1 и P2 эквивалентны (P1 P2 ), если при любых (допустимых) входных данных, они завершаются и вырабатывают одинаковый результат Задачи оптимизации критерии оптимальности Обозначим Time (p) - время исполнения p, p PATHS (P) Критерий оптимальности (производительность):

Q имеет лучшую производительность чем P (PQ), a.Time (Path(Q|a)) Time (Path (P|a) ) f.Time (Path (Q|f)) < Time (Path (P|f)) Замечание. Порядок может быть частичным и не содержать наибольшего элемента Задачи оптимизации алгоритмические проблемы Утверждение Следующие проблемы неразрешимы:

• эквивалентность двух программ • существование оптимальной программы, эквивалентной данной Следствие Оптимальная программа либо не существует, либо не существует алгоритма для ее нахождения.

Следствие Можно искать цепи P... P(n) P(n+1) Задачи оптимизации спекулятивные критерии оптимальности HOTPATHS(P) PATHS (P) – множество "горячих" путей (считаем, что они исполняются с высокой вероятностью) HOTDATA(P) =def {d | Path (P|d) HOTPATHS(P)} (данные, приводящие к исполнению горячих путей) Спекулятивный критерий оптимальности:

Q имеет спекулятивно лучшую производительность чем P (P Q), если P|HOTDATA (P) Q|HOTDATA (P) Задачи оптимизации спекулятивные критерии оптимальности Взяв программу P1, оптимизатор строит (конечную) последовательность {Pn} со свойствами k. Pk Pk+1 PkPk+ Пусть PQ. z – контрпример, если Time (Path(Q|z)) > Time (Path(P|z)) Выбирать спекулятивные оптимизации нужно аккуратно; желательно:

[ Time (Path(Q|z)) / Time (Path(P|z)) ] min В погоне за производительностью спекулятивными оптимизациями занимаются:

• компиляторы • среды исполнения (generational GCs) операционные системы (file prefetching, spin locks, thread/process scheduling) процессоры (pipelining, out-of-order execution, branch prediction, cache population) Разработчики компиляторов должны это учитывать Задачи оптимизации • Хорошая программа должна работать как можно быстрее и занимать как можно меньше памяти • И при этом работать правильно • И быть разработана за разумное время ! time to market Необходимое условие:

Задачи оптимизации • Хорошая программа должна работать как можно быстрее и занимать как можно меньше памяти • И при этом работать правильно • И быть разработана за разумное время ! time to market • И работать надежно Необходимое условие:

Задачи оптимизации • Хорошая программа должна работать как можно быстрее и занимать как можно меньше памяти • И при этом работать правильно • И быть разработана за разумное время ! time to market • И работать надежно • И быть легко читаемой, модифицируемой, и т.д.

(это неполный список, но для наших целей – достаточный) Необходимое условие:

Задачи оптимизации • Хорошая программа должна работать как можно быстрее и занимать как можно меньше памяти • И при этом работать правильно • И быть разработана за разумное время ! time to market • И работать надежно • И быть легко читаемой, модифицируемой, и т.д.

Необходимое условие Необходимое условие:

использование языка высокого уровня ! Нужен оптимизирующий компилятор Возможности оптимизации 1. абстракция управления (циклы, ветвления, процедуры) 2. абстракция данных (типы данных, локальные/глобальные переменные) 3. объектная-ориентированность (1 и 2 одновременно) 4. надежность (проверки времени исполнения, asserts) 5. читаемость кода (символические константы, кол-во переменных, …) Возможности оптимизации Компилятор совместно со средой исполнения способен улучшить (ускорить):

1. управление памятью (faster object allocation/reclaimation) 2. синхронизацию потоков or no thread synchronization, no atomic ops) 3. обработку исключений Возможности оптимизации 1. распределение регистров процессора (практически непосильная задача для человека) 2. выборка кода ("маленькие шедевры" компилятора) 3. перестановка команд (instruction scheduling, cache-concsious optimizations) 4. векторизация,...

Замечание: с развитием процессоров этот список будет расти Анализ – сбор информации о свойствах программы • большинство оптимизаций невозможны без анализа • зачастую, анализ - намного более сложная задача чем сама оптимизация (преобразование программы) Консервативность анализа – использование более грубых предположений при невозможности доказать некоторое свойство Виды анализа и оптимизаций Зависимость от исходного языка Языково-независимые вычисление константных выражений Языково-зависимые раскрытие виртуальных вызовов Виды анализа и оптимизаций Зависимость от целевой архитектуры Машинно-независимые вынос инвариантного кода из цикла Машинно-зависимые использование режимов адресации IA-32 при генерации кода учет особенностей CISC или RISC Виды анализа и оптимизаций Область применения Локальные оператор или лин. последовательность операторов (вычисление операции с конст. аргументами) Внутрипроцедурные операторы одной процедуры (удаление недостижимого кода) Виды анализа и оптимизаций Область применения Межпроцедурные операторы нескольких процедуры (открытая подстановка, вычисление свойств операции вызова другой процедуры) Внутримодульные операторы всех процедур одного модуля/класса (вычисление свойств приватных переменных, полей, и процедур) Виды анализа и оптимизаций Область применения Глобальные (обычно анализ) вся программа (вычисление свойств полей/глобальных переменных и формальных параметров процедур, построение иерархии наследования классов) Замечание: в реализациях некоторых языков "глобальное вИдение" возможно только в момент сборки исполняемого файла (Link-Time Optimization) Видов анализа и оптимизаций Источник информации Статические информацию предоставляет анализ (без исполнения) Адаптивные информация получена путем профилировки исполнения Гибридные (самые могучие) используется и статический анализ и динамические проверки/анализ Примеры оптимизаций int getX(){retun x;} int getX(){retun x;} int getY(){retun y;} int getY(){retun y;} a.getX()*a.getY(); getX(a)*getY(a);

/* virtual calls */ } Примеры оптимизаций Открытая подстановка (inlining) int getX(){return x;} int getX(){return x;} int getY(){return y;} int getY(){return y;} int square(){ int square(){ Примеры оптимизаций протяжка присваиваний (copy propagation)...

xz = 911;

a = b;

Примеры оптимизаций удаление "мертвого" кода (dead code elimination) xz = 911;

for (int i=1;...) /* nothing */ a[i] = b[i+1];

void foo() {goo();} void foo() {goo();} while (true){}; while (true){};

Примеры оптимизаций взрыв объектов (object explosion) int foo(int a){ int foo(int a){ Примеры оптимизаций удаление частичной избыточности (PRE) a = b*3;

Примеры оптимизаций удаление общих подвыражений (CSE) a[k+1] = b[i]; a[k] = temp_0;

Примеры оптимизаций Вынос инвариантного кода (invar. code motion) int a[];

int b[];

...





Похожие работы:

«Министерство культуры Российской Федерации федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Новосибирская государственная консерватория (академия) имени М.И.Глинки ОСНОВНАЯ ОБРАЗОВАТЕЛЬНАЯ ПРОГРАММА ВЫСШЕГО ОБРАЗОВАНИЯ АССИСТЕНТУРА-СТАЖИРОВКА Специальность 53.09.01 Искусство музыкально-инструментального исполнительства (по видам) Квалификации: Артист высшей квалификации, Преподаватель творческих дисциплин в высшей школе 2 Основная...»

«УДК 332.02 Васильева Людмила Петровна Vasilyeva Lyudmila Petrovna кандидат экономических наук, доцент, PhD in Economics, Assistant Professor, профессор кафедры экономики и управления Economics and Management Department, Вологодского института бизнеса Vologda Institute of Business ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ EFFICIENCY IMPROVEMENT OF СИСТЕМЫ ПРОГНОЗИРОВАНИЯ PROGNOSTICATION И ПЛАНИРОВАНИЯ РЕГИОНАЛЬНОГО AND PLANNING OF СОЦИАЛЬНО-ЭКОНОМИЧЕСКОГО THE REGIONAL SOCIOECONOMIC РАЗВИТИЯ DEVELOPMENT Аннотация:...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Саратовский государственный аграрный университет имени Н.И. Вавилова Утверждаю / / Директор Пугачевского филиала (_& а 2013 г. РАБОЧАЯ ПРОГРАММА ПРОФЕССИОНАЛЬНОГО МОДУЛЯ Профессиональный ПМ02. Организация деятельности коллектива модуль исполнителей Специальность 190631.51 Техническое обслуживание и ремонт автомобильного транспорта...»

«Оглавление 1. Пояснительная записка к образовательной программе школы 1.1Нормативно-правовая база 1.2Цели и задачи 1.3Особенности, специфика и этапы образовательной программы 1.4Условия реализации образовательной программой. 2. Образовательная программа НАЧАЛЬНОГО ОБЩЕГО ОБРАЗОВАНИЯ 2.1Пояснительная записка. Цели, реализуемые на 1 ступени 2.2Учебный план. 2.3Учебные программы по отдельным учебным предметам. 2.4Планируемые результаты и способы оценивания достижений. 3. Образовательная программа...»

«Кафедра Автоматика и системотехника Утверждаю Проректор по НРиИ _ 2012 г. ПРОГРАММА вступительного экзамена по специальности 05.11.16 –Информационно-измерительные и управляющие системы (технические науки) Хабаровск 2012 Программа составлена соответствии с Федеральными государственными требованиями к структуре основной профессиональной образовательной программы послевузовского профессионального образования для обучающихся в аспирантуре (адъюнктуре), утвержденными Приказом Министерства...»

«ИННОВАЦИОННЫЕ МЕТОДЫ ОБУЧЕНИЯ ПРЕПОДАВАТЕЛЯ ВЫСШЕЙ ШКОЛЫ Шаяхметова А.А., кандидат филологических наук, доцент методист высшей категории отдела развития учебно-методической работы Изменения парадигмы образования требуют от общества в целом особого статуса профессиональной подготовленности будущих специалистов, выраженной в формировании новых методологических подходов к обучению, разработки студентоцентрированных методов обучения, определения новой роли преподавателя, соответствующей философии...»

«Записи выполняются и используются в СО 1.004 СО 6.018 Предоставляется в СО 1.023. Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Саратовский государственный аграрный университет имени Н.И. Вавилова Факультет экономики и менеджмента СОГЛАСОВАНО УТВЕРЖДАЮ Декан факультета экономики и ме- Проректор по учебной работе неджмента _Е.Б. Дудникова _С.В. Ларионов 2013 г. 2013 г. РАБОЧАЯ (МОДУЛЬНАЯ) ПРОГРАММА Дисциплина Организация хранения и...»

«1 МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Саратовский государственный аграрный университет имени Н.И. Вавилова УТВЕРЖДАЮ Декан факультета _ /Морозов А.А./ _ 20 г. РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ (МОДУЛЯ) ЭКОНОМИКА И УПРАВЛЕНИЕ Дисциплина ПРОИЗВОДСТВОМ 260200.62 Продукты питания животного Направление подготовки происхождения Профиль подготовки / специаТехнология мяса и мясных лизация...»

«ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное бюджетное образовательное учреждение высшего профессионального образования НАЦИОНАЛЬНЫЙ МИНЕРАЛЬНО-СЫРЬЕВОЙ УНИВЕРСИТЕТ ГОРНЫЙ Согласовано Утверждаю _ _ Руководитель ООП Зав. кафедрой ИГД по направлению 130101 Доц. И.В.Таловина проф. Ю.Б. Марин ПРОГРАММА ИТОГОВОГО ГОСУДАРСТВЕННОГО ЭКЗАМЕНА Направление подготовки (специальность): 130101 Прикладная геология...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Иркутский государственный университет путей сообщения УТВЕРЖДАЮ Ректор ИрГУПС /А.П. Хоменко/ “” 2011 ПРОГРАММА ВСТУПИТЕЛЬНОГО ЭКЗАМЕНА ПО НАУЧНОЙ СПЕЦИАЛЬНОСТИ 05.13.06 АВТОМАТИЗАЦИЯ И УПРАВЛЕНИЕ ТЕХНОЛОГИЧЕСКИМИ ПРОЦЕССАМИ И ПРОИЗВОДСТВАМИ (ТЕХНИЧЕСКИЕ НАУКИ) Иркутск ПРОГРАММА составлена в соответствии с Приказом Министерства образования и...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Ярославский государственный университет им. П.Г. Демидова Физический факультет УТВЕРЖДАЮ Проректор по развитию образования _Е.В.Сапир _2012 г. Рабочая программа дисциплины послевузовского профессионального образования (аспирантура) Избранные главы физики полупроводников – II по специальности научных работников 01.04.10 Физика полупроводников Ярославль 2012 2 1. Цели освоения дисциплины Целями освоения дисциплины Избранные главы физики...»

«Приложение 7А: Рабочая программа дисциплины по выбору Современные проблемы литературоведения ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ПЯТИГОРСКИЙ ГОСУДАРСТВЕННЫЙ ЛИНГВИСТИЧЕСКИЙ УНИВЕРСИТЕТ Утверждаю Проректор по научной работе и развитию интеллектуального потенциала университета профессор З.А. Заврумов _2013 г. Аспирантура по специальности 10.01.01 Русская литература отрасль науки: 10.00.00 Филологические науки Кафедра отечественной...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ РАБОЧАЯ ПРОГРАММА дисциплины: ЕН.Ф.01 Математика для специальности: 110301.65 Механизация сельского хозяйства факультет: Механизации ведущая кафедра: Высшей математики Дневная форма обучения Заочная форма обучения Вид учебной работы Всего часов Курс, семестр Всего часов Курс, семестр Лекции 140...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ УЛЬЯНОВСКАЯ ГОСУДАРСТВЕННАЯ СЕЛЬСКОХОЗЯЙСТВЕННАЯ АКАДЕМИЯ Инженерно-технологический факультет КАФЕДРА Социально-экономические дисциплины Декан факультета Утверждаю Зам.директора по учебной работе _ Н.Н.Левина _ Т.А.Мащенко 28 сентября 2009 г. 28 сентября 2009 г. ПОЛИТОЛОГИЯ Рабочая программа для негуманитарных специальностей Составитель В.В.Феонычев, ст.преподаватель Димитровград, 1. Организационно – методический раздел 1.1. Цель курса...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ ФГБОУ ВПО Кубанский государственный аграрный университет факультет Водохозяйственного строительства и мелиорации, водоснабжения, водоотведения (Наименование вуза, факультета) Рабочая программа дисциплины (модуля) Метрология, сертификация и стандартизация (Наименование дисциплины (модуля) Направление подготовки _280100.62 Природообустройство и водопользование Профиль подготовки Мелиорация, рекультивация и охрана земель Квалификация (степень)...»

«ПУБЛИЧНЫЙ ОТЧЕТ ГОСУДАРСТВЕННОГО БЮДЖЕТНОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ ГОРОДА МОСКВЫ ЦЕНТРА ОБРАЗОВАНИЯ № 1455 за 2012-2013 учебный год Общая информация об образовательном учреждении. Учредителем Государственного бюджетного образовательного учреждения города Москвы центра образования № 1455 (далее – ГБОУ ЦО № 1455) является Департамент образования города Москвы, вышестоящая организация – Западное окружное управление образования. Юридический и фактический адрес: 119633, Москва, Боровское шоссе,...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ Факультет перерабатывающих технологий УТВЕРЖДАЮ Декан факультета перерабатывающих технологий доцент, Решетняк А.И. _2011 г. Рабочая программа дисциплины (модуля) Б.3.22 Разработка стандарта и нормативной документации предприятия по переработке плодов и овощей (индекс и наименование дисциплины)...»

«СОДЕРЖАНИЕ РАБОЧЕЙ ПРОГРАММЫ 1. Обозначения и сокращения..3 2. Пояснительная записка..4 2.1.Предмет оториноларингологии.. 4 2.2. Цели и задачи учебной дисциплины..4 2.3. Требования к уровню освоения содержания дисциплины.4 2.4. Место дисциплины в профессиональной подготовке выпускника.5 2.5. Объем дисциплины и виды учебной деятельности..7 3. Структура и содержание дисциплины..8 3.1. Тематический план: разделы дисциплины и виды занятий.8 3.2. Содержание теоретических разделов дисциплины (лекции)...»

«Программа показов XIX Открытого российского фестиваля анимационного кино (Турцентр Суздаль, 19-24 марта 2014 г.) 19 марта (среда) 19.00 – 20.45 Торжественная церемония открытия фестиваля Конкурсная программа № 1 (Все категории. 12+) Киноконцертный зал. Гриб и тыква 1. 1 мин. 58 сек., реж. С. Рябов (конкурс сериалов) Как Вова Президента спасал 2. 5 мин. 26 сек., реж. М. Федосеева (конкурс короткометражных фильмов) Синяя собака 3. 4 мин. 16 сек., реж. М. Лукьянова, Р. Синкевич (конкурс...»

«МУНИЦИПАЛЬНОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧЕРЕЖДЕНИЕ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА №10 ИМЕНИ А.К. АСТРАХОВА ОСНОВНАЯ ОБРАЗОВАТЕЛЬНАЯ ПРОГРАММА НАЧАЛЬНОГО ОБЩЕГО ОБРАЗОВАНИЯ Г.Мытищи 1 Содержание Пояснительная записка 1. 3 Планируемые результаты освоения 2. 12 обучающимися основной образовательной программы начального общего образования Формирование универсальных учебных действий 2.1. Предметные результаты 2.2. 2.2.1. Русский язык. Родной язык 2.2.2. Литературное чтение. Литературное...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.