Настоящее и будущее микропроцессоров "Эльбрус" в российских компьютерах
Современные мировые тенденции развития ВТ и ИТ
Достижение высокой логической скорости МП линии «Эльбрус»
Почему важна производительность ядра
Параллелизм на уровне операций
Параллелизм архитектуры «Эльбрус»
Поддержка параллельных вычислений
Параллелизм МП «Эльбрус» и суперскалярного МП
Параллелизм операций (1)
Параллелизм операций (2)
Параллелизм операций (3)
Параллелизм операций (4)
Асинхронная подкачка данных
Архитектура и производительность МП: HPL & HPCG
Рост производительности за счет компилятора
Обеспечение безопасности и надежности на базе МП линии «Эльбрус»
Существо защищенного исполнения
Защищенное исполнение программ
Обеспечение совместимости на базе МП линии «Эльбрус»
Двоичная трансляция для совместимости
Параллелизм операций (5)
Изделия на базе микропроцессоров с архитектурой «Эльбрус»
Изделия на базе МП Эльбрус-4С
Сервер и шкаф на МП Эльбрус-4С с воздушным охлаждением
Сервер на МП Эльбрус-8С с воздушным охлаждением
ОПО Эльбрус
Развитие МП линии «Эльбрус» и компьютеров на них
Развитие серверных МП линии «Эльбрус»
Решения на базе технологий «РСК-торнадо»
СПАСИБО за внимание!
Проблемы кремниевой технологии
Сравнение на пакете SPECcpu2006 на ядро
7.00M
Category: electronicselectronics

Настоящее и будущее микропроцессоров "Эльбрус" в российских компьютерах

1. Настоящее и будущее микропроцессоров "Эльбрус" в российских компьютерах

Настоящее и будущее
микропроцессоров
"Эльбрус" в российских
компьютерах
Владимир Волконский
ЗАО «МЦСТ»
Лекция для слушателей Летней Суперкомпьютерной Академии МГУ
23.07.2017

2. Современные мировые тенденции развития ВТ и ИТ

• Экспоненциальный рост числа транзисторов в микропроцессорах
• Массовое использование параллелизма вычислений
• Повышение энергетической эффективности микропроцессоров
• Экспоненциальный рост объема и сложности
программного обеспечения
• Требуется существенное повышение надежности и безопасности
• Накопленный объем ПО требует решения проблемы совместимости
• сохраняя возможность вносить изменения в архитектуру

3.

Инновационные технологии Эльбрус
Параллельная энергоэффективная архитектура
• 25-48 оп. за такт, явный параллелизм операций
• Высокая однопоточная производительность
• Процессор общего назначения
• Собственный оптимизирующий компилятор
• Сбалансированное соотношение процессора и памяти
Эффективная двоичная совместимость с Intel x86, x86-64
• Исполнение Windows XP, Windows 7 и выше, Linux, QNX
• Слой совместимости для приложений в кодах x86/x86-64
в среде Linux
• Производительность до 80% от нативной, по логической
скорости лучше Intel Core
• Базируется на аппаратно поддержанной технологии
динамической двоичной компиляции
• Лицензионная независимость от Intel
Технология защищённых вычислений
• Защита (аппаратная) логической структуры памяти
• Гарантированное обнаружение уязвимостей
• 10x повышение скорости отладки программ
• Надежность программ, защита от компьютерных вирусов
Программируемость, надежность, энергоэффективность
Характеристики
Intel
Sandy
Bridge
Эльбрус8С
Пиковые
возможности
МП – операций
за такт
8
25
Число операций
за такт на
SPECcpu2006
1,54
4,88

4. Достижение высокой логической скорости МП линии «Эльбрус»

5. Почему важна производительность ядра


Экспоненциально растущие транзисторы вкладываются в аппаратный
параллелизм


Параллелизм аппаратуры необходимо использовать в алгоритмах


Параллелизм ядра ограничен многими факторами
Самое простое решение – много процессорных ядер
Языки программирования последовательные
Языки параллельного программирования почти не приживаются
Разные уровни параллелизма автоматизируются с разным успехом



