ЖУРНАЛ СТА 2/2012

П РОИЗВОДИТЕЛЬНОСТЬ МЕНЕДЖЕРА ПРОЦЕССОВ Единицей выполнения и планирования в QNX является поток. Каждый поток имеет собственный контекст выполне- ния (IP – instruction pointer, SP – stack pointer и др.), но нахо- дится в адресном пространстве процесса, и каждый процесс включает как минимум один поток. Планированием потоков в QNX занимается менеджер про- цессов. Менеджер процессов объединён с микроядром QNX в модуль procnto и является неотъемлемой частью системы. QNX 6.5 предоставляет 255 уровней приоритетов и следую- щие типы планирования: FIFO, карусельное (Round Robin) и спорадическое. В РЕМЯ ПЕРЕКЛЮЧЕНИЯ МЕЖДУ ПОТОКАМИ С ОДИНАКОВЫМ ПРИОРИТЕТОМ В этом тесте измерялось время переключения между пото- ками с одинаковым приоритетом, работающими с дисципли- ной диспетчеризации FIFO. Для переключения потоки доб- ровольно освобождали процессор (yield). Результаты тестирования компьютера на базе Pentium 200 MMX Результаты тестирования процессорного модуля Advantech SOM-6760 на базе Intel Atom Результаты тестирования процессорной платы Beagle-XM Board (ARM Cortex A8) Результаты для Linux-RT, компьютер на базе Pentium MMX 200 (для сравнения) Результаты для Windows Compact 7, компьютер на базе Intel Pentium II 233 МГц (для сравнения) В РЕМЯ СОЗДАНИЯ И УДАЛЕНИЯ ПОТОКА Тест проводился в трех различных сценариях: ● сценарий 1: создаётся поток с приоритетом ниже, чем у те- кущего; в этом сценарии не происходит переключения между потоками, т.е. создаваемый и удаляемый поток не получает управление; ● сценарий 2: создаётся поток с приоритетом выше, чем у те- кущего; создаваемый поток сразу получает управление и уничтожается; ● сценарий 3: создаётся поток с приоритетом выше, чем у те- кущего, но при получении управления он снижает свой приоритет. При создании потока в сценарии 1 измеряется время си- стемного вызова, а для сценариев 2 и 3 измеряется время от момента системного вызова до получения управления созда- ваемым потоком. Итак, результаты тестов по созданию и удалению потока. Компьютер на базе Pentium 200 MMX Процессорный модуль Advantech SOM-6760 на базе Intel Atom Процессорная плата Beagle-XM Board (ARM Cortex A8) П РОИЗВОДИТЕЛЬНОСТЬ МЕХАНИЗМОВ СИНХРОНИЗАЦИИ QNX предоставляет стандартные для POSIX-систем меха- низмы синхронизации в виде семафоров и мьютексов. Д ЛИТЕЛЬНОСТЬ ОПЕРАЦИЙ С СЕМАФОРАМИ Операции по созданию и удалению семафора в среднем за- нимают: ● 3,8 и 3,6 микросекунд (максимум 39,2 и 19,7 мкс) для ком- пьютера на базе Pentium 200 MMX; ● 0,7 и 0,6 мкс (максимум 11,7 и 5,4 мкс) для Advantech SOM–6760; П РОГ РАММНОЕ ОБ Е СП Е Ч Е НИЕ / СИС Т ЕМЫ Р Е АЛ Ь НОГО В Р ЕМЕ НИ 83 СТА 2/2012 www.cta.ru Количество потоков Среднее время, мкс Максимальное время, мкс Минимальное время, мкс 2 2,4 17,2 2,3 10 3,0 15,6 2,4 128 5,1 32,2 4,4 1000 5,0 21,1 4,1 Количество потоков Среднее время, мкс Максимальное время, мкс Минимальное время, мкс 2 0,4 2,8 0,4 10 0,4 11,9 0,4 128 0,6 11,5 0,4 1000 0,8 11,7 0,5 Количество потоков Среднее время, мкс Максимальное время, мкс Минимальное время, мкс 2 0,6 6,3 0.6 10 0,6 3,9 0,6 128 1,2 8,2 0,8 1000 1,9 21,5 1,1 Количество потоков Среднее время, мкс Максимальное время, мкс Минимальное время, мкс 2 5,3 53,8 4,8 10 7,3 54,4 6,7 128 11,4 49 9,2 1000 13,4 53,4 10,6 Количество потоков Среднее время, мкс Максимальное время, мкс Минимальное время, мкс 2 10,1 22,3 9,9 10 11,4 17,6 11 128 15,3 22,5 13,3 1000 17,4 24,1 14,7 Сценарий Среднее время, мкс Макси- мальное время, мкс Мини- мальное время, мкс Сценарий 1 – создание потока 215 248 209 Сценарий 1 – удаление потока 152 294 147 Сценарий 2 – создание потока 217 245 212 Сценарий 2 – удаление потока 15,5 53 14,7 Сценарий 2 – создание потока 214 248 208 Сценарий 2 – удаление потока 155 295 150 Сценарий Среднее время, мкс Макси- мальное время, мкс Мини- мальное время, мкс Сценарий 1 – создание потока 24 30,3 23,8 Сценарий 1 – удаление потока 18,5 49 18,2 Сценарий 2 – создание потока 23,8 34,5 23,4 Сценарий 2 – удаление потока 1,9 9,0 1,8 Сценарий 2 – создание потока 23,9 31,9 23,5 Сценарий 2 – удаление потока 18,6 47 18,3 Сценарий Среднее время, мкс Макси- мальное время, мкс Мини- мальное время, мкс Сценарий 1 – создание потока 41,8 53,3 40,5 Сценарий 1 – удаление потока 34,4 117 31,5 Сценарий 2 – создание потока 41,7 55,9 40,5 Сценарий 2 – удаление потока 3,1 23 2,5 Сценарий 2 – создание потока 41,5 56,3 40,2 Сценарий 2 – удаление потока 35,4 116,5 32,5 © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy