Анализ и оптимизация на софтуерни приложения

Размер: px
Започни от страница:

Download "Анализ и оптимизация на софтуерни приложения"

Препис

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

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. Визия 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 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

PowerPoint Presentation Глобално приложение Компресори и помпи Дървообработване Енергия от възобновяеми източници Асансьори и ескалатори Задвижвания в театри Автомобилна индустрия Текстилни машини Електромагнитни системи Хранително-вкусова

Подробно

Digital library 2.0

Digital library 2.0 Дигиталната библиотека (DL - Digital Library) е библиотека, в която колекциите се съхраняват в дигитален (цифров) формат, различен от книжния вариант, микроформите или друг формат, и които са достъпни

Подробно

СТАНОВИЩЕ

СТАНОВИЩЕ РЕЦЕНЗИЯ върху дисертационeн труд за получаване на образователната и научна степен доктор, Автор: маг.инж. Ивайло Пламенов Пенев Тема: ПОДХОД ЗА ПЛАНИРАНЕ И ИЗПЪЛНЕНИЕ НА ПАРАЛЕЛНИ ЗАДАЧИ В РАЗПРЕДЕЛЕНА

Подробно

Presentacia

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

Microsoft PowerPoint - Model_Dec_2008_17_21 Структура. Теория на графите общи понятия. Същност на мрежовите модели. Приложение на мрежови модели при управление на проекти и програми Общи понятия от Теорията на графите, използвани при мрежовите модели

Подробно

Машинно обучение - въведение

Машинно обучение - въведение Линейна регресия с една променлива Доц. д-р Ивайло Пенев Кат. Компютърни науки и технологии Пример 1 Данни за цени на къщи Площ (x) Означения: Цена в $ (y) 2104 460 000 1416 232 000 1534 315 000 852 178

Подробно

Slide 1

Slide 1 11. Количествено ориентирани методи за вземане на решения в обкръжение на неопределеност и риск 1 Структура Матрица на полезността Дърво на решенията 2 11.1. Матрица на полезността 3 Същност на метода

Подробно

<4D F736F F D20D0E0E7FFF1EDE5EDE8E520EFEE20F7EB2E EEF220C7CECF20F120C8E7F52EB EEF E31312E3138E3>

<4D F736F F D20D0E0E7FFF1EDE5EDE8E520EFEE20F7EB2E EEF220C7CECF20F120C8E7F52EB EEF E31312E3138E3> Изх. К 8075#1/ 05.11.2018г. До: Лицата, заинтересовани от Обществена поръчка с предмет: Разработване на софтуер за киоск терминали, уеб портал и мобилно приложение по проект,,easyguide interactive mobile

Подробно

Slide 1

Slide 1 СИСТЕМИ ЗА ДИАГНОСТИКА И ЗАРЕЖДАНЕ НА АВТОКЛИМАТИЦИ Напълно автоматизирани и лесни за употреба, машините за климатици на Robinair са разработени за достъпна поддръжка на различните климатични системи в

Подробно

Microsoft PowerPoint - IT_tool_notification

Microsoft PowerPoint - IT_tool_notification СОФТУЕРЕН ИНСТРУМЕНТ ЗА НОТИФИЦИРАНЕ НА СМЕСИТЕ В ТОКСИКОЛОГИЧНИТЕ ЦЕНТРОВЕ Семинар Българско законодателство по ЗБОС (І част) новости, актуализация, помощ по прилагането БКХП 28 март 2019 г. Елена Зидарова,

Подробно

Графика и Презентации - Презентации

Графика и Презентации - Презентации Графика и Презентации Презентации доц. д-р А. Пенев Презентация Представяне на информация пред публика чрез технически средства. 2/18 Елементи Слайдове; Анимация, Видео,...; Ефекти; Звук. 3/18 Какво трябва

Подробно

Проектът се осъществява с финансовата подкрепа на Оперативна Програма Развитие на Човешките Ресурси , Съфинансиран от Европейския Социален Фо