Параллелизм на уровне операций поддается аппаратной и аппаратно-программной
оптимизации, он универсален
Векторный параллелизм поддается аппаратно-программной оптимизации, но имеет
ограниченное применение
Параллелизм потоков управления трудно автоматизируется

Требуются усилия программистов по распараллеливанию программ
Параллелизм потоков распределенных вычислений почти не автоматизируется
Требуется серьезная переработка программ для распараллеливания
Далеко не все программы удается распараллелить на потоки
При распараллеливании на потоки остаются последовательные участки

Закон Амдала требует наличия мощного ядра для последовательного исполнения
Производительное ядро повышает эффективность параллельных систем

6. Параллелизм на уровне операций

Анализ трасс исполнения показывает
значительный потенциал параллелизма
10
3,2 3,3

Это свидетельствует о наличии
многопоточного параллелизма
ow
in
d
in
g
10
K
op
.w
re
na
st
IP
C
IP
C
ac
k
y
or
em
m
in
g
na
m
re
en
a
na
m
m
in
g
in
g
m
При снятии ограничений по памяти
параллелизм не локален
1
re
Доминируют циклы
Выше векторный параллелизм
50
35
re
53
Вещественные задачи обладают
большим потенциалом параллелизма


87
100
no
175
110
IP
C

Переименование регистров повышает его
с 3,2 / 3,3 до 35 / 110 оп./такт
Отказ от переиспользования памяти и
стека увеличивает параллелизм в 5 раз
до 175 / 506 оп./такт
242
er
r

506
gi
st
Параллелизм ограничен зависимостями
по памяти
1000
IP
C
Целочисленные задачи: 81 - 240 оп./такт
Вещественные задачи: 36 - 4003 оп./такт
параллелизм операций


Параллелизм на уровне операций в задачах
пакета SPEC
IP
C
методы устранения ограничений параллелизма
целочисленные задачи
вещественные задачи
Резервы параллелизма операций огромны, их нужно уметь использовать

7. Параллелизм архитектуры «Эльбрус»

• Параллелизм скалярных операций
– До 30 операций за такт в разрабатываемых МП
– До 40-50 операций за такт в перспективных МП
• Параллелизм векторных операций
– Упакованные данные в векторе
• байтовые – 8, двухбайтовые – 4, 32-разрядные – 2
– Как минимум, удвоение числа операций в перспективных МП
• Параллелизм потоков управления на общей памяти
– Поддержка многоядерности
– Поддержка многопроцессорности
– Поддержка легкой многопоточности в перспективных МП
• Параллелизм на распределенной памяти
– Высокоскоростные каналы обмена
Используется с помощью оптимизирующего и распараллеливающего компилятора

8.

Структура ядра МП линии Эльбрус
2 кластера
IB –буфер команд (I$L1)
CU – устр. управления
PF – файл предикатов
PLU – вычисл. предикатов
PLU
D$L1 – кэш 1-го уровня
ALU1-6 – каналы арифм.логических устр.
bypass
CU
RF – регистровый файл
APB – буфер подкачки
массивов
PF
AAU – устр. асинхронной
подкачки массивов
MMU – устр. преобраз.
IB
виртуальных адресов
TLB – кэш преобраз.
виртуальных адресов
I+D$L2 – кэш 2-го уровня
Instructio
MAU – устр. доступа
n
к памяти
SC – системный контроллер
$L3 – кэш 3-го уровня
bypass – быстрые связи
Cluster 0
ALU0
ALU1
Cluster 1
ALU2
ALU3
bypass
D$L1
ALU4
ALU5
bypass
RF
RF
D$L1
AAU
MMU/TLB
I+D$L2
APB
MAU
Address
Data
Predicate
SC or $L3

9.

Пиковая производительность ядра
лин.уч. циклы
Int (8) / FP (9/12) / St (2) / Ld (4)
- 10/12 +
+
Обработка предикатов
- 3
+
+
Передача управления
- 1
+
+
Загрузка литерала 32/64
- 4/2
+
Асинхронная загрузка в РФ
- 4
+
Адресная арифметика
- 4
+
Обработка счетчика цикла
- 1
+
---------------------------------------------------------------------------------------Всего:
14/16 23/25
В МП Эльбрус-8С увеличивается число вещ. операций за такт до 12 dp
За счет расширения регистров в 2 раза Эльбрус-8СВ и Эльбрус-16С число
операций за такт удваивается (до 24 dp)

