17
MySQL + IB Frank Mietke Introduction MySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand Transporter for MySQL Cluster Frank Mietke, Dirk Dunger, Torsten Mehlan, Torsten Höfler and Wolfgang Rehm Computer Architecture Group Department of Computer Science Chemnitz University of Technology February 8, 2007

A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

A native InfiniBand Transporter forMySQL Cluster

Frank Mietke, Dirk Dunger, Torsten Mehlan,Torsten Höfler and Wolfgang Rehm

Computer Architecture GroupDepartment of Computer ScienceChemnitz University of Technology

February 8, 2007

Page 2: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

Outline

1 Introduction

2 MySQL Cluster

3 InfiniBand Transporter

4 Benchmarks

5 Summary

Page 3: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

General Motivation

Doubling of Storage Needs every 18 Months(IDC)(some apps grow faster)

Faster Internet Connectivity (Consumer) up to100 Mbit/s

Ubiquitious for Business Processes

Globalization – 24/7

Driven by User Need (Tax Offices)

Page 4: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

Scalability Issues

Where to store?

No. of Nodes

No.

of P

roce

ssor

s

Scale−Out

Sca

le−

Up

Page 5: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

Clustered Database Systems

Examples:Oracle RAC 10g

Shared Storage Approach (SAN, NAS or DAS)Using Local CachingFast Recovery but Cache Coherence

IBM DB2 UDB ESEDatabase Partitioning Feature (DPF)Shared Nothing ApproachNo Increase of Availability

MySQL ClusterShared Nothing/In-Memory ApproachIncrease of AvailabilityBased on NDB Cluster

Page 6: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

InfiniBand Interconnect

Most affordable 10Gbit/s Interconnect

Low Latency

RDMA Capabilities

HPC / Storage / Data Center

Wide Vendor Acceptance (OFA)

Page 7: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

MySQL Cluster

Transporter for SHM, TCP/IP and SCINetwork Database (NDB)

Page 8: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

Data Partitioning

Page 9: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

Access the Cluster Data

Primary Key:Using Hash ValueOne Communication Step

Unique Key:Keyword UNIQUE (Hidden Table)Two Communication Steps

Ordered Index:Using T-Tree (Range Search)Communicate to all NDB Nodes

Complete Scan:SQL Node asks each NDB Node (MySQL 5.x)

Page 10: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

Transporter Registry

Handles different Transporter Types(Creation and Management)Provides Methods to NDB Process

prepareSend, performSend, pollReceive andperformReceive

Page 11: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

Transporter Implementation

C++ ClassExchange of Information through TCP ChannelUsing Mellanox Verbs API (Channel/MemorySemantic)Collecting short MessagesHandling of CQE (many Send Operations)One CQ for all Instances of Transporter ClassImpact of Buffer Structure (Small Packets)Usage of Inline Sends

Page 12: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

Benchmark Setup

Page 13: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

OSDL Database Test 2

Based on TPC-CSimulates an Online StoreNew Order Transactions per MinuteBackground Transactions

”Delivery””Order Status””Payment””Stock Level”

Two Modes of BenchmarkingRealistic (with Pauses)Full Load

Page 14: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

Results OSDL DB Test 2

Page 15: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

NDB testReadPerf

Measure the Impact of Interconnects on NDBClusterNo SQL node necessaryBenchmarks:

serial pkbatch pkserial uniq indexbatch uniq indexindex eq-boundindex rangeindex ordered (batch)interpreted scan

Page 16: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

Results NDB testReadPerf

native InfiniBandTCP (IP over InfiniBand)SCITCP Ethernet (1 GBit/s)

0

2,000

4,000

6,000

8,000

10,000

12,000

14,000

interpreted_scanindex_eq−boundserial_uniq_indexserial_pk

Ver

arbe

itung

sges

chei

ndig

keit

(row

s / s

) native InfiniBandTCP (IP over InfiniBand)SCITCP Ethernet (1 GBit/s)

0

20,000

40,000

60,000

80,000

100,000

120,000

140,000

160,000

180,000

index_orderedindex_rangebatch_uniq_indexbatch_pk

Ver

arbe

itung

sges

chei

ndig

keit

(row

s / s

)

native InfiniBandTCP (IP over InfiniBand)SCITCP Ethernet (1 GBit/s)

0

200

400

600

800

1,000

1,200

1,400

1,600

1,800

interpreted_scanindex_eq−boundserial_uniq_indexserial_pk

durc

hsch

nittl

iche

Ant

wor

tzei

t (M

ikro

seku

nden

)

native InfiniBandTCP (IP over InfiniBand)SCITCP Ethernet (1 GBit/s)

0

5

10

15

20

25

30

35

40

45

50

index_orderedindex_rangebatch_uniq_indexbatch_pk

durc

hsch

nittl

iche

Ant

wor

tzei

t (M

ikro

seku

nden

)

Page 17: A native InfiniBand Transporter for MySQL Clusterhtor.inf.ethz.ch › publications › img › mysql_pres.pdfMySQL Cluster InfiniBand Transporter Benchmarks Summary A native InfiniBand

MySQL + IB

Frank Mietke

Introduction

MySQL Cluster

InfiniBandTransporter

Benchmarks

Summary

Summary

Relatively easy Implementation Hurdles

Good Replacement for SCI

Up to 40% faster Response time (testReadPerf)

Up to 70% more Processing Power(testReadPerf)

OutlookFinish RDMA Transporter

Use OFED Verbs API