Проектът се осъществява с финансовата подкрепа на Оперативна Програма Развитие на Човешките Ресурси , Съфинансиран от Европейския Социален Фо ЛЯТНА ШКОЛА 2013 ПОВИШАВАНЕ ТОЧНОСТТА НА РОБОТ ЧРЕЗ ИДЕНТИФИКАЦИЯ И РАЗПОЗНАВАНЕ Доц. д-р инж. Роман Захариев ПОВИШАВАНЕ НА ЕФЕКТИВНОСТТА И КАЧЕСТВОТО НА ОБУЧЕНИЕ И НА НАУЧНИЯ ПОТЕНЦИАЛ В ОБЛАСТТА НА СИСТЕМНОТО

Подробно

ТЕХНИЧЕСКА ИНФОРМАЦИЯ D3 ДИГИТАЛЕН КЪТЕР Вашият избор в дигиталното рязане

ТЕХНИЧЕСКА ИНФОРМАЦИЯ D3 ДИГИТАЛЕН КЪТЕР Вашият избор в дигиталното рязане ТЕХНИЧЕСКА ИНФОРМАЦИЯ D3 ДИГИТАЛЕН КЪТЕР Вашият избор в дигиталното рязане D3 Системи за рязане Съвършенство във всеки детайл Гъвкава конфигурация на инструментите Сигурна и изпитана модулна система инструменти

Подробно

(пълно наименование на училището) Утвърждавам!... (име и фамилия, подпис, печат) ПРИМЕРНО ГОДИШНО РАЗПРЕДЕЛЕНИЕ НА УЧЕБНОТО СЪДЪРЖАНИЕ по инфор

(пълно наименование на училището) Утвърждавам!... (име и фамилия, подпис, печат) ПРИМЕРНО ГОДИШНО РАЗПРЕДЕЛЕНИЕ НА УЧЕБНОТО СЪДЪРЖАНИЕ по инфор ...... (пълно наименование на училището) твърждавам!... (име и фамилия, подпис, печат) ПРИМЕРНО ГОДИШНО РАЗПРЕДЕЛЕНИЕ НА ЧЕБНОТО СЪДЪРЖАНИЕ по информационни технологии за 10. клас Изготвил:... (подпис).

Подробно

РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема ИНСТРУМЕНТИ ЗА ПРЕДСТАВЯНЕ НА 3D ОБЕКТИ И КОЛЕКЦИИ В ИНТЕРНЕТ за придобив

РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема ИНСТРУМЕНТИ ЗА ПРЕДСТАВЯНЕ НА 3D ОБЕКТИ И КОЛЕКЦИИ В ИНТЕРНЕТ за придобив РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема ИНСТРУМЕНТИ ЗА ПРЕДСТАВЯНЕ НА 3D ОБЕКТИ И КОЛЕКЦИИ В ИНТЕРНЕТ за придобиване на образователната и научна степен доктор, в област

Подробно

Microsoft Word - kstB_kr.doc

Microsoft Word - kstB_kr.doc Учебен план съгласно ЕСТК FTE фундаментални дисциплини; TBE T тип на образователно-квалификационната степен: B - бакалаври, M - магистри ; CS - Компютърни системи и технологии ; пореден номер на дисциплината;

Подробно

ТЕХНИЧЕСКА ХАРАКТЕРИСТИКА WIFI SMART ДВУКАНАЛЕН КЛЮЧ Функции: Двуканален безжичен ON/OFF ключ. Управлява се от смартфон или таблет през интернет чрез

ТЕХНИЧЕСКА ХАРАКТЕРИСТИКА WIFI SMART ДВУКАНАЛЕН КЛЮЧ Функции: Двуканален безжичен ON/OFF ключ. Управлява се от смартфон или таблет през интернет чрез ТЕХНИЧЕСКА ХАРАКТЕРИСТИКА WIFI SMART ДВУКАНАЛЕН КЛЮЧ Функции: Двуканален безжичен ON/OFF ключ. Управлява се от смартфон или таблет през интернет чрез WiFi. Проверка на състоянието на управляваните уреди