10. Поддержка параллельных вычислений


Одновременный запуск большого числа операций
Большие регистровый и предикатный файлы
– Окна произвольного размера – экономия регистров
– Стековая организация – снижение накладных расходов на переключение
Оптимизация операций передачи управления (подготовки переходов)
Режим условного (предикатного) выполнения операций
Режим спекулятивного выполнения операций
– Обеспечение корректности параллельных вычислений
• Механизм отложенного прерывания
– Оптимизация одновременного исполнения программных ветвей с разными
вероятностями реализации
Поддержка циклических вычислений; программная конвейеризация
циклов
– Автоматическая генерация и использование цикловых событий и состояний
для управления вычислениями и отдельными операциями
– Механизм циклического переименования регистров RF и PF
– Специализированное устройство регулярной адресной арифметики для
обращения к элементам массивов
– Специализированное устройство предварительной (асинхронной) подкачки
элементов массивов

11. Параллелизм МП «Эльбрус» и суперскалярного МП

МП «Эльбрус»
Суперскалярный МП
Оптимизирующий компилятор
• анализ зависимостей
• оптимизации
• глобальное планирование
• распределение регистров
Текст программы
Больше
параллелизма,
меньше тепла
Анализатор
зависимостей,
Перекодировщик
операций,
Планировщик,
Распределитель
регистров
Последовательный поток команд после компиляции

12. Параллелизм операций (1)

Пример: исходный текст
u = (a – c) – (b + c) – (c + d);
x = (e – f);
y = (a + b) + e;
z = (a + b) + (a – c) + (e – (b – d));
Всего 36 операций
a, b, c, d, e, f – операции считывания данных из памяти
u, x, y, z – операции записи данных в память

13. Параллелизм операций (2)

Пример: исходный текст
Представление в виде графа зависимостей
u = (a – c) – (b + c) – (c + d);
x = (e – f);
y = (a + b) + e;
z = (a + b) + (a – c) + (e – (b – d));
36 операций
Число операций в графе уменьшилось
за счет оптимизирующего компилятора
5
e
12

17
x
6
1
f
2
a
b
7
8
+
13
+
18
y
22 операции
15

+
19
+
21
c
4
+
10
9

14
3
z
d

16

20

22
u
Зависимости между операциями
Критический путь
11
+

14. Параллелизм операций (3)

Представление в виде графа зависимостей
5
e
12

17
x
6
f
1
2
a
b
7
8
+
13
18
+
y
15

+
19
+
21
z
c
4
+
10
9

14
3
d

11
+
Параллельный код Эльбруса
1
5
11
17
21
2
6
12
18
22
3 4
7 8 9 10
13 14 15 16
19 20
16

20

22
5 тактов
Каждая строка соответствует одной
широкой команде, запускающей
все операции в ней параллельно
u
Критический путь – 5 тактов
Совпадает с критическим путем!

15. Параллелизм операций (4)

Последовательный код
1
3
8
2
9
16
4
11
20
22
5
6
12
17
7
13
18
15
10
14
19
21
Аппаратный
Планировщик
Intel x86
Параллельный код Intel Параллельный код Эльбруса
1
3
2 8
4 7
5 16
6 20
22 12
17
18
21
1
5
11
17
21
9
11 10
15 14
13 19
Код планируется
компилятором по графу
5
12
e
6
13 +
18
1
a
2
7
+
8–
14

15
f

17 x
22 такта
3 4
7 8 9 10
13 14 15 16
19 20
5 тактов
10 тактов
В 2 раза быстрее Intel
2
6
12
18
22
y
19
3
b
+
21
z
9
+
16
22
d
10
+
20
4
c


u
– 11 +

16.

Конвейеризованные циклы
iteration
stage
stores
disabled
stage of stores

