Лекция 6.б. WCET 2 (1185231), страница 2
Текст из файла (страница 2)
Точкиинструментирования должны располагаться вфиксированных местах кода.• Нужна уверенность в том, что запуски для замероввсегда стартуют с известного требуемого состоянияпроцессора (кэш, конвейер, предсказание ветвлений ит.п.)71Промышленный подход• Пример промышленного процессаразработки:ПроектированиеТестированиеВнедрениеПлаты-прототипыАппаратура целевой системыАппаратура целевойсистемы72Промышленный подход – массивы входныхданных73Промышленный подход – случайныеданные74Поиск «наихудших» входных данных –оптимизационная задача• Массивы входных данных ограниченный перебор• Случайные входные данные случайный поиск• Как насчёт «умной» оптимизации?7576Схема эволюционного алгоритма• Отбор: выживание наиболееприспособленных.
Отборрандомизирован и выполняетсяс учётом значения целевойфункции.• Скрещивание: обмен генами,например одно- или n-точечноескрещивание• Мутация: рандомизированноеизменение генов77Оценка WCET эволюционнымиалгоритмами• Ген = значение входной или внутреннейпеременной• Целевая функция = измеренное времявыполнения (больше значение => особьлучше)• Результат = «наилучшая особь» = особь(набор данных) с наибольшим временемвыполнения программы• Даёт хорошую, но небезопасную оценку WCET78Оценка WCET эволюционными алгоритмами• Старт– [0] x = 0, y = 0 -> ET: 40– [1] x = 1, y = 1 -> ET: 40• Скрещивание:– [2] x = 0, y = 1 -> ET: 50– [3] x = 1, y = 0 -> ET: 30Алгоритм завершается, еслизначение целевой функции неулучшается на протяжениизаданного числа итераций79Результат применения эволюционного алгоритмаЗавышеннаяПрограммаЗаниженнаяНетрезультатаТочность - ?80Выводы• Оценка WCET – сложная задача, разрешимая(безопасно и с приемлемой точностью) только длянекоторых типов процессоров и программ• На практике для оценки WCET применяется сочетаниеформальных методов и измерений• Система реального времени должна быть устойчива котдельным/локальным превышениям имеющихсяоценок WCET– сторожевые таймеры для обнаружения превышения WCET– устойчивость к сбросу задачи-нарушителя (и пропускуитерации её выполнения)– «растяжимые» периоды выполнения задач длядинамической регулировки загрузки процессора81Спасибо за внимание!82.