Анализ и оптимизация на софтуерни приложения
|
|
- Артин Грозев
- преди 4 години
- Прегледи:
Препис
1 Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев
2 Съдържание 1. Производителност 2. Оптимизация 3. Методи за оптимизация 2/18
3 Защо производителността е важна? Дава възможност за: По-добра интерактивност (време за отговор) Възможност за добавяне на повече функционалност По-добра скалируемост Използване на по-малко ресурси (енергия, памет,...) 3/18
4 По-добри времена за отговор ABS в автомобилите трябва да действа не по-бавно от хидравличната система MPEG декодер трябва да може да декодира минимум 20 кадъра в секунда Търсенето в Google трябва да има резултати за секунди Ако времената за отговор се разминават с очакванията софтуерната система е неизползваема 4/18
5 Възможност за добавяне на повече функционалност Ако наличната работа може да се извърши по-бързо, съкратеното времето за отговор би довело до: Възможност за добавяне на повече функционалност По-висококачествена обработка Обработка на по-големи обеми данни 5/18
6 По-добра скалируемост Добрите програми имат изключително интензивно натоварване: От стотици хиляди до милиони потребители ги използват Обработват се огромен брой документи и данни Тези програми трябва: Да могат да издържат на повишаващо се натоварване Да се справят лесно с неочаквани проблеми, дължащи се на скалирането 6/18
7 Използване на по-малко ресурси Повече инструкции за изпълнение води до повече изразходвана електроенергия Много от центровете със суперкомпютри са енергоограничени. През 2005 приблизително 1.2% от електрозахранването в САЩ е предназначено за суперкомпютри Обръща се сериозно внимание на мобилните устройства, захранващи се от батерии. Батерията на най-новия iphone издържа по-малко от 1 ден. Това означава, че не може да се добавя нова функционалност, ако не се удължи животът на батерията или приложенията не станат по-ефективни Скалирането на неефективни системи е много скъпо! 7/18
8 Оптимизация Например: Архитектът, проектиращ многоетажна сграда трябва да избере материалите и пропорциите за различните структурни компоненти на сградата, за да има безопасна сграда, която да е колкото може по-евтина Агрономът, ръководещ дадена плантация трябва да планира операциите върху растенията така, че да направи добивът максимален, като задоволява всички нужди на клиентите с минимални средства 8/18
9 Оптимизация В примерите лесно се забелязва: 1. Има крайна цел За архитекта, крайната цел е да минимизира разходите по построяване на сградата. За агронома да максимизира добива 2. Има изисквания или ограничения, които трябва да бъдат изпълнени Архитектът трябва да изпълни стандартите за безопасност, а агрономът трябва да задоволи нуждите на клиентите, като се съобрази с наличната работна сила и ограничените материали 3. Косвено е идеята, че има възможност за избор и ако е направен успешно ще бъде изпълнена крайната цел и изискванията едновременно 9/18
10 Оптимизация Неформално оптимизацията включва: Избиране на една или повече оптимизационни променливи Избиране на целева функция Определяне на множество ограничения 10/18
11 Оптимизиране на софтуер Извършва се по два начина: Хардуерно Заменят се хардуерните компоненти на компютърната система с нови, по-производителни Софтуерно Създават се по-оптимални (по-ефективни) програми или се оптимизират вече съществуващи Автоматизирано Оптимизацията се извършва от софтуерна система, специално разработена за целта Ръчно Оптимизацията се извършва от експерт 11/18
12 Оптимизирането на софтуер не е лесно Стъпки: Установяване, че има проблем с производителността Идентификация на местата, влошаващи производителността Установяване на основните причини, причиняващи проблемите Елиминиране на установените проблеми 12/18
13 Установяване, че има проблем Знаем как да намерим чрез тестване, валидация и верификация Обаче, колко близо е програмата до найпроизводителната възможна? Трудно е да се каже дори и когато програмата може да се оптимизира много Как да разберем дали производителността е добра? Чрез груби изчисления Чрез анализ на производителността Чрез тестване на скалируемостта Чрез сравнения с подобни програми Опит 13/18
14 Идентифициране на местата, влошаващи производителността Профайлинг (Profiling) на целевата програма Установяване къде се губи най-много време Очаква ли се? Или има проблем? Преглед на характеристиките на машината Нормално ли е поведението на инструкциите, кеша, паметта? Тестване за скалируемост Натоварване на програмата до краен предел Установяване кое може да се скалира и кое не Ако профайлинга променя прекалено много производителността резултатите не са надеждни! 14/18
15 Установяване на причините Изследване на алгоритъма Прекалено неефективен ли е алгоритъма Може ли някое от изчисленията да бъде елиминирано от критичния път Използвайки препроцесорна обработка, кеш... Изследване на структурите от данни и тяхното оформление (layout) Дали оформлението влияе на паметта? Изследване на структурата на програмата Дали структурата на програмата не води до генерация на лоши инструкции и забавяне на конвейера (stalls) Много от нещата се решават с опити и грешки 15/18
16 Обща схема Решаван проблем Дизайн, алгоритми, данни Високо ниво Входна програма (сорс код) Компилатори, библиотеки Архитектура на системата Средно ниво Архитектура на набора инстр. Микро-архитектура Ниско ниво Схеми 16/18
17 Елиминиране на проблемите Дизайн Много по-добре е дизайнът да се съобразява с производителността Неспазване на идеите в дизайна Понякога трябва да се нарушат добрите практики, залегнали в дизайна Придържане към основните принципи Простота, модулност, преносимост и т.н Не може да е за сметка на коректността 17/18
18 Елиминиране на проблемите Има нужда да се разбират всичките слоеве и тяхното значение и специфики Всички софтуерни слоеве Компилатора Процесора Системата Трябва да се спазват основните принципи: Не може да е за сметка на коректността 18/18
Slide 1
Методи и алгоритми за моделиране, симулация и оптимизация на полупроводникови сензори Венцеслав Шопов E-mail: vkshopov@yahoo.com BG051PO001-3.3.06-0002 Цел на дисертационния труд е да се създаде софтуерна
ПодробноАнализ и оптимизация на софтуерни приложения
Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев (от гледна точка на производителността) Съдържание 1. Видове транслатори 2.Фази по време на компилация 3. Оптимизационна фаза
ПодробноАнализ и оптимизация на софтуерни приложения
Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание 1. Какво е паралелизация? 2. Примери 3. Паралелни алгоритми 4. Синхронизация. Критични секции 5. Проблеми при паралелните
ПодробноАнализ и оптимизация на софтуерни приложения
Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание Конвейерно изпълнение Проблеми при конвейерното изпълнение Структурни опасности Даннови опасности Контролни опасности
ПодробноАнализ и оптимизация на софтуерни приложения
Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание Конвейерно изпълнение Проблеми при конвейерното изпълнение Структурни опасности Даннови опасности Контролни опасности
ПодробноПлан за действие за създаване на Български облак за отворена наука Съдържание 1. Визия BOSC Реализация на BOSC Забележки... 5
План за действие за създаване на Български облак за отворена наука Съдържание 1. Визия... 2 2. BOSC... 3 3. Реализация на BOSC... 3 4. Забележки... 5 1. Визия Българският облак за отворена наука (BOSC)
ПодробноКомпютърна Графика и Презентации - Графично моделиране
Компютърна Графика и Презентации Графично Моделиране. Генеративна Компютърна Графика гл. ас. д-р А. Пенев Генеративната КГ се занимава с: Построяване на обекти (модели); Генерация на изображение; Преобразуване
ПодробноСподеляне на анонимни данни с Lenovo Съдържание Споделяне на анонимни данни с Lenovo... 1 Harmony... 1 Lenovo Companion Lenovo Customer Engag
Споделяне на анонимни данни с Lenovo Съдържание Споделяне на анонимни данни с Lenovo... 1 Harmony... 1 Lenovo Companion 3.0... 2 Lenovo Customer Engagement Service... 3 Lenovo Experience Improvement (само
ПодробноАнализ и оптимизация на софтуерни приложения
Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Какво могат и какво не могат компилаторите Съдържание 1. Оптимизационен континуум 2. Някои известни видове оптимизации 2/49 Оптимизационен
ПодробноАнализ и оптимизация на софтуерни приложения
Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание 1. Какво е векторизация? 2. Примери 3. на цикли 4. Масиви от структури или структури от масиви 5. на при различни
ПодробноPowerPoint Presentation
Глобално приложение Компресори и помпи Дървообработване Енергия от възобновяеми източници Асансьори и ескалатори Задвижвания в театри Автомобилна индустрия Текстилни машини Електромагнитни системи Хранително-вкусова
ПодробноDigital library 2.0
Дигиталната библиотека (DL - Digital Library) е библиотека, в която колекциите се съхраняват в дигитален (цифров) формат, различен от книжния вариант, микроформите или друг формат, и които са достъпни
ПодробноСТАНОВИЩЕ
РЕЦЕНЗИЯ върху дисертационeн труд за получаване на образователната и научна степен доктор, Автор: маг.инж. Ивайло Пламенов Пенев Тема: ПОДХОД ЗА ПЛАНИРАНЕ И ИЗПЪЛНЕНИЕ НА ПАРАЛЕЛНИ ЗАДАЧИ В РАЗПРЕДЕЛЕНА
ПодробноPresentacia
+359 889 473 168 / +359 885 780 750 office@webnime.com www.webnime.com Уебниме ООД гр. София, Красно село, бул. Цар Борис III, N99-101 гр. Варна, бул. Сливница 5, ет. 2, офис 2 Pančićeva 18, Stari grad,
ПодробноПРОГРАМНО ОСИГУРЯВАНЕ НА КОМПЮТЪРА
СРЕДИ ЗА ПРОГРАМИРАНЕ ПРОГРАМНО ОСИГУРЯВАНЕ НА КОМПЮТЪРА Същност на програмното осигуряване За да могат компютрите да разбират описаните на езика за програмиране алгоритми, те трябва да бъдат преведени
ПодробноMicrosoft PowerPoint - Model_Dec_2008_17_21
Структура. Теория на графите общи понятия. Същност на мрежовите модели. Приложение на мрежови модели при управление на проекти и програми Общи понятия от Теорията на графите, използвани при мрежовите модели
ПодробноМашинно обучение - въведение
Линейна регресия с една променлива Доц. д-р Ивайло Пенев Кат. Компютърни науки и технологии Пример 1 Данни за цени на къщи Площ (x) Означения: Цена в $ (y) 2104 460 000 1416 232 000 1534 315 000 852 178
ПодробноSlide 1
11. Количествено ориентирани методи за вземане на решения в обкръжение на неопределеност и риск 1 Структура Матрица на полезността Дърво на решенията 2 11.1. Матрица на полезността 3 Същност на метода
Подробно<4D F736F F D20D0E0E7FFF1EDE5EDE8E520EFEE20F7EB2E EEF220C7CECF20F120C8E7F52EB EEF E31312E3138E3>
Изх. К 8075#1/ 05.11.2018г. До: Лицата, заинтересовани от Обществена поръчка с предмет: Разработване на софтуер за киоск терминали, уеб портал и мобилно приложение по проект,,easyguide interactive mobile
ПодробноSlide 1
СИСТЕМИ ЗА ДИАГНОСТИКА И ЗАРЕЖДАНЕ НА АВТОКЛИМАТИЦИ Напълно автоматизирани и лесни за употреба, машините за климатици на Robinair са разработени за достъпна поддръжка на различните климатични системи в
ПодробноMicrosoft PowerPoint - IT_tool_notification
СОФТУЕРЕН ИНСТРУМЕНТ ЗА НОТИФИЦИРАНЕ НА СМЕСИТЕ В ТОКСИКОЛОГИЧНИТЕ ЦЕНТРОВЕ Семинар Българско законодателство по ЗБОС (І част) новости, актуализация, помощ по прилагането БКХП 28 март 2019 г. Елена Зидарова,
ПодробноГрафика и Презентации - Презентации
Графика и Презентации Презентации доц. д-р А. Пенев Презентация Представяне на информация пред публика чрез технически средства. 2/18 Елементи Слайдове; Анимация, Видео,...; Ефекти; Звук. 3/18 Какво трябва
ПодробноПроектът се осъществява с финансовата подкрепа на Оперативна Програма Развитие на Човешките Ресурси , Съфинансиран от Европейския Социален Фо
ЛЯТНА ШКОЛА 2013 ПОВИШАВАНЕ ТОЧНОСТТА НА РОБОТ ЧРЕЗ ИДЕНТИФИКАЦИЯ И РАЗПОЗНАВАНЕ Доц. д-р инж. Роман Захариев ПОВИШАВАНЕ НА ЕФЕКТИВНОСТТА И КАЧЕСТВОТО НА ОБУЧЕНИЕ И НА НАУЧНИЯ ПОТЕНЦИАЛ В ОБЛАСТТА НА СИСТЕМНОТО
ПодробноТЕХНИЧЕСКА ИНФОРМАЦИЯ D3 ДИГИТАЛЕН КЪТЕР Вашият избор в дигиталното рязане
ТЕХНИЧЕСКА ИНФОРМАЦИЯ D3 ДИГИТАЛЕН КЪТЕР Вашият избор в дигиталното рязане D3 Системи за рязане Съвършенство във всеки детайл Гъвкава конфигурация на инструментите Сигурна и изпитана модулна система инструменти
Подробно(пълно наименование на училището) Утвърждавам!... (име и фамилия, подпис, печат) ПРИМЕРНО ГОДИШНО РАЗПРЕДЕЛЕНИЕ НА УЧЕБНОТО СЪДЪРЖАНИЕ по инфор
...... (пълно наименование на училището) твърждавам!... (име и фамилия, подпис, печат) ПРИМЕРНО ГОДИШНО РАЗПРЕДЕЛЕНИЕ НА ЧЕБНОТО СЪДЪРЖАНИЕ по информационни технологии за 10. клас Изготвил:... (подпис).
ПодробноРЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема ИНСТРУМЕНТИ ЗА ПРЕДСТАВЯНЕ НА 3D ОБЕКТИ И КОЛЕКЦИИ В ИНТЕРНЕТ за придобив
РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема ИНСТРУМЕНТИ ЗА ПРЕДСТАВЯНЕ НА 3D ОБЕКТИ И КОЛЕКЦИИ В ИНТЕРНЕТ за придобиване на образователната и научна степен доктор, в област
ПодробноMicrosoft Word - kstB_kr.doc
Учебен план съгласно ЕСТК FTE фундаментални дисциплини; TBE T тип на образователно-квалификационната степен: B - бакалаври, M - магистри ; CS - Компютърни системи и технологии ; пореден номер на дисциплината;
ПодробноТЕХНИЧЕСКА ХАРАКТЕРИСТИКА WIFI SMART ДВУКАНАЛЕН КЛЮЧ Функции: Двуканален безжичен ON/OFF ключ. Управлява се от смартфон или таблет през интернет чрез
ТЕХНИЧЕСКА ХАРАКТЕРИСТИКА WIFI SMART ДВУКАНАЛЕН КЛЮЧ Функции: Двуканален безжичен ON/OFF ключ. Управлява се от смартфон или таблет през интернет чрез WiFi. Проверка на състоянието на управляваните уреди
ПодробноPowerPoint Presentation
Мобилната дигитализация (MobiDig)- технология и обучителни материали Проект по Erasmus+ на Р.Б "П.Р.Славейков", Национална професионална гимназия по фотография и полиграфия, Студентско общество за компютърно
ПодробноРЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема Оперативна съвместимост между цифрови библиотеки за културно наследство з
РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема Оперативна съвместимост между цифрови библиотеки за културно наследство за придобиване на образователната и научна степен доктор,
ПодробноНикел-кадмиеви акумулатори на ФЕРАК с широк спектър на приложение Септември 2004
Никел-кадмиеви акумулатори на ФЕРАК с широк спектър на приложение Септември 2004 ФЕРАК Безкомпромисна, абсолютна надеждност Изключителни експлоатационни качества Никел-кадмиевите акумулатори на Ферак са
ПодробноRelease notes_V3.0_BG
БЕЛЕЖКИ КЪМ ВЕРСИЯ V3.0 Hilti ON!Track Дата на излизане: 09.06.2018 г. 1 Важни моменти на версията 2 2 Нови функции 3 2.1 От местоположение и количество в потвърждение на доставката 3 2.2 Потвърждение
ПодробноMicrosoft Word - Techn zad 2017-M1
ТЕХНИЧЕСКА СПЕЦИФИКАЦИЯ за предоставяне на достъп до специализирана уеб-базирана електронна платформа, позволяваща провеждане на Национално онлайн външно оценяване на дигиталните компетентности на учениците
Подробно10. Линейни оптимизационни модели – обща постановка
0. Линейни оптимизационни модели обща постановка Пример Разполагате с 26 бр. самолети от тип А и 5 бр. самолети от тип В. Задачата е да се пренесе възможно по-голямо количество от разполагаем товар, при
ПодробноControl no:
Smart Access Работна процедура A. Предварително условиe... 2 1. Съвместимост със смартфон... 2 2. Избор на кабел... 2 a. Устройства на Apple (iphone 4/4s)... 2 b. Устройства на Apple (iphone 5/5c/5s)...
ПодробноSlide 1
Обектът на това проучване са механизмите, чрез които мултисензорите събират информация от реалния свят и я трансформират в електронни сигнали, използвани в информационни и управляващи системи. Описана
ПодробноСистеми за управление на версии - Работа с git
Системи за управление на версии Работа с git Иван Георгиев, Христо Иванов, Христо Стефанов Tехнологическо училище "Електронни системи", Технически университет, София 28 февруари 2019 г. И. Георгиев, Х.
ПодробноПриложение на методите на Рунге Кута за решаване на уравненията за отравяне на ядрения реактор 1. Въведение В доклада са направени поредица от изчисле
Приложение на методите на Рунге Кута за решаване на уравненията за отравяне на ядрения реактор 1. Въведение В доклада са направени поредица от изчисления върху уравненията за отравяне на ядрения реактор
ПодробноScanned Document
.2 .2 .71. 72 .2 .2 .2 .2 .2 ІV. ТЕХНИЧЕСКИ СПЕЦИФИКАЦИИ ПО ОБОСОБЕНИ ПОЗИЦИИ IV.1. Техническа спецификация Настоящите технически спецификации определят минималните изисквания за изпълнение на
ПодробноВидеорекордер АHD-3908 Ръководство за експлоатация Моделите от тази серия са отличен избор за цифрово наблюдение на обекти в различни сфери, където во
Видеорекордер АHD-3908 Ръководство за експлоатация Моделите от тази серия са отличен избор за цифрово наблюдение на обекти в различни сфери, където водещ фактор е сигурността. Вградената LINUX операционна
ПодробноПечатница ЕА
Кратко описание на проекта: Проектът предвижда да се инвестира в подмяна на остарялото оборудване със съвременно, по-високо технологично, енергоспестяващо, с цел намаляване на себестойността и повишаване
Подробно