kravtsunov_11122014.ppt
- Количество слайдов: 29
ОC РВ Эльбрус в бортовых системах реального времени Перспективы развития Евгений Кравцунов kravtsunov_e@mcst. ru
Agenda * * * * Компоненты ОС РВ Эльбрус Особенности архитектуры Реальное время Энергопотребление Рыночная ниша Измерения производительности ARINC 653 и микроядерная архитектура ОС Виртуализация и облака
Компоненты ОС РВ Эльбрус 2013 2014 Debian 5. 0 Lenny Debian 7. 0 Wheezy Glibc 2. 7 Glibc 2. 16 Linux 2. 6. 33 Linux 3. 10 e 2 k
Компоненты ОС РВ Эльбрус 2013 2014 Debian 5. 0 Lenny Debian 7. 0 Wheezy Glibc 2. 7 Glibc 2. 16 Linux 2. 6. 33 e 2 k lcc == Linux 3. 10 gcc 3. 4. 6 binutils 2. 18
Компоненты ОС РВ Эльбрус 2013 2014 Debian 5. 0 Lenny Debian 7. 0 Wheezy Glibc 2. 7 Glibc 2. 16 lcc == gcc 4. 4. 0 Linux 2. 6. 33 binutils 2. 23 Linux 3. 10 e 2 k
Особенности архитектуры * Широкая команда * 80 битная арифметика * Тэги, защищенный режим
Особенности архитектуры Широкая команда: Слог заголовка: Слог коротких операций: Слоги AL каналов: HS SS | ALS 0 | … ALS 5 | фрагмент f 1 Слоги управления: CS 0 / CS 1 > фрагмент f 2 средняя точка Полуслоги расширения: ALES 0 … ALES 4 | фрагмент f 3 Полуслоги каналов обращения к массивам: AAS 0 | … AAS 5 / «Дыра» для выравнивания команды: 0 / 0. 5 / 1. 5 слогов Литеральные слоги: LTS 3 … LTS 0 | Слоги предикатов логических каналов: PLS 2 | фрагмент f 4 PLS 1 | PLS 0 | Слоги условного выполнения: CDS 2 | CDS 1 | CDS 0 / «длина команды»
Особенности архитектуры Пример широкой команды (дизассемблер): ! function ‘fb. Blt’, entry = 70162, value = 0 x 53 ab 40, size=0 x 10850, sect = ELF_TEXT num = 10 … 1420<0000005414 b 8> HS ec 311446 M_5414 b 8: loop_mode SS 806 f 24 a 0 ct %ctpr 1 ? #NOT_LOOP_END ipd 2 abnf=1, abnt=1 abpf=1, abpt=1 alcf=1, alct=1 ALS 0 c 80 be 913 pandd, 0, sm, %db[11], %dg 9, %db[19] ALS 1 cb 15 e 80 b pxord, 1, sm, %db[21], %dg 8, %bd[11] ALS 3 91 c 81412 addd, 3, sm 8, %db[20], %db[18] ? pcntl ALS 4 91 c 01415 addd, 4, sm 0, %db[20], %db[21] ALS 5 2117 c 013 std, 5 %db[19], [%db[23] + 0] ALES 01 c 0 AAS 00014001 movad, 1 area=0, ind=0, am=1, be=0, %db[1] CDS 0 44410000 rlp, cd 00 %pcntl, > alc 3
Особенности архитектуры Коды тегов одинарного слова: tag id комментарий 00 tagnvs Числовой тип одинарного формата или составляющее слово числового типа двойного, расширенного или квадро форматов. 01 tagaddr 32 Специальный тип одинарного формата. 10 tagaddr 64 Составляющее слово адресного типа двойного формата. 11 tagaddr 128 Составляющее слово адресного типа квадро формата. Тип DT (Diagnostic Type) состоит из DW (Diagnostic Word): itag = 1 tag t 1 t 0 x 31 itag x 30 29 Тип ET (Diagnostic Type) состоит из DW (Diagnostic Word): itag = 0 0
Особенности архитектуры Плюсы: Высокая производительность на вычислительных задачах Поддержка защищенных вычислений Минусы: Большое время входа в прерывание и системный вызов Энергопотребление (R stall)
Особенности архитектуры 2013 Плюсы Debian 5. 0 Lenny libm, libeml Glibc 2. 7 Linux 2. 6. 33 e 2 k Высокая производительность на вычислительных задачах Поддержка защищенных вычислений
Особенности архитектуры 2013 Минусы Debian 5. 0 Lenny Большое время входа в прерывание и системный вызов Glibc 2. 7 Linux 2. 6. 33 e 2 k Энергопотребление (R stall)
Особенности архитектуры Регистры TIR содержат информацию о нескольких последних командах, то есть о заключительной части трассы выполнения. Трасса собирается во время выполнения программы и «замораживается» при входе в прерывание. После этого информация о трассе доступна для операций чтения регистров. «Размораживание» TIR – запись в регистр TIR. 1 TIR – квадро слово (TIRlo, TIRhi). Количество регистров TIR: TRAP_NUM = 19. ip lo: 63 47 j hi: 63 56 55 aa 0 al 52 49 exc 44 43 0
Особенности архитектуры Cellar ( «Подвал» ) Формат 0 го слова: Reserved Virtual Address 63 48 47 0 Формат 1 го слова: tag Data 63 0 Формат 2 го слова: rcv r 63 dst_rcv 61 62 60 53 fault_type 47 chan 34 root 27 33 52 pm empt 19 50 spec 31 s_f 20 num_align 51 32 mas 26 clw mode_80 17 49 sru store 18 miss_lvl 30 scal 29 28 r 16 48 opcode 14 13 10 dst 9 0
Особенности архитектуры Обработка исключительной ситуации exc_data_page: Вход для прерываний Выход: обратно к приложению do_trap_cellar: parse_TIR_registers 1) do_page_fault 2) execute_mmu_operations
Особенности архитектуры Минусы: Большое время входа в прерывание и системный вызов Энергопотребление (R stall)
Реальное время 2013 Ingo Molnar: 1) Замена spinlock на raw_spin_lock и rt_mutex 2) Введение irq_thread Debian 5. 0 Lenny 3) Исполнение прерываний на irq_thread MCST RT patch: Glibc 2. 7 Linux 2. 6. 33 e 2 k 1) Специальный протокол быстрого обмена данными по сети при подключении точка (драйверы сетевых контроллеров) 2) Устранена семафорная глобализация для сетевых устройств 3) Реальная резидентация всей памяти процесса после вызова mlockall
Реальное время 2013 MCST RT patch: Debian 5. 0 Lenny Glibc 2. 7 Linux 2. 6. 33 e 2 k 4) Масштабирование потоков обработки сетевых прерываний по устройствам а не по CPU 5) Динамическое включение режима жесткого реального времени 6) Запрет миграций и балансировки потоков с возможностью исполнения потоков из общей очереди для всех CPU и/или для NUMA узла
Энергопотребление 2013 Аппаратная поддержка: Debian 5. 0 Lenny Glibc 2. 7 Linux 2. 6. 33 e 2 k 1) Остановка конвейера команд при возникновении R stall до момента получения значения из памяти 2) Поддержка программного отключения дешифрации и синхроимпульса на процессорных ядрах 3) Регистры ACPI Fixed
Энергопотребление 2013 Программная поддержка: Debian 5. 0 Lenny Glibc 2. 7 Linux 2. 6. 33 e 2 k 1) Пассивное охлаждение: CPU_HOTPLUG 2) Динамическое управление энергопотреблением в состоянии idle (cpufreq, cpuidle) 3) Управление переходами между состояниями С states, P states c использованием ACPICA
Рыночная ниша 1) Бортовые системы (сложные встраиваемые системы, сочетающие в себе одновременно интенсивный обмен данными и вычисления) 2) Высокопроизводительные серверы, предназначенные для работы с большими данными
Измерения производительности Whetstone 1. 0 Кол во циклов ЦП 05 БТ 33 205 ОС РВ Багет 2. 0 ЦП 06 БТ 33 206 А ОС РВ Багет 2. 0 ОС РВ Багет 3. 0 МПОН А БЦВМ Эльбрус 2 c+ (Монокуб) ОС РВ Багет 3. 0 Linux elbrus 2. 6. 33 256 000 27. 2 MIPS 103. 2 MIPS 99. 2 MIPS 58. 7 MIPS 512 000 27. 2 MIPS 102. 2 MIPS 97. 3 MIPS 56. 6 MIPS 290. 9 MIPS (с оптимиза цией O 3 775. 8 MIPS) 296. 0 MIPS
Измерения производительности Dhrystone 1. 0 Кол во циклов ЦП 05 БТ 33 205 ЦП 06 БТ 33 206 А МПОН А БЦВМ Эльбрус 2 c+ (Монокуб) ОС РВ Багет 2. 0 4 096 000 ОС РВ Багет 2. 0 ОС РВ Багет 3. 0 Linux elbrus 2. 6. 33 65 015. 9 Dp. S 227 555. 6 Dp. S 130 VAX MIPS rating 215 579. 0 Dp. S 123 VAX MIPS rating 97 523. 8 Dp. S 800000 Dp. S 56 VAX MIPS rating 455 VAX MIPS rating 224 438. 4 Dp. S 218 453. 3 Dp. S 97 523. 8 Dp. S 128 VAX MIPS rating 124 VAX MIPS rating 727272. 8 Dp. S (с оптимиза цией O 3 1333333. 4 Dp. S) 414 VAX MIPS rating ( O 3 759 VAX MIPS rating) 37 VAX MIPS rating 32 768 000 64 377. 2 Dp. S 37 VAX MIPS rating 56 VAX MIPS rating
Измерения производительности Результат бенчмарка СМ LP DS WS ST «ОСРВ Эльбрус» Монокуб (e 2 k) 500 МГц 2 CPU 1212. 6 Iterations/Sec 93. 99 MFLOPS 1333333. 4 Dp. S 775. 8 MWIPS 303. 47 (eml) 759 VAX MIPS rating МБ/c Copy: 5025. 07 Scale: 1781. 81 Add: 5677. 17 Triad: 1249. 77 threads: 2 «ОСРВ Эльбрус» x 86 Intel Atom 330 (1600 МГц) 4 CPU 3026. 63 Iterations/Sec 187. 53 MFLOPS 3788034 Dp. S 711. 08 MWIPS МБ/c Copy: 2132. 45 Scale: 2132. 12 Add: 2460. 86 Triad: 2463. 51 threads: 4 Debian Wheezy ARM So. C All. Winner A 20 Dual. Core ARM Cortex. A 7 (ARMv 7 l 1000 МГц) 2 CPU 1514. 92 Iterations/Sec 409. 56 MWIPS МБ/c Copy: 1768. 98 Scale: 1054. 12 Add: 865. 24 Triad: 803. 46 threads: 2 2155. 97 VAX MIPS rating 95. 95 MFLOPS 2042282 Dp. S 1162. 37 VAX MIPS rating
Измерения производительности Результат бенчмарка СМ «ОСРВ Эльбрус» Монокуб (e 2 k) 500 МГц 2 CPU «ОСРВ Эльбрус» x 86 Core 2 Quad (2660 МГц) 4 CPU «ОСРВ Эльбрус» x 86 Pentium R Dual. Core (2520 МГц) 2 CPU LP DS WS ST 1212. 6 Iterations/Sec 93. 99 MFLOPS 1333333. 4 Dp. S 775. 8 MWIPS 303. 47 (eml) 759 VAX MIPS rating 1646. 56 MFLOPS 14868324 Dp. S МБ/c Copy: 5025. 07 Scale: 1781. 81 Add: 5677. 17 Triad: 1249. 77 threads: 2 МБ/c Copy: 3834. 68 Scale: 3792. 37 Add: 4364. 78 Triad: 4376. 37 threads: 4 8283. 75 Iterations/Sec 2649. 49 MWIPS 8462. 3 VAX MIPS rating 7868. 38 Iterations/Sec 1279. 76 MFLOPS 10436017 Dp. S 5939. 7 VAX MIPS rating 2395. 15 MWIPS МБ/c Copy: 3234. 19 Scale: 3212. 34 Add: 3929. 79 Triad: 3918. 75 threads: 2
ARINC 653 и микроядерная архитектура ОС image Partition 1 Process 1 Сервер устройства Partition 2 Process 1 Сервер ARINC 653 Сервер gdb Kernel 653 Health monitor
Виртуализация и облака 2013 2014 Debian 5. 0 Lenny Debian 7. 0 Wheezy Glibc 2. 7 Glibc 2. 16 Linux 2. 6. 33 Linux 3. 10 e 2 k
Виртуализация и облака 2013 2015 2016 QEMU-KVM Debian 5. 0 Lenny Debian 7. 0 Wheezy Glibc 2. 7 Glibc 2. 16 Linux 2. 6. 33 Linux 3. 10 e 2 k KVM (paravirt) e 2 k
Q&A
kravtsunov_11122014.ppt