презентацию в ppt

Download Report

Transcript презентацию в ppt

ОC РВ Эльбрус в бортовых системах
реального времени
Перспективы развития
Евгений Кравцунов
[email protected]
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
e2k
e2k
Компоненты ОС РВ Эльбрус
2013
2014
Debian 5.0 Lenny
Debian 7.0 Wheezy
Glibc-2.7
Glibc-2.16
Linux-2.6.33
e2k
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
e2k
Особенности архитектуры
* Широкая команда
* 80-битная арифметика
* Тэги, защищенный режим
Особенности архитектуры
Широкая команда:
Слог заголовка:
Слог коротких операций:
Слоги AL каналов:
HS
\
SS |
ALS0 |
…
ALS5 | фрагмент f1
Слоги управления:
CS0 /
CS1 > фрагмент f2
 средняя точка
Полуслоги расширения:
ALES0 \
…
ALES4 | фрагмент f3
Полуслоги каналов обращения к массивам:
AAS0 |
…
AAS5 /
«Дыра» для выравнивания команды: 0 / 0.5 / 1 / 1.5 слогов
Литеральные слоги:
LTS3 \
…
LTS0 |
Слоги предикатов логических каналов:
PLS2 | фрагмент f4
PLS1 |
PLS0 |
Слоги условного выполнения:
CDS2 |
CDS1 |
CDS0 /
 «длина команды»
Особенности архитектуры
Пример широкой команды (дизассемблер):
! function ‘fbBlt’, entry = 70162, value = 0x53ab40, size=0x10850, sect = ELF_TEXT num = 10
…
1420<0000005414b8> HS
ec311446 M_5414b8: loop_mode
SS
806f24a0 ct %ctpr1 ? #NOT_LOOP_END
ipd 2
abn abnf=1, abnt=1
abp abpf=1, abpt=1
alc alcf=1, alct=1
ALS0 c80be913
pandd, 0, sm, %db[11], %dg9, %db[19]
ALS1 cb15e80b
pxord, 1, sm, %db[21], %dg8, %bd[11]
ALS3 91c81412
addd, 3, sm 8, %db[20], %db[18] ? pcntl
ALS4 91c01415
addd, 4, sm 0, %db[20], %db[21]
ALS5 2117c013
std, 5 %db[19], [%db[23] + 0]
ALES 01c001c0
AAS 00014001
movad, 1 area=0, ind=0, am=1, be=0, %db[1]
CDS0 44410000 rlp, cd00 %pcntl, > alc3
Особенности архитектуры
Коды тегов одинарного слова:
tag
комментарий
id
00
tagnvs
Числовой тип одинарного формата или
составляющее слово числового типа двойного,
расширенного или квадро форматов.
01
tagaddr32
Специальный тип одинарного формата.
10
tagaddr64
Составляющее слово адресного типа двойного
формата.
11
tagaddr128
Составляющее слово адресного типа квадро
формата.
Тип DT (Diagnostic Type) состоит из DW (Diagnostic Word): itag = 1
tag
t1-t0
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
e2k
Высокая
производительность на
вычислительных задачах
 Поддержка
защищенных вычислений

Особенности архитектуры
2013
Минусы
Debian 5.0 Lenny

Glibc-2.7

Linux-2.6.33
e2k
Большое время входа
в прерывание и
системный вызов
Энергопотребление (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
clw
33
mas
52
pm
empt
num_align
51
50
spec
32
31
s_f
mode_80
store
18
17
miss_lvl
49
sru
30
48
scal
29
28
r
opcode
dst
0
27
26
20
19
16
14
13
10
9
Особенности архитектуры
Обработка исключительной ситуации 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
e2k
1) Специальный протокол быстрого обмена
данными по сети при подключении
точка - точка (драйверы сетевых
контроллеров)
2) Устранена семафорная глобализация
для сетевых устройств
3) Реальная резидентация всей памяти
процесса после вызова mlockall
Реальное время
2013
MCST RT patch:
Debian 5.0 Lenny
Glibc-2.7
Linux-2.6.33
e2k
4) Масштабирование потоков обработки
сетевых прерываний по устройствам
а не по CPU
5) Динамическое включение режима
жесткого реального времени
6) Запрет миграций и балансировки
потоков с возможностью исполнения
потоков из общей очереди для
всех CPU и/или для NUMA узла
Энергопотребление
2013
Аппаратная поддержка:
Debian 5.0 Lenny
1) Остановка конвейера команд
при возникновении R-stall до
момента получения значения
из памяти
Glibc-2.7
2) Поддержка программного
отключения дешифрации и
синхроимпульса на
процессорных ядрах
Linux-2.6.33
e2k
3) Регистры ACPI Fixed
Энергопотребление
2013
Программная поддержка:
Debian 5.0 Lenny
Glibc-2.7
Linux-2.6.33
e2k
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
МПОН-А
БЦВМ
Эльбрус-2c+
(Монокуб)
ОС РВ Багет
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
(с оптимизацией -O3
775.8 MIPS)
296.0 MIPS
Измерения производительности
Dhrystone 1.0
Кол-во циклов
4 096 000
ЦП05
БТ33-205
МПОН-А
БЦВМ
Эльбрус-2c+
(Монокуб)
ОС РВ Багет
2.0
ОС РВ Багет
2.0
ОС РВ Багет
3.0
ОС РВ Багет
3.0
Linux elbrus
2.6.33
65 015.9 DpS
227 555.6 DpS
130 VAX MIPS
rating
215 579.0 DpS
123 VAX MIPS
rating
97 523.8 DpS
800000 DpS
56 VAX MIPS
rating
455 VAX MIPS
rating
224 438.4 DpS
218 453.3 DpS
97 523.8 DpS
128 VAX MIPS
rating
124 VAX MIPS
rating
727272.8 DpS
(с оптимизацией -O3
1333333.4
DpS)
414 VAX MIPS
rating
(-O3 759 VAX
MIPS rating)
37 VAX MIPS
rating
32 768 000
ЦП06 БТ33-206А
64 377.2 DpS
37 VAX MIPS
rating
56 VAX MIPS
rating
Измерения производительности
Результат бенчмарка
СМ
LP
DS
WS
ST
«ОСРВЭльбрус»
Монокуб (e2k)
500 МГц
2 CPU
1212.6
Iterations/Sec
93.99
MFLOPS
1333333.4
DpS
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
«ОСРВЭльбрус»
x86 Intel Atom
330 (1600 МГц)
4 CPU
3026.63
Iterations/Sec
187.53
MFLOPS
3788034
DpS
711.08
MWIPS
МБ/c
Copy: 2132.45
Scale: 2132.12
Add: 2460.86
Triad: 2463.51
threads: 4
Debian Wheezy
ARM SoC
AllWinner A20
DualCore ARM
CortexA7
(ARMv7l 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
DpS
1162.37
VAX MIPS
rating
Измерения производительности
Результат бенчмарка
«ОСРВЭльбрус»
Монокуб (e2k)
500 МГц
2 CPU
«ОСРВЭльбрус»
x86 Core2Quad
(2660 МГц)
4 CPU
«ОСРВЭльбрус»
x86 Pentium R
DualCore
(2520 МГц)
2 CPU
СМ
LP
DS
WS
ST
1212.6
Iterations/Sec
93.99
MFLOPS
1333333.4
DpS
775.8
MWIPS
303.47
(eml)
759
VAX MIPS rating
1646.56
MFLOPS
14868324
DpS
МБ/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
DpS
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 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
e2k
e2k
Виртуализация и облака
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
e2k
KVM
(paravirt)
e2k
Q&A