stage of loads
loads
disabled
prologue
counter
loop counter
epilogue
counter
Переименование регистров в цикле
Поддержка пролога и эпилога
Спекулятивные вычисления и предикаты
time

17.

Распараллеливание программ
LOCAL void sweep(void)
{
struct segment *seg;
NODE *p;
int n;
/* empty the free list */
fnodes = NIL;
nfree = 0;
/* add all unmarked nodes */
for (seg = segs; seg != NULL; seg = seg->sg_next) {
p = &seg->sg_nodes[0];
for (n = seg->sg_size; n--; p++)
if (!(p->n_flags & MARK)) {
switch (ntype(p)) {
case STR:
if (p->n_strtype == DYNAMIC && p->n_str != NULL) {
total -= (long) (strlen(p->n_str)+1);
free(p->n_str);
}
break;
case FPTR:
if (p->n_fp)
fclose(p->n_fp);
break;
case VECT:
if (p->n_vsize) {
total -= (long) (p->n_vsize * sizeof(NODE **));
free(p->n_vdata);
}
break;
}
p->n_type = FREE;
p->n_flags = 0;
rplaca(p,NIL);
rplacd(p,fnodes);
fnodes = p;
nfree++;
}
else
p->n_flags &= ~(MARK | LEFT);
}
Исходный код
Фрагмент промежуточного представления
fc050446 98c11d24 a01dd460 90c00826 9208c106 a229c141 802bd028 001ffffc 61630263 44410000
fe471467 80003000 a026c046 900bcc09 260bc822 8e220b20 8e28c022 240bc080 19231001 10020000 61634068 08400000 cc644440 50641064
fe4f1477 806f05e7 9017c115 90c01715 240bc122 a224d042 8e162114 260bc480 00000000 00000540 00004ae3 61636326 68666064 c8624840 0d640c40 12695064
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Результирующий параллельный код – до 16 операций за такт
Компиляторы обеспечивают эффективное распараллеливание на уровне операций

18. Асинхронная подкачка данных

Трасса выполнения с блокировками при обращении в память (без оптимизаций)
3
2
4
5
1
Синхронная подкачка данных в цикле
- потери из-за остановок подкачки
5
4
3
2
Асинхронная фоновая подкачка данных в специальный буфер
-потери минимизированы до одного самого долгого доступа
- простой из-за блокировки
- полезные вычисления

19.

Исходный код SpMV (CSR)
double A[size]; // Разреженная матрица в формате CSR
double x[N]; // Вектор
double r[N]; // Результат
int iA[N+1]; // Индексы начал строк в массиве jA
int jA[size] // Индексы элементов матрицы в строке;

for( int i = 0; i < N; i++){
double s=0.0;
for ( int k = iA[i]; k < iA[i+1]; k++) {
s += A[k]*x[jA[k]];
}
r[i] = s;
}
// преобразованный цикл для более оптимального исполнения
for (j=0; j<sz; j++) {
s+=A[j]*X[jA[j]];
if (j==iA[i+1]-1) // последняя итерация бывшего внутреннего цикла
{
// действия охватывающего цикла
r[i]=s;
s=0;
i++;
}
}

20.

Код Эльбруса для SpMV (CSR)
{
! Подготовка внешнего цикла, начало конвейера
}
{! Внешний цикл 6 тактов
loop_mode:
! Внутренний цикл 1 такт
ct
%ctpr1 ? ~%pred3 && %NOT_LOOP_END
!
fmuld,0,sm
%db[54], %db[109], %db[64]
!
faddd,1,sm
%db[69], %db[72], %db[61]?%pcnt0 !
ldgdd,2,sm
%r4, %b[76], %db[69]
!
cmpesb,3,sm
%r0, %r15, %pred0
!
shls,4,sm
%b[64], 0x3, %b[72]
!
adds,5,sm
0x1, %r0, %r0 ? %pcnt3
!
movad,1
area=0, ind=0, am=1, be=0, %db[0]!
movaw,3
area=0, ind=0, am=1, be=0, %b[54]!
}
Переход на начало
A[k]*x[…]
s += …
Загрузка x[jA[k]]
Условие выхода
jA[k]*sizeof(double)
Инкремент k++
Загрузка A[k]
Загрузка jA[k]
{
loop_mode: ! Корректирующий код, конвейеризирован программно 6 татов

loop_mode:
ct %ctpr1 ? %NOT_LOOPEND ! Завершение внешнего цикла
}
! Доработка конвейера внешнего цикла, конец внешнего цикла
(внутренний цикл «раскручен» на 4 итерации)

21. Архитектура и производительность МП: HPL & HPCG

Архитектура и производительность МП: HPL & HPCG
Top 10 HPL (Linpack), ноябрь 2016
No
Top 10 HPCG *)
Cores
млн.
Pflops
Peak
%peak
No
HPCG
Tflops
%peak
1
SW TaihuLight, China,
10,5
93,0
125
74
4
371
0,3
2
Tianhe-2, China, Xeon Phi
3,1
33,8
54,9
61
2
580
1,1
3
Titan, USA, Opteron+Nvidia
0,56
17,6
27,1
65
7
322
1,2
4
Sequoia, USA, BlueGene/Q
1,57
17,2
20,1
85
6
330
1,6
5
Cori, USA, Xeon Phi
0,62
14,0
27,9
50
5
355
1,3
6
Oakforest-PACT, Japan, Xeon Phi
0,56
13,5
24,9
54
3
385
1,5
7
K computer, Japan, SPARC64 viii-fx
0,70
10,5
11,3
93
1
603
5,3
8
PizDaint, Swiss, Xeon+Nvidia
0,21
9,8
16,0
61
13
125
1,6
9
Mira, USA, BlueGene/Q
0,79
8,6
10,0
86
10
167
1,7
10
Trinity, USA, Xeon E5
0,30
8,1
11,0
74
8
183
1,6
*) Задача HPCG предложена автором Linpack Донгаррой как более близкая к реальным HPC задачам
Универсальные МП лучше сбалансированы (в соотношении
«пиковая производительность – пропускная способность памяти»)
Новые архитектуры должны компенсировать замедление «закона» Мура
• множество специализированных ядер (GPGPU, Intel Phi)
• более мощные универсальные ядра (Nvidia Denver, Intel Soft Machine, Эльбрус)
На базе МП Эльбрус-8С – 85% на HPL, 6+% на HPCG (и это не предел)

