Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
© 2019 Mellanox Technologies
2020Апрель
NVMe-oF. Ethernet
Александр Куракин
© 2019 Mellanox Technologies
О компании Mellanox
▪ Компания основана в Израиле в 1999г., IPO в 2007г.▪ Технологический лидер▪ Лидер в InfiniBand▪ Более 9 лет на рынке Ethernet, сегодня: ▪ Лидер в 25/40/50/100/200G сетевых картах▪ Самый быстрорастущий вендор в Ethernet Switching
▪ Уникальные технологии в Ethernet Switching▪ Высокопроизводительные ASIC и Multi-core сетевые чипы
собственной разработки
▪ Полное портфолио Ethernet решений▪ Коммутаторы, Сетевые карты, Трансиверы, Кабели
▪ Технологический партнер ведущих производителей▪ Мы внутри: HPE, Dell, IBM, Depo, Oracle и др.▪ На нас строят инфраструктуры для: Microsoft, VMware, OpenStack, CEPH, Nutanix, PostgreSQL и др.
$464
$658
$858 $864
$1 088
$1 331
2014 2015 2016 2017 2018 2019
($ in Millions)
Адаптеры КоммутаторыКабели и
трансиверы
© 2019 Mellanox Technologies
Mellanox и NVMe-oF. RDMA
Host Server
NVMe SNAP
OS/Hypervisor
NVMe Standard Driver
NVMevStorage
PCIeBUS
Remote Storage
© 2019 Mellanox Technologies
RDMA – как это работает
RDMA поверх InfiniBand или Ethernet
KER
NEL
HA
RD
WA
RE
USE
R
RACK 1
ОС
NIC Buffer 1
Приложение
1Приложение
2
ОС
Buffer 1
NICBuffer 1
TCP/IP
RACK 2
NIC NIC
Buffer 1Buffer 1
Buffer 1
Buffer 1
Buffer 1
~95% CPU
для приложений
~5% CPU
на сеть
© 2019 Mellanox Technologies
RoCEv1 и RoCEv2
▪ RoCEv1▪ L2▪ GRH
▪ RoCEv2 ▪ L3 ▪ IP/UDP based▪ Routable
Eth L2Header
IB GRH FCSIB BTH+(L4 Hdr)
Payload ICRC
Ethe
r Type
EtherType indicates packet is RoCE
(i.e., next header is IB GRH)
Eth L2Header
IP Header FCSIB BTH+(L4 Hdr)
Payload ICRC
Ethe
r Type
Po
rt #
UDPHeader
Po
rt #
EtherType indicates packet
is IP (i.e., next header is IP)
UDP dport number 4791 indicates
next header is IB.BTH
Eth L2 Header may include
802.1Q tag with PCP and
VLAN ID
IP Header may include marking for ECN
IP Header may include DSCP
Ip.protocol_number
indicates packet is UDP
© 2019 Mellanox Technologies
RoCE применяется везде
RoCE это - не только ускорение блочных приложений, но и:
▪Файловый сетевой доступ
▪Объектный сетевой доступ
▪ Гиперконвергентные системы▪ vSAN over RoCE (RM)
▪ vMotion over RoCE (RM)
▪ Задачи ускорения Big Data/Map-Reduce
▪ Распределённое обучение DL/AI
© 2019 Mellanox Technologies
Сеть и NVMe
16 ш
тук
***
PC
IE G
en
.3x2
x4
=
256 Gbps
512 Gbps
25-100 Gb
Competitive Switch & NIC – 5us
Lo
ga
rith
mic
sca
le
600ns
© 2019 Mellanox Technologies
NVMe и RDMA/RoCE созданы друг для друга
Оба стека протоколов работают в обход медленных операцийкопирования, преобразования и переключения контекстов.
NVMeCMB
© 2019 Mellanox Technologies
Не все реализации RoCE «одинаково полезны»
?
LOSSY
LOSSLESS
√▪«Поддерживается ли у Вас RoCE?»▪ Да!▪ ……▪ На сетевых карточках?▪ На коммутаторах?▪ Режим Lossless▪ Global Pause
▪ Priority Flow Control - PFC▪ Split Buffers▪ PFC + DC-QCN▪ PFC + ECN▪ …
▪ Режим Lossy▪ ECN only▪ Zero-Touch RoCE▪ ….
▪ Простота настройки на сетевой карточке?▪ Простота настройки на коммутаторе?
© 2019 Mellanox Technologies
Самая полная реализация RoCE NIC на рынкеLossy и Lossless
IncastAvoidance
Selective Repeat
Zero-Touch RoCE
ECN, PFC, GP, DC-
QCN
Slow start
Adaptive RTT
Prog. Cong.
Control
RoCE LAG
RoCE @ Scale
7 поколенийRoCE
продуктов
4 поколенияCongestion
Control
Работает у крупнейших
гиперскейлеров
Драйверы во всех основных
ОС
3x выше MPPS по сравнению
с конкурентами
© 2019 Mellanox Technologies
Lossy или Lossless?Фабрика RoCE Lossy или Lossless?
▪ Оба решения рекомендованы и работают▪ Оба типа фабрик протестированы и
демонстрируют схожую производительность▪ Lossy не значит «авось сеть справится»
Выбор▪ Гиперскейлеры выбирают Lossless▪ Коммерческий сектор – как правило Lossy▪ Управляю ли я сетью?▪ Готова ли сеть?▪ Как часто изменяется конфигурация?▪ Важность простоты?
50.00
500.00
5 000.00
50 000.00
500 000.00
5 000 000.00
1 4 16 64 256 1K 4K 16K 64K 256K 1M
Late
ncy
[u
s]
Zero touch RoCE performance comparisonIMB A2A latency (logarithmic scale) - DC
Zero touch RoCE
Lossless RoCE
TCP
Lossy – коммутатор А
READ: bw=5341MiB/s (5601MB/s), 5341MiB/s-5341MiB/s (5601MB/s-5601MB/s), io=313GiB (336GB), run=60042-60042msec
New lossy – коммутатор Mellanox
READ: bw=10.3GiB/s (11.0GB/s), 10.3GiB/s-10.3GiB/s (11.0GB/s-11.0GB/s), io=616GiB (661GB), run=60023-60023msec
© 2019 Mellanox Technologies
RoCE on Mellanox Community
▪ Detailed guidance for RoCE configurations▪ https://community.mellanox.com/docs/DOC-2855
© 2019 Mellanox Technologies
Линейка Ethernet Storage Fabric
SN2700: 32x100G
SN2410: 48x25G + 8x100G
SN2100: 16x100G
SN2010: 18x25G + 4x100G
SN3420: 48x25G + 12x100G
SN3510: 48x50G + 6x400G
SN3700C: 32x100G
SN3700: 32x200G
SN4700: 32x400G
SN4600: 64x200G
SN4800: 128x100G
SN4600C: 64x100G
© 2019 Mellanox Technologies
Spectrum – лучший RoCE коммутатор
Простая конфигурация
• 1-Command CLI Config
• 1-Click GUI Config
Высокая производительность
• High PPS & Low Latency
• Fair & Predictable Performance
Продвинутые алгоритмы Congestion Control
• Early Detection & Prevention
• RoCE over VXLAN
Visibility
• Single Pane-of-Glass
• Realtime RoCE Telemetry
© 2019 Mellanox Technologies
RoCE это легко
Competitor RoCE Configuration
Step 1 – Ingress Traffic Classificationclass-map type qos match-all CNP
match dscp 48
class-map type qos match-all RDMA
match dscp 26
policy-map type qos QOS_MARKING
class RDMA
set qos-group 3
class CNP
set qos-group 6
Step 2 – Configure QoS Policiespolicy-map type network-qos
QOS_NETWORK
class type network-qos c-8q-nq3
pause pfc-cos 3
mtu 2240
policy-map type queuing
QOS_QUEUEING
class type queuing c-out-8q-q3
random-detect minimum-threshold
150 kbytes maximum-threshold 1500
kbytes drop-probability 100 weight
0 ecn
bandwidth remaining percent 20
class type queuing c-out-8q-q6
priority level 1
policy-map type queuing
INPUT_QOS_QUEUEING
class type queuing c-in-q3
queue-limit dynamic 3
system qos
service-policy type queuing input
INPUT_QOS_QUEUEING
service-policy type queuing output
QOS_QUEUEING
service-policy type network-qos
QOS_NETWORK
Step 3 – Configure Resource
Allocationhardware access-list tcam region
e-racl 0
hardware access-list tcam region
vpc-convergence 0
hardware access-list tcam region
racl-lite 768
hardware access-list tcam region
l3qos-intra-lite 0
hardware access-list tcam region
qos 256
hardware access-list tcam region
e-qos 256
Step 4 – Set Per Port Configurationinterface Ethernet1/1-1/32
Service-policy type qos input
QOS_MARKING
Mellanox “Do RoCE”
switch(config)# roce
switch# show roce
© 2019 Mellanox Technologies
RoCE Done Right
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Pa
us
e t
ime
(M
icro
se
co
nd
s)
Time/Seconds
Application Blocked by the Switch
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
Pa
us
e t
ime
(M
icro
se
co
nd
s)
Time/Seconds
Application runs Smoothly
Other Switches
© 2019 Mellanox Technologies
Mellanox и NVMe-oF over TCP (NVMe-TCP)
Hig
her
is b
ette
r
Есть свои плюсы
▪ «Стандартная» инфраструктура▪ Может работать через WAN▪ Не требуются карточки/драйверы RDMA
▪ NVMe-TCP поддерживается на адаптерах Mellanox ConnectX▪ Нечего ускорять ➔ результаты у всех похожие▪ Переписываем стандартный NVMe-TCP драйвер Linux▪ На основе SPDK + VMA – бета июнь.
Mellanox и NVMe-TCP
▪ Теряется большинство преимуществ NVMe▪ Высокая утилизация CPU▪ Задержка выше, нестабильна.▪ Меньше IOPS▪ Разница в разы
▪ Пока нет поддержки в vSphere☺
Но есть и минусы
© 2019 Mellanox Technologies
Pure Storage NVMe-oF Runs on Mellanox ESF
▪Mellanox end-to-end NVMe-oF▪ Adapters in host servers▪ Adapters in storage controller▪ Adapters in flash shelves▪ Switches for Ethernet Storage
Fabric
▪Pure Storage NVMe end-to-end▪ Faster performance▪ More efficient protocol▪ Built on Mellanox Ethernet Storage
Fabric
Mellanox ConnectX-5 EN
Mellanox ConnectX-5 EN
Pure FlashArray//X Controller
Pure DirectFlashNVMe Shelf
Mellanox ConnectX-4 Lx
NVMe-oF
Mellanox Spectrum25G - 100G Switch
NVMe-oF
1st Mainstream Enterprise Flash Array Doing NVMe-oF on RoCE
© 2019 Mellanox Technologies
Excelero High-Performance NVMe Storage
100G EthernetMellanox SN2700
* Excelero Case Study: Leveraging NVMesh Server SAN for High-Performance Databases.
High-speed, low-latency shared storage
with in-server NVMe flash performance
▪ End-to-end RoCE solution from Mellanox
▪ RoCE offload in ConnectX adapter cards
▪ Non-blocking 10/25/40/50/100G Spectrum
Ethernet switches
• Cut-through switching at line speeds
• No packet loss
• Dynamically shared switch buffer
• Faster RoCE congestion notification
Up to 10 times faster in a single 20TB table creation - Oracle 12c benchmark test*
© 2019 Mellanox Technologies
Backup
© 2019 Mellanox Technologies
NVMe-oF Target - IOPS
BlueField PCIe Gen 4.0 (16GT/s) x16
Packet Size 4KB 512B
Network Speed 1x100 2x100 1x100 2x100
Measured Results (x2 SSDs, 16 SSDs)
IOPs 2.7 MIOPs 4.45 MIOPs 7.1 MIOPs 7 MIOPs
Measured Results (x4 SSDs, 8 SSDs)
IOPs 2.7 MIOPs 4.45 MIOPs 4.7 MIOPs(SSDs BW limited)
4.7 MIOPs(SSDs BW limited)
System Setup
MellanoxBlueField Ref. Platform
8 /
16
NV
Me
SSD
Remote NVMe
Initiator x86
ConnectX-5
Initiator x86
ConnectX-5
Ethernet link
DD
R4
DD
R4 BlueField SoC
16 ARM cores
PCIe Switch
Network
Ports
NVME
SSD
NVME
SSD
Initiator x86
ConnectX-5
Initiator x86
ConnectX-5
ConnectX-5
Subsystem
Data Path View
Data Path
Control Path