Подробно

PowerPoint Presentation

PowerPoint Presentation Мобилната дигитализация (MobiDig)- технология и обучителни материали Проект по Erasmus+ на Р.Б "П.Р.Славейков", Национална професионална гимназия по фотография и полиграфия, Студентско общество за компютърно

Подробно

РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема Оперативна съвместимост между цифрови библиотеки за културно наследство з

РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема Оперативна съвместимост между цифрови библиотеки за културно наследство з РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема Оперативна съвместимост между цифрови библиотеки за културно наследство за придобиване на образователната и научна степен доктор,

Подробно

Никел-кадмиеви акумулатори на ФЕРАК с широк спектър на приложение Септември 2004

Никел-кадмиеви акумулатори на ФЕРАК с широк спектър на приложение Септември 2004 Никел-кадмиеви акумулатори на ФЕРАК с широк спектър на приложение Септември 2004 ФЕРАК Безкомпромисна, абсолютна надеждност Изключителни експлоатационни качества Никел-кадмиевите акумулатори на Ферак са

Подробно

Release notes_V3.0_BG

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

Microsoft Word - Techn zad 2017-M1 ТЕХНИЧЕСКА СПЕЦИФИКАЦИЯ за предоставяне на достъп до специализирана уеб-базирана електронна платформа, позволяваща провеждане на Национално онлайн външно оценяване на дигиталните компетентности на учениците

Подробно

10. Линейни оптимизационни модели – обща постановка

10. Линейни оптимизационни модели – обща постановка 0. Линейни оптимизационни модели обща постановка Пример Разполагате с 26 бр. самолети от тип А и 5 бр. самолети от тип В. Задачата е да се пренесе възможно по-голямо количество от разполагаем товар, при

Подробно

Control no:

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

Slide 1 Обектът на това проучване са механизмите, чрез които мултисензорите събират информация от реалния свят и я трансформират в електронни сигнали, използвани в информационни и управляващи системи. Описана

Подробно

Системи за управление на версии - Работа с git

Системи за управление на версии - Работа с git Системи за управление на версии Работа с git Иван Георгиев, Христо Иванов, Христо Стефанов Tехнологическо училище "Електронни системи", Технически университет, София 28 февруари 2019 г. И. Георгиев, Х.

Подробно

Приложение на методите на Рунге Кута за решаване на уравненията за отравяне на ядрения реактор 1. Въведение В доклада са направени поредица от изчисле

Приложение на методите на Рунге Кута за решаване на уравненията за отравяне на ядрения реактор 1. Въведение В доклада са направени поредица от изчисле Приложение на методите на Рунге Кута за решаване на уравненията за отравяне на ядрения реактор 1. Въведение В доклада са направени поредица от изчисления върху уравненията за отравяне на ядрения реактор

Подробно

Scanned Document

Scanned Document .2 .2 .71. 72 .2 .2 .2 .2 .2 ІV. ТЕХНИЧЕСКИ СПЕЦИФИКАЦИИ ПО ОБОСОБЕНИ ПОЗИЦИИ IV.1. Техническа спецификация Настоящите технически спецификации определят минималните изисквания за изпълнение на

Подробно

Видеорекордер АHD-3908 Ръководство за експлоатация Моделите от тази серия са отличен избор за цифрово наблюдение на обекти в различни сфери, където во

Видеорекордер АHD-3908 Ръководство за експлоатация Моделите от тази серия са отличен избор за цифрово наблюдение на обекти в различни сфери, където во Видеорекордер АHD-3908 Ръководство за експлоатация Моделите от тази серия са отличен избор за цифрово наблюдение на обекти в различни сфери, където водещ фактор е сигурността. Вградената LINUX операционна

Подробно

Печатница ЕА

Печатница ЕА Кратко описание на проекта: Проектът предвижда да се инвестира в подмяна на остарялото оборудване със съвременно, по-високо технологично, енергоспестяващо, с цел намаляване на себестойността и повишаване

Подробно