22. Рост производительности за счет компилятора

Производительность ядра
Эльбрус существенно зависит от
оптимизирующего компилятора
• На текущей версии компилятора на
пакете SPECcpu2006 логическая
скорость процессора Эльбрус-8С
(1,3 ГГц) превосходит Intel Sandy
Bridge (3,76 ГГц, компилятор gcc)
на 17% на целочисленных задачах
и на 30% на вещественных задачах
Производительность
на ядро
Пакет \ компьютер
Эльбрус8С
Intel
Sandy
Bridge
Эльбрус8С
Intel
Sandy
Bridge
Тактовая частота,
ГГц
1,3
3,76
1,0
1,0
SPECcpu2006int
13,03
32,18
10,02
8,56
SPECcpu2006fp
17,02
37,68
13,09
10,02
• За 2016 год производительность на
пакете SPECcpu2006 выросла на 1012%
•К моменту выхода Эльбрус-16С
только за счет компилятора
производительность целочисленных
задач вырастет на 20%,
а вещественных – на 35%
прирост производительности (логической скорости) за счет
оптимизаций компилятора
целочисленные задачи
вещественные задачи
4,00
рост производительности
• Реальный прирост
производительности за счет
оптимизаций компилятора, начиная
с 2007 г. (появление архитектуры)
составил 1,6 раз для целочисленных
и 2,6 раз для вещественных задач
Пересчет на 1 ГГц
3,58
3,50
3,07
3,00
2,50
2,00
1,71
1,50
1,00
1,00
1,24
1,04
1,39
1,11
1,27
1,91
1,33
2,09
1,45
2,19
1,50
2,48
2,30
1,59
1,55
2,63
1,66
3,28
2,82
1,74
1,85
1,94
2,05
0,50
0,00
2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020
1.10
1.14 1.14.1 1.15
1.16
1.17
1.18
1.19
1.20
версии компилятора
1.21
1.22
1.23
1.24
1.25

23. Обеспечение безопасности и надежности на базе МП линии «Эльбрус»

24. Существо защищенного исполнения

Защита в МП «Эльбрус»
• Все указатели на объекты
защищены тегами

Традиционные архитектуры
• Числовые данные и ссылки на
объекты неразличимы

Подделать указатель невозможно
Указатели обеспечивают контроль
границ объектов
Объекты размещаются в
линейной памяти и их границы не
контролируются
Разбиение программы на модули
не понимается аппаратурой
Поддерживается языковая
модульность

Модулю доступны только свои
функции и данные и явно
переданные указатели на данные
других модулей
Гарантируется защита от
проникновения компьютерных
вирусов
Повышается надежность и
безопасность программ
Для обращения к данным
используется пойнтер – просто
число

Можно легко испортить работу
надежного модуля
Нет аппаратной защиты от вирусов
Нет аппаратной защиты от ошибок в
программах – снижается
надежность и безопасность
программ

25. Защищенное исполнение программ

Повышенная надежность
программ
Защищенное исполнение программ
• Защита памяти с помощью тегов



Обнаруживает критические
уязвимости




Структурированная память
Доступ к объектам через
дескрипторы
Контекстная защита по областям
видимости
Переполнение буфера
Неинициализированные данные
Обращение по зависшим ссылкам
Нарушение стандартов языков
Эффективность исполнения (80%
от нативной) за счет аппаратной
поддержки
Эльбрус
защищенное
исполнение
программ
Защита от
компьютерных
вирусов
Быстрая отладка
программ
Задачи
Всего
задач
Задач с
найденными
ошибками
Пакет SPEC95
18
11
Пакет SPECcpu2000
26
14
Пакет SPECcpu2006
29
6
Пакет негативных
тестов samate на
защищенность
888
874 (14 не
нарушают
защиту)
Технология не имеет аналогов в мире, обеспечивает конкурентные
технологические преимущества перед импортными МП

26. Обеспечение совместимости на базе МП линии «Эльбрус»

27. Двоичная трансляция для совместимости

x86 приложение
x86 приложение
под управлением Linux
система двоичной трансляции
x86 операционная
система (Windows, Linux
и др.)
x86 BIOS
двоичный
транслятор и
оптимизатор
«Эльбрус» код
x86 драйверы
полная система двоичной
трансляции
База
«Эльбрус»
кодов
x86 код
система двоичной
трансляции для
Linux приложений
средства
динамической
поддержки
x86 код
интерпретатор
«Эльбрус» код
операционная система
Эльбрус-Linux
микропроцессор «Эльбрус»
Обеспечивает эффективную совместимость за счет использования параллелизма

28. Параллелизм операций (5)

Последовательный код
1
3
8
2
9
16
4
11
20
22
5
6
12
17
7
13
18
15
10
14
19
21
Аппаратный
Планировщик
Intel x86
Параллельный код Intel Параллельный код Эльбруса
1
3
2 8
4 7
5 16
6 20
22 12
17
18
21
1
5
11
17
21
9
11 10
15 14
13 19
10 тактов
3 4
7 8 9 10
13 14 15 16
19 20
5 тактов
В 2 раза быстрее Intel
Параллельный код Эльбруса
Скрытый двоичный транслятор
Выполняется быстрее Intel в 1,66
22 такта
2
6
12
18
22
1
5
11
19
22
18
3 2 4
6 7 8 9 10
12 13 14 15 16
20
17
21
6 тактов

29.

Эффективная двоичная совместимость с Intel x86, x64
• Функциональность
– Полная совместимость с архитектурой
Intel x86 (x86-64 с МП Эльбрус-4С)
– Прямое исполнение 20+ операционных
систем, в том числе: Windows XP,
Windows 7, Linux, QNX
– Прямое исполнение 1000+ самых
популярных приложений
– Исполнение приложений под ОС
«Эльбрус» (Linux)
• Производительность – 80% от нативной
– Достигается за счет скрытой системы
оптимизирующей двоичной трансляции
– Мощная аппаратная поддержка в МП
«Эльбрус»
– Логическая скорость
(производительность при равных
тактовых частотах) выше Intel Core 2 на
пакете SPECcpu2006
• Лицензионная независимость от Intel

30. Изделия на базе микропроцессоров с архитектурой «Эльбрус»

31. Изделия на базе МП Эльбрус-4С

Сервер приложений
Система хранения
данных
Настольный компьютер
Сервер баз данных

32. Сервер и шкаф на МП Эльбрус-4С с воздушным охлаждением

Характеристики сервера (узла) и шкафа
• Производительность, Тфлопс – 0,1 / 6,4
• Объем памяти DDR3, Гбайт – 96 / 6144
• Межузловые связи – 2D тор
• Мощность шкафа – 18 КВт

33. Сервер на МП Эльбрус-8С с воздушным охлаждением

Характеристики сервера (узла) и шкафа
• Производительность, Тфлопс – 0,5 / 16
• Объем памяти DDR3, Гбайт – 256 / 8192
• Межузловые связи – 10 (40) Gb Ethernet | Infiniband | СМПО
• Мощность шкафа – 15 КВт

34. ОПО Эльбрус


Собственная программа начального старта (BIOS)
Ядро базируется на ОС Linux со встроенными средствами защиты
– Обеспечивает работу в режиме реального времени
– Поддерживает
• систему совместимости для приложений в кодах Intel x86
• эффективное защищенное исполнение программ
Современные средства разработки программ
– Оптимизирующие компиляторы с языков C, C++, Fortran, Java, C#,
JavaScript, средства сборки, отладки, профилирования, библиотеки
• Новые средства глобального анализа и динамической оптимизации программ
• Средства и библиотеки для распараллеливания
– автоматическое распараллеливание под архитектуру (на уровне
скалярных и упакованных операций, потоков управления)
– Высокопроизводительные библиотеки оптимизированы под Эльбрус
– Библиотека MPI, расширения OpenMP,
– Возможность использования свободного ПО
• совместимость с Гну-компиляторами
Дистрибутив операционной системы Linux Debian
– Утилиты, сервисы, библиотеки общего назначения
– Графическая подсистема, работа с сетью, работа с СУБД, СХД,
офисные пакеты, работа с периферийными устройствами
– Управление ресурсами кластера
Все инфраструктурное ПО создается российскими разработчиками

35. Развитие МП линии «Эльбрус» и компьютеров на них

36. Развитие серверных МП линии «Эльбрус»

Эльбрус-4C
0.8 ГГц, 4 Я
3*DDR3-1600
50 Gflops sp
45 Вт
65 nm
2013
2 года
4-5x
Эльбрус-8C
1.3 ГГц, 8 Я
4*DDR3-1600 3 года
250 Gflops sp
~60…90 Вт
2x+
28 nm
2015
Контроллеры
периферийных
интерфейсов
КПИ-1 и КПИ-2
Эльбрус-8СВ
1.5 ГГц, 8 Я
4*DDR4-2400
580 Gflops sp
~60…90 Вт
28 nm
2018
3 года
2x+
Эльбрус-16С
2.0 ГГц, 16 Я
4*DDR4-3200
1500 Gflops sp
~90…110 Вт
16 nm
2021
Контроллеры
периферийных
интерфейсов
встроены в МП
На базе новых МП проектируются компьютеры и программное обеспечение

37.

МП Эльбрус-8СВ
Госконтракт с Минпромторгом РФ.
Сроки завершения: 2018 г.
стадия разработки – готовность к первому tapeout в 2017
Характеристики МП:
производительность - до 580 / 290 Gflops (sp / dp);
количество ядер – 8;
тактовая частота – 1,5 ГГц;
ОЗУ – DDR4-2400, четыре канала (до 76,8 ГБ/с)
канал ввода-вывода: 16 Гбайт/с (дуплекс), использует
КПИ-2 для связи с внешними устройствами
до 4 микропроцессоров с общей памятью
потребляемая мощность ~75 Вт;
технология – 28 нм;
количество транзисторов > 3 млрд;
Площадь 332 кв. мм
МП Эльбрус-8СВ может размещаться на таких же модулях, что и Эльбрус-8С,
повышая их производительность в 2+ раза

38. Решения на базе технологий «РСК-торнадо»

Масштабируемая серверная система с водяным охлаждением на Э8С / Э16С
• Производительность, Тфлопс – 200+ / 1200+
• Объем памяти, Тбайт – 100+ DDR3 / 400+ DDR4
• Межузловые связи – Infiniband | СМПО / СМПО
• Мощность шкафа, кВт – 200 / 300

39.

Особенности МП Эльбрус-16С
Основные технологические нововведения
• вся система на одном кристалле, включая контроллеры периферийных устройств
• поддержка виртуализации, в том числе в кодах Intel x86-64
• масштабируемая векторизация
• аппаратная поддержка динамической оптимизации (рост производительности ядра)
Характеристики МП:
производительность - до 1500 / 750 Gflops (sp/dp);
количество ядер – 16;
тактовая частота – 2 ГГц;
Кэш-память (L2 + L3) – 40 Гбайт
ОЗУ – DDR4, четыре канала (до 102 ГБ/с)
Система на кристалле включает: PCIe 3.0, 1/10 Gb
Ethernet, SATA 3.0, USB 3.0
до 4 микропроцессоров с общей памятью
до 48 ГБ/с межпроцессорный обмен
потребляемая мощность ~90 Вт;
технология – 16 нм;
количество транзисторов ~ 6 млрд;
Площадь ~400 кв. мм
Сроки завершения ОКР: 2021 г., продукция – с 2022 г.
Может использоваться для создания суперкомпьютера свыше 100 петафлопс

40. СПАСИБО за внимание!

41. Проблемы кремниевой технологии

«Закон» Мура дает сбои
• с середины нулевых
остановился рост тактовой
частоты из-за мощности и
замедлился рост
производительности процессора
• с середины нулевых прирост
производительности, в основном,
за счет увеличения числа ядер
(транзисторов)
• продолжает удваиваться
число транзисторов за 2 года
• стоимость транзистора для всех
фабрик ниже 28 нм, кроме Intel,
перестает падать, что ведет
к удорожанию чипов
Тем не менее до 2030 г. замены
кремнию пока не видно
Нужно искать новые архитектурные решения в логике микропроцессора,
чтобы сохранить поступательный рост производительности

42. Сравнение на пакете SPECcpu2006 на ядро

Сравнительная производительность российских микропроцессоров на
пакете SPECcpu2006 (чем больше, тем лучше)
SPECcpu2006int
SPEcpu2006fp
40,00
37
35,00
SPEC ratio
30,00
26
25,00
20,00
17,02
15,00
10,00
5,00
10,61
7,44
11,51
8,49
13,03
коды
Intel
10,619,52
4,183,16
2,782,21
3,342,34
2,612,19
5 Вт
2,6 Вт
???
15 Вт
45 Вт
7 Вт
70 (12) Вт
70 (12) Вт
95 (10) Вт
28 нм
40 нм
65 нм
90 нм
65 нм
40 нм
28 нм
28 нм
16 нм
1000 МГц
1008 МГц
1000 МГц???
1000 МГц
800 МГц
985 МГц
1300 МГц
1300 МГц
2000 МГц
MIPS32
ARM Cortex-
MIPS64
SPARC v9
Эльбрус v3
Эльбрус v4
Эльбрус v4
Эльб v4 (x86)
Эльбрус v6
Байкал-Т
Мультиком-
1890ВМ8Я
R1000
2016 г.
2015 г.
2015 г.
2011 г.
2013 г.
2015 г.
2015 г.
2015 г.
2021 г.
Байкал
Элвис
НИИСИ
МЦСТ
МЦСТ
МЦСТ
МЦСТ
МЦСТ
МЦСТ
0,00
Эльбрус-4С Эльбрус-1С+ Эльбрус-8С
Российские микропроцессоры
Эльбрус-8С Эльбрус-16С
English     Русский Rules