Параллельное программирование для ресурсоёмких задач численного моделирования в физике. Лекция 2 презентация

Содержание

Слайд 2

Физический факультет МГУ им М.В.Ломоносова

Лекция № 2

Физический факультет МГУ им М.В.Ломоносова Лекция № 2

Слайд 3

Физический факультет МГУ им М.В.Ломоносова

Содержание лекции

Структуры аппаратного обеспечения
Принципы построения мультипроцессорных систем
Многообразие архитектур
Используемые вычислительные

ресурсы

Физический факультет МГУ им М.В.Ломоносова Содержание лекции Структуры аппаратного обеспечения Принципы построения мультипроцессорных

Слайд 4

Физический факультет МГУ им М.В.Ломоносова

Архитектура фон Неймана

Гарвардская архитектура

Физический факультет МГУ им М.В.Ломоносова Архитектура фон Неймана Гарвардская архитектура

Слайд 5

Физический факультет МГУ им М.В.Ломоносова

Основные архитектуры процессоров

CISC (Complex Instruction Set Computing)
Нефиксированным значением

длины команды
Исполнение операций, таких как загрузка в память, арифметические действия могут кодироваться в одной инструкции (есть микропрограммы)
Небольшим числом регистров, каждый из которых выполняет строго определенную функцию
RICS (Reduced Instruction Set Computing) вычисления с «сокращённым» набором команд
Фиксированная длина инструкций и простой формат команды
Спец. команды для операций с памятью — только чтения или записи
Большое количество регистров общего назначения
MISC (Minimal Instruction Set Computer) процессор, работающий с минимальным набором длинных команд. Объединяет в себе суперскалярную и VLIW (Very Long Instruction Word) концепции …
….
В современных процессорах используют гибридные архитектуры, например: CISC-процессоры с RISC-ядром

Физический факультет МГУ им М.В.Ломоносова Основные архитектуры процессоров CISC (Complex Instruction Set Computing)

Слайд 6

Физический факультет МГУ им М.В.Ломоносова

Проблемы увеличения производительности процессора

Размер кристалла (ограничения техпроцесса, синхронизация узлов)
Тепловыделение

ядра процессора (~ 4-й степени частоты)
Высокая стоимость производства
Малая результативность наращивания только тактовой частоты
Несоответствующий росту производительности рост стоимости процессора

Физический факультет МГУ им М.В.Ломоносова Проблемы увеличения производительности процессора Размер кристалла (ограничения техпроцесса,

Слайд 7

Многоядерные системы

Посмотрим на динамику CPU (Intel Desktop Processor):
2004 г. - Pentium 4, 3.4

GHz - 1 core
2005 г. - Pentium 4, 3.8 GHz - 1 core + HT
2005 г. - Pentium 4, 9.2 GHz - canceled
2006 г. - Core Duo T2700, 2.33 GHz - 2 core
2007 г. - Core 2 Duo E6850, 3 GHz - 2 core
2008 г. - Core 2 Quad Q9650, 3.00 GHz - 4 core
2009 г. - Core i7 975, 3.33 GHz - 4 core + HT
2011 г. - Core i7-990X, 3.46 GHz - 6 core + HT
2014 г. - Core i7-5960X, up to 3.5 GHz - 8 core + HT
2016 г. - Core i7-6950X, up to 3.5 GHz - 10 core + HT
2018 г. - Core i9-9980XE, up to 4.4 GHz - 18 core + HT
2019 г. - Core i9-10980XE, up to 4.6 GHz - 18 core + HT
(2019 г. Processor Xeon Platinum 9282M, 2.6 GHz (3.8 GHz) – 56 core + HT)

Многоядерные системы Посмотрим на динамику CPU (Intel Desktop Processor): 2004 г. - Pentium

Слайд 8

Повышение быстродействия

Параллельность
Конвейер
Multithreading
SIMD/Векторизация (SSE / AVX …)

Повышение быстродействия Параллельность Конвейер Multithreading SIMD/Векторизация (SSE / AVX …)

Слайд 9

Физический факультет МГУ им М.В.Ломоносова

Выполнение типичной команды:
выборка команды – IF (Instruction fetch);
декодирование

команды/ выборка операндов из регистров – ID (Instruction decode)
выполнение операции / вычисление эффективного адреса памяти – EX (Execute);
обращение к памяти – MEM (Memory access);
запоминание результата – WB (Register write back).

Конвейерная и суперскалярная обработка (Pipelining and Superscalar Execution)

IF

ID

IF

ID

EX

MEM

EX

MEM

WB

WB

IF

ID

IF

ID

EX

MEM

EX

MEM

WB

WB

IF

ID

IF

ID

EX

MEM

EX

MEM

WB

WB

IF

ID

IF

ID

EX

MEM

EX

MEM

WB

WB

IF

ID

IF

ID

EX

MEM

EX

MEM

WB

WB

Физический факультет МГУ им М.В.Ломоносова Выполнение типичной команды: выборка команды – IF (Instruction

Слайд 10

SIMD Extensions

Физический факультет МГУ им М.В.Ломоносова

SIMD Extensions Физический факультет МГУ им М.В.Ломоносова

Слайд 11

Физический факультет МГУ им М.В.Ломоносова

Процессор, кэш и память в современной вычислительной машине

Первичная память

Кэш

2-го уровня

Кэш 1-го уровня

ЦПУ

Данные
временная локальность
пространственная локальность
Доступ/размер
CPU: 1 clk / ~10 register
L1 Cache: 1-2 clk / ~10 kB
L2 Cache: ~10 clk / ~1 MB
RAM: 50-100 clk / ~1GB

Физический факультет МГУ им М.В.Ломоносова Процессор, кэш и память в современной вычислительной машине

Слайд 12

Многоядерные архитектуры

10-100 Кб L1 кэш для каждого ядра
1-10 Мб общий L2 кэш
Единый образ

памяти для каждого ядра - необходимость синхронизации кэшей

Memory Bus Controller

L2 cache

L1-I

L1-D

L1-I

L1-D

P0

P1

Front Side Bus

Многоядерные архитектуры 10-100 Кб L1 кэш для каждого ядра 1-10 Мб общий L2

Слайд 13

Физический факультет МГУ им М.В.Ломоносова

Примеры блок-схем процессоров

Intel Nehalem

AMD Bulldozer

Физический факультет МГУ им М.В.Ломоносова Примеры блок-схем процессоров Intel Nehalem AMD Bulldozer

Слайд 14

Sandy Bridge

Физический факультет МГУ им М.В.Ломоносова

Sandy Bridge Физический факультет МГУ им М.В.Ломоносова

Слайд 15

Intel Haswell

Физический факультет МГУ им М.В.Ломоносова

Intel Haswell Физический факультет МГУ им М.В.Ломоносова

Слайд 16

Intel Skylake (Kaby Lake)

Физический факультет МГУ им М.В.Ломоносова

Расширение общей структуры
(SoC, System on

Chip)

Intel Skylake (Kaby Lake) Физический факультет МГУ им М.В.Ломоносова Расширение общей структуры (SoC, System on Chip)

Слайд 17

Intel Sunny Cove (Ice Lake)

Физический факультет МГУ им М.В.Ломоносова

Intel Sunny Cove (Ice Lake) Физический факультет МГУ им М.В.Ломоносова

Слайд 18

AMD Ryzen/Zen

Физический факультет МГУ им М.В.Ломоносова

AMD Ryzen/Zen Физический факультет МГУ им М.В.Ломоносова

Слайд 19

Intel vs AMD

Физический факультет МГУ им М.В.Ломоносова

Intel vs AMD Физический факультет МГУ им М.В.Ломоносова

Слайд 20

Symmetric Multiprocessor Architecture (SMP)

Cache Control

L2 cache

L1-I

L1-D

P0

Bus

Cache Control

L2 cache

L1-I

L1-D

P1

Cache Control

L2 cache

L1-I

L1-D

P2

Symmetric Multiprocessor Architecture (SMP) Cache Control L2 cache L1-I L1-D P0 Bus Cache

Слайд 21

Multi processor motherboard

Multi processor motherboard

Слайд 22

Физический факультет МГУ им М.В.Ломоносова

ccNUMA. Интервалы при обращении к памяти

NUMA ФАКТОР

Коммуникационная сеть

Подсистема ввода

/ вывода

SNC

DDR

FWH

DDR

DDR

DDR

SNC

DDR

FWH

DDR

DDR

DDR

SNC

DDR

FWH

DDR

DDR

DDR

Шина процессоров
FSB 16 B data
200 MHz DP 6.4 GB/s

Шина памяти
4 RDRAM channels
400 MHz 6.4 GB/s

Шина коммутации
4 B data 400 MHz SBD
(Simultaneous Bi-Directional)
6.4 GB/s

Физический факультет МГУ им М.В.Ломоносова ccNUMA. Интервалы при обращении к памяти NUMA ФАКТОР

Слайд 23

Физический факультет МГУ им М.В.Ломоносова

Физический факультет МГУ им М.В.Ломоносова

Слайд 24

Многообразие архитектур ЭВМ

Физический факультет МГУ им М.В.Ломоносова

Многообразие архитектур ЭВМ Физический факультет МГУ им М.В.Ломоносова

Слайд 25

Cell

Dual-threaded 64-bit PowerPC
8 Synergistic Processing Elements (SPE)
256 Kb on-chip/SPE

SPE0

PowerPC

SPE4

Element

Interconnect

Bus

(EIB)

SPE1

SPE2

SPE3

SPE5

SPE6

SPE7

I/O

controller

I/O

controller

Memory

controller

Memory

controller

RAM

RAM

Cell Dual-threaded 64-bit PowerPC 8 Synergistic Processing Elements (SPE) 256 Kb on-chip/SPE SPE0

Слайд 26

BlueGene/L

656536 dual-core nodes
Node
770 Mhz PowerPC
Double Hammer FPU (4 Flop/cycle)
4 Mb on-chip L3 кэш
512

Mb off-chip RAM
6 двухсторонних портов для 3D-тора
3 двухсторонних порта для collective network
4 двухсторонних порта для barrier/interrupt

PowerPC

Double

Hummer

FPU

L1-I

L1-D

L2 prefetch

buffer

PowerPC

Double

Hummer

FPU

L1-I

L1-D

L2 prefetch

buffer

snoop

Shared L3 cache/memory

Torus

interconnect

Collective

interconnect

Global barrier

interrupt

BlueGene/L 656536 dual-core nodes Node 770 Mhz PowerPC Double Hammer FPU (4 Flop/cycle)

Слайд 27

BlueGene/L

Физический факультет МГУ им М.В.Ломоносова

BlueGene/L Физический факультет МГУ им М.В.Ломоносова

Слайд 28

Архитектура G80

Массив из потоковых мультипроцессоров

Streaming

Multiprocessor

(SM)

Streaming

Multiprocessor

(SM)

Streaming

Multiprocessor

(SM)

Streaming

Multiprocessor

(SM)

Streaming

Multiprocessor

(SM)

Streaming

Multiprocessor

(SM)

P0

P1

P2

P3

P4

P5

P6

P7

Shared Memory

Registers

Texture Cache

Instruction

Unit

Streaming Multprocessor

Архитектура G80 Массив из потоковых мультипроцессоров Streaming Multiprocessor (SM) Streaming Multiprocessor (SM) Streaming

Слайд 29

Архитектура KEPLER GK110

Физический факультет МГУ им М.В.Ломоносова

NVIDIA Tesla K20

Архитектура KEPLER GK110 Физический факультет МГУ им М.В.Ломоносова NVIDIA Tesla K20

Слайд 30

Архитектура Knight Corner

Физический факультет МГУ им М.В.Ломоносова

Intel Xeon Phi

Архитектура Knight Corner Физический факультет МГУ им М.В.Ломоносова Intel Xeon Phi

Слайд 31

Компьютерная/системная шина

computer bus

Физический факультет МГУ им М.В.Ломоносова

Компьютерная/системная шина computer bus Физический факультет МГУ им М.В.Ломоносова

Слайд 32

Физический факультет МГУ им М.В.Ломоносова

Шина данных (DataBus)

PCI 2.1 (66 МГц, 64 bit) –

528 MB/s
PCI X 2.0 (до 533 МГц) – 4 GB/s
PCI Express – 1x - 0.5 GB/s, 32x – 16 GB/s
PCI Express 2.0 – 5 GT/s for lane, 8b/10b, 8.0 GB/s for 16x (spec: 2007)
PCI Express 3.0 – 8 GT/s for lane, 128b/130b, 15.75 GB/s for 16x (2010)
PCI Express 4.0 – 16 GT/s for lane, 128b/130b, 31.51 GB/s for 16x (2017)
HyperTransport (до 2.6 ГГц) – 40 GB/s
Infinity Fabric / IF 2.0 – up to 50-100 GB/s
FSB front-side bus (до 266 ГГц в Intel Core 2 Quad Pumped Bus ) – 8.3 GB/s
QuickPath Interconnect – up to 9.6 GT/s (25.6 GB/s for 20-lane QPI link pair at 3.2 GHz)
UPI (Ultra Path Interconnect) – up to 10.4 GT/s

Физический факультет МГУ им М.В.Ломоносова Шина данных (DataBus) PCI 2.1 (66 МГц, 64

Слайд 33

Пропускная способность и латентность

Физический факультет МГУ им М.В.Ломоносова

Пропускная способность и латентность Физический факультет МГУ им М.В.Ломоносова

Слайд 34

Физический факультет МГУ им М.В.Ломоносова

Интерконнект

Gigabit Ethernet (50-100 us / 100 MB/s)
40Gb Ethernet(~4 us

/ 5 GB/s)
InfiniBand EDR (<1 us / до 100 GB/s)
Omni-Path 100G (<1 us / до 100 GB/s )
PCI Express (1-2 us / до 128 GB/s )
уникальные, например IBM BlueGene или Gray
Myrinet (3-10 us / 1 GB/s)
SCI (1-3 us / 1 GB/s)
Quadrics (1-3 us / 900 MB/s)
InfiniPath (1-2 us / 1 GB/s)

Физический факультет МГУ им М.В.Ломоносова Интерконнект Gigabit Ethernet (50-100 us / 100 MB/s)

Слайд 35

Использование в top500

Физический факультет МГУ им М.В.Ломоносова

Использование в top500 Физический факультет МГУ им М.В.Ломоносова

Слайд 36

Пример измерения характеристик

Физический факультет МГУ им М.В.Ломоносова

Пример измерения характеристик Физический факультет МГУ им М.В.Ломоносова

Слайд 37

Физический факультет МГУ им М.В.Ломоносова

Топологии коммуникационных сетей

Толстое
дерево

Сетка

Гиперкуб

Кольцо

Физический факультет МГУ им М.В.Ломоносова Топологии коммуникационных сетей Толстое дерево Сетка Гиперкуб Кольцо

Слайд 38

Физический факультет МГУ им М.В.Ломоносова

Сравнение SMP и MPP

Физический факультет МГУ им М.В.Ломоносова Сравнение SMP и MPP

Слайд 39

Физический факультет МГУ им М.В.Ломоносова

Основные технологии параллельного программирования

с разделяемой памятью (multi-core, SMP, NUMA)
Pthread
OpenMP
ShMem

Shared

Memory Paradigm

с распределенной памятью (MPP)
MPI
PVM
BSPlib

Massive Passing Programming Paradigm

Высокоуровневые средства (языки программирования)
Разделяемые переменные Java, Ada, SR, Cilk
Обмен сообщениями Ada, Occam, Java, Fortran M, SR
Координация Linda, Orca
Параллельность по данным С*, HPF, NESL, ZPL

Физический факультет МГУ им М.В.Ломоносова Основные технологии параллельного программирования с разделяемой памятью (multi-core,

Слайд 40

Физический факультет МГУ им М.В.Ломоносова

Определения

Один из первых архитекторов кластерной технологии Грегори Пфистер дал
кластеру

следующее определение:
«Кластер — это разновидность параллельной или распределенной системы,
которая:
а. состоит из нескольких связанных между собой компьютеров;
б. используется как единый, унифицированный компьютерный ресурс».
Обычно различают следующие основные виды кластеров:
отказоустойчивые кластеры (High-availability clusters, HA)
кластеры с балансировкой нагрузки (Load balancing clusters)
вычислительные кластеры (High-performance clusters, HPC)

Физический факультет МГУ им М.В.Ломоносова Определения Один из первых архитекторов кластерной технологии Грегори

Слайд 41

Физический факультет МГУ им М.В.Ломоносова

Beowulf


Кластер, который состоит из широко распространённого аппаратного обеспечения, работающий

под управлением операционной системы, распространяемой с исходными кодами (например, GNU/Linux).

Физический факультет МГУ им М.В.Ломоносова Beowulf Кластер, который состоит из широко распространённого аппаратного

Слайд 42

Физический факультет МГУ им М.В.Ломоносова

Преимущества Beowulf-систем

стоимость системы гораздо ниже стоимости суперкомпьютера;
возможность

увеличения производительности системы;
возможность использования устаревших компьютеров, тем самым увеличивается срок эксплуатации компьютеров;
широкая распространённость аппаратного обеспечения;

Физический факультет МГУ им М.В.Ломоносова Преимущества Beowulf-систем стоимость системы гораздо ниже стоимости суперкомпьютера;

Слайд 43

Физический факультет МГУ им М.В.Ломоносова

Вычислительный кластер

IBM eServer 345 -1
IBM eServer 335 -6
HP Switch

– 1 Gb
UPS
ASM
Consol switch

Физический факультет МГУ им М.В.Ломоносова Вычислительный кластер IBM eServer 345 -1 IBM eServer

Слайд 44

Физический факультет МГУ им М.В.Ломоносова

Топология сети

……………………

internet

compute-0-0

compute-0-1

compute-0-5

frontend

switch

IB-switch

Физический факультет МГУ им М.В.Ломоносова Топология сети …………………… internet compute-0-0 compute-0-1 compute-0-5 frontend switch IB-switch

Слайд 45

Физический факультет МГУ им М.В.Ломоносова

Организация кластера

Физический факультет МГУ им М.В.Ломоносова Организация кластера

Слайд 46

OpenMP Server

openSUSE
Intel Xeon X5660 @ 2.80GHz (8 core available)
Терминальный Linux сервер (SSH)
Компилятор GNU
IP

- 93.180.53.228

Физический факультет МГУ им М.В.Ломоносова

OpenMP Server openSUSE Intel Xeon X5660 @ 2.80GHz (8 core available) Терминальный Linux

Слайд 47

Суперкомпьютер "Ломоносов"

http://parallel.ru/cluster/lomonosov.html

Физический факультет МГУ им М.В.Ломоносова

Суперкомпьютер "Ломоносов" http://parallel.ru/cluster/lomonosov.html Физический факультет МГУ им М.В.Ломоносова

Слайд 48

Физический факультет МГУ им М.В.Ломоносова

Технология GRID

Физический факультет МГУ им М.В.Ломоносова Технология GRID

Слайд 49

Физический факультет МГУ им М.В.Ломоносова

Физический факультет МГУ им М.В.Ломоносова

Слайд 50

Физический факультет МГУ им М.В.Ломоносова

Примеры блок-схем процессоров

Athlon XP Block Diagram

Физический факультет МГУ им М.В.Ломоносова Примеры блок-схем процессоров Athlon XP Block Diagram

Слайд 51

Физический факультет МГУ им М.В.Ломоносова

Intel Xeon Dual Core

Физический факультет МГУ им М.В.Ломоносова Intel Xeon Dual Core

Слайд 52

Физический факультет МГУ им М.В.Ломоносова

Intel Itanium/Itanium 2

Физический факультет МГУ им М.В.Ломоносова Intel Itanium/Itanium 2

Слайд 53

Физический факультет МГУ им М.В.Ломоносова

Микропроцессор Sun Ultra SPARC III

Физический факультет МГУ им М.В.Ломоносова Микропроцессор Sun Ultra SPARC III

Слайд 54

Физический факультет МГУ им М.В.Ломоносова

Физический факультет МГУ им М.В.Ломоносова

Имя файла: Параллельное-программирование-для-ресурсоёмких-задач-численного-моделирования-в-физике.-Лекция-2.pptx
Количество просмотров: 18
Количество скачиваний: 0