Difference between revisions of "Memblaze Cards"

From Define Wiki
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
(No difference)

Latest revision as of 15:10, 30 August 2017

Driver Installation

All drivers were provided with teh cards and a copy can be found on storage1 in the hpc folder.

Cd into the driver folder and simply run these two commands:

make 
make install


Check cards are detected

in the tools folder run the memmonitor to see the status of the cards:

Memblaze Monitor  - Memblaze PCIE Accelerator Monitor

(c) 2014 Memblaze Technology Co., Ltd (All Rights Reserved)
Basic Information
------------------------------------------------------------------------------------------------------------------------------------------------------
Manufacture Name:               Memblaze Technology Co.,Ltd
Product Name:                   PBlaze3
Flash Cell:                     MLC
Model:                          PB3LM1.20T01
Form Factor:                    Half length, half height
Serial Number:                  MH13240245
Raw Capacity:                   1.68TB
Available Capacity:             1.20TB
Maximum Capacity:               1.20TB
Max Write Capacity:             8.38PB
Already Read Capacity:          336.11TB
Already Write Capacity:         262.27TB
Write Amplification:            1.74

Device Information
------------------------------------------------------------------------------------------------------------------------------------------------------
Name:                           /dev/memdiska
Driver:                         01.05.4083RTM (Compiled on Feb 10 2015 11:30:45), 355.01kB
Firmware:                       01.05.4073RTM (Compiled on Jul 24 2014 16:01:15), 12.58MB
Initialization Counts:          3
Starup Counts:                  34
PCIe Link:                      x8(Gen2)
Status:                         Online
Read only:                      No
Alert Code:                     0
Device Remain Life:             |>>------------------|  (94.57%)

Performance Information
------------------------------------------------------------------------------------------------------------------------------------------------------
                                <6.96us         6.96us~27.8us   27.8us~111.3us  111.3us~445.2us 445.2us~1.78ms  1.78ms~7.12ms   7.12ms~28.5ms   >28.5m

Verify the Performance

  • Use FIO for IOPS and Bandwidth tests
  • Random Read 4k IOPS: ~750k IOPS
  • Random Write 4k IOPS: ~250k IOPS
  • Sequential Read 1m BW: ~2500MB/sec
  • Sequential Write 1m BW: ~1800MB/sec

RandRead IOPS Test

[root@haswell9 ~]# fio --name=readiops --filename=/dev/memdiska --direct=1 --rw=randread --bs=4096 --numjobs=8 --iodepth=32 --direct=1 --iodepth_batch=16 --iodepth_batch_complete=16 --runtime=300 --ramp_time=5 --norandommap --time_based --ioengine=libaio --group_reporting
readiops: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=32
...
readiops: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=32
fio-2.0.13
Starting 8 processes
Jobs: 8 (f=8): [rrrrrrrr] [100.0% done] [2755M/0K/0K /s] [705K/0 /0  iops] [eta 00m:00s]
readiops: (groupid=0, jobs=8): err= 0: pid=13212: Tue Feb 17 12:56:24 2015
  read : io=870175MB, bw=2900.6MB/s, iops=742545 , runt=300001msec
    slat (usec): min=18 , max=281509 , avg=99.04, stdev=227.66
    clat (usec): min=1 , max=281668 , avg=242.03, stdev=365.13
     lat (usec): min=38 , max=365377 , avg=341.34, stdev=451.37
    clat percentiles (usec):
     |  1.00th=[    1],  5.00th=[   45], 10.00th=[   79], 20.00th=[  126],
     | 30.00th=[  163], 40.00th=[  191], 50.00th=[  213], 60.00th=[  235],
     | 70.00th=[  262], 80.00th=[  298], 90.00th=[  390], 95.00th=[  524],
     | 99.00th=[  996], 99.50th=[ 1368], 99.90th=[ 2832], 99.95th=[ 3888],
     | 99.99th=[ 8512]
    bw (KB/s)  : min=   12, max=486656, per=12.48%, avg=370822.29, stdev=33550.30
    lat (usec) : 2=1.13%, 4=1.74%, 10=0.15%, 20=0.32%, 50=2.13%
    lat (usec) : 100=8.67%, 250=51.90%, 500=28.43%, 750=3.66%, 1000=0.88%
    lat (msec) : 2=0.78%, 4=0.17%, 10=0.04%, 20=0.01%, 50=0.01%
    lat (msec) : 100=0.01%, 250=0.01%, 500=0.01%
  cpu          : usr=3.54%, sys=64.44%, ctx=66465371, majf=0, minf=470
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.1%, 32=101.6%, >=64=0.0%
     submit    : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued    : total=r=222764496/w=0/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
   READ: io=870175MB, aggrb=2900.6MB/s, minb=2900.6MB/s, maxb=2900.6MB/s, mint=300001msec, maxt=300001msec

Disk stats (read/write):
  memdiska: ios=226196097/0, merge=0/0, ticks=41615182/0, in_queue=45701588, util=100.00%

RandWrite IOPS Test

[root@haswell9 ~]# fio --name=readiops --filename=/dev/memdiska --direct=1 --rw=randwrite --bs=4096 --numjobs=8 --iodepth=32 --direct=1 --iodepth_batch=16 --iodepth_batch_complete=16 --runtime=300 --ramp_time=5 --norandommap --time_based --ioengine=libaio --group_reporting
readiops: (g=0): rw=randwrite, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=32
...
readiops: (g=0): rw=randwrite, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=32
fio-2.0.13
Starting 8 processes
Jobs: 8 (f=8): [wwwwwwww] [100.0% done] [0K/957.4M/0K /s] [0 /245K/0  iops] [eta 00m:00s]
readiops: (groupid=0, jobs=8): err= 0: pid=14917: Tue Feb 17 13:23:04 2015
  write: io=293126MB, bw=977.85MB/s, iops=250132 , runt=300001msec
    slat (usec): min=16 , max=15637 , avg=68.77, stdev=108.63
    clat (usec): min=1 , max=13286 , avg=943.26, stdev=831.27
     lat (usec): min=36 , max=13366 , avg=1012.01, stdev=836.34
    clat percentiles (usec):
     |  1.00th=[   39],  5.00th=[   43], 10.00th=[   48], 20.00th=[   92],
     | 30.00th=[  171], 40.00th=[  422], 50.00th=[  844], 60.00th=[ 1192],
     | 70.00th=[ 1432], 80.00th=[ 1672], 90.00th=[ 2128], 95.00th=[ 2448],
     | 99.00th=[ 2928], 99.50th=[ 3120], 99.90th=[ 3632], 99.95th=[ 4016],
     | 99.99th=[ 7136]
    bw (KB/s)  : min=   12, max=148480, per=12.49%, avg=124954.81, stdev=7908.66
    lat (usec) : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.01%, 50=10.75%
    lat (usec) : 100=10.91%, 250=12.59%, 500=7.83%, 750=5.90%, 1000=5.93%
    lat (msec) : 2=34.02%, 4=12.02%, 10=0.05%, 20=0.01%
  cpu          : usr=3.05%, sys=16.11%, ctx=10592839, majf=0, minf=210
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.1%, 32=101.7%, >=64=0.0%
     submit    : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.1%, 64=0.0%, >=64=0.0%
     issued    : total=r=0/w=75039990/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
  WRITE: io=293126MB, aggrb=977.85MB/s, minb=977.85MB/s, maxb=977.85MB/s, mint=300001msec, maxt=300001msec

Disk stats (read/write):
  memdiska: ios=138/76294126, merge=0/0, ticks=7/49464252, in_queue=49796768, util=99.69%

Sequential Read Perf

[root@haswell9 ~]# fio --name=read --filename=/dev/memdiska --direct=1 --rw=read --bs=1m --numjobs=8 --iodepth=32 --direct=1 --iodepth_batch=16 --iodepth_batch_complete=16 --runtime=300 --ramp_time=5 --norandommap --time_based --ioengine=libaio --group_reporting
read: (g=0): rw=read, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=32
...
read: (g=0): rw=read, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=32
fio-2.0.13
Starting 8 processes
Jobs: 8 (f=8): [RRRRRRRR] [100.0% done] [2784M/0K/0K /s] [2784 /0 /0  iops] [eta 00m:00s]
read: (groupid=0, jobs=8): err= 0: pid=16467: Tue Feb 17 13:48:25 2015
  read : io=725272MB, bw=2416.1MB/s, iops=2416 , runt=300082msec
    slat (usec): min=885 , max=14012 , avg=1223.93, stdev=318.84
    clat (msec): min=77 , max=119 , avg=104.71, stdev= 8.27
     lat (msec): min=78 , max=120 , avg=105.93, stdev= 8.29
    clat percentiles (msec):
     |  1.00th=[   86],  5.00th=[   89], 10.00th=[   91], 20.00th=[   94],
     | 30.00th=[  108], 40.00th=[  109], 50.00th=[  110], 60.00th=[  110],
     | 70.00th=[  111], 80.00th=[  111], 90.00th=[  112], 95.00th=[  112],
     | 99.00th=[  113], 99.50th=[  114], 99.90th=[  115], 99.95th=[  115],
     | 99.99th=[  116]
    bw (KB/s)  : min= 3208, max=364088, per=12.50%, avg=309472.98, stdev=28099.73
    lat (msec) : 100=25.44%, 250=74.57%
  cpu          : usr=0.03%, sys=3.56%, ctx=716058, majf=0, minf=4438
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.1%, 32=101.6%, >=64=0.0%
     submit    : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued    : total=r=725024/w=0/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
   READ: io=725272MB, aggrb=2416.1MB/s, minb=2416.1MB/s, maxb=2416.1MB/s, mint=300082msec, maxt=300082msec

Disk stats (read/write):
  memdiska: ios=2208989/0, merge=0/0, ticks=218864223/0, in_queue=218903348, util=100.00%

Sequential Write Perf

  • Write Perf
[root@haswell9 ~]# fio --name=write --filename=/dev/memdiska --direct=1 --rw=write --bs=1m --numjobs=8 --iodepth=32 --direct=1 --iodepth_batch=16 --iodepth_batch_complete=16 --runtime=300 --ramp_time=5 --norandommap --time_based --ioengine=libaio --group_reporting
write: (g=0): rw=write, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=32
...
write: (g=0): rw=write, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=32
fio-2.0.13
Starting 8 processes
Jobs: 8 (f=8): [WWWWWWWW] [100.0% done] [0K/1744M/0K /s] [0 /1744 /0  iops] [eta 00m:00s]
write: (groupid=0, jobs=8): err= 0: pid=15771: Tue Feb 17 13:36:19 2015
  write: io=538440MB, bw=1794.9MB/s, iops=1793 , runt=300120msec
    slat (msec): min=1 , max=15 , avg= 3.65, stdev= 1.50
    clat (msec): min=79 , max=211 , avg=136.91, stdev=21.11
     lat (msec): min=81 , max=215 , avg=140.56, stdev=21.05
    clat percentiles (msec):
     |  1.00th=[  102],  5.00th=[  106], 10.00th=[  108], 20.00th=[  116],
     | 30.00th=[  126], 40.00th=[  130], 50.00th=[  139], 60.00th=[  147],
     | 70.00th=[  149], 80.00th=[  151], 90.00th=[  165], 95.00th=[  172],
     | 99.00th=[  198], 99.50th=[  202], 99.90th=[  206], 99.95th=[  210],
     | 99.99th=[  212]
    bw (KB/s)  : min= 3206, max=340045, per=12.48%, avg=229281.64, stdev=33806.76
    lat (msec) : 100=0.75%, 250=99.28%
  cpu          : usr=5.85%, sys=2.77%, ctx=598469, majf=0, minf=214
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.1%, 32=101.9%, >=64=0.0%
     submit    : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued    : total=r=0/w=538192/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
  WRITE: io=538440MB, aggrb=1794.9MB/s, minb=1794.9MB/s, maxb=1794.9MB/s, mint=300120msec, maxt=300120msec

Disk stats (read/write):
  memdiska: ios=59/1646200, merge=0/0, ticks=91/218543271, in_queue=218569756, util=100.00%

RAID0 on two cards

  • Lets check the perf of RAID0 on two cards:
  • Setup the RAID array:
mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/memdiska /dev/memdiskb
  • Perf Summary
  • RAID0 Seqential Read 1m Perf: ~4650MB/sec


RAID0 Sequential Read 1m Perf

[root@haswell9 ~]# fio --name=read --filename=/dev/md0 --direct=1 --rw=read --bs=1m --numjobs=8 --iodepth=32 --direct=1 --iodepth_batch=16 --iodepth_batch_complete=16 --runtime=300 --ramp_time=5 --norandommap --time_based --ioengine=libaio --group_reporting
read: (g=0): rw=read, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=32
...
read: (g=0): rw=read, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=32
fio-2.0.13
Starting 8 processes
Jobs: 8 (f=8): [RRRRRRRR] [100.0% done] [5419M/0K/0K /s] [5418 /0 /0  iops] [eta 00m:00s]
read: (groupid=0, jobs=8): err= 0: pid=18447: Tue Feb 17 14:22:08 2015
  read : io=1360.4GB, bw=4641.6MB/s, iops=4640 , runt=300047msec
    slat (usec): min=930 , max=15193 , avg=1685.61, stdev=219.85
    clat (msec): min=28 , max=130 , avg=53.47, stdev= 5.78
     lat (msec): min=30 , max=131 , avg=55.15, stdev= 5.76
    clat percentiles (usec):
     |  1.00th=[42240],  5.00th=[45312], 10.00th=[45824], 20.00th=[45824],
     | 30.00th=[52480], 40.00th=[52992], 50.00th=[53504], 60.00th=[54016],
     | 70.00th=[55040], 80.00th=[57088], 90.00th=[60160], 95.00th=[63232],
     | 99.00th=[69120], 99.50th=[72192], 99.90th=[77312], 99.95th=[82432],
     | 99.99th=[97792]
    bw (KB/s)  : min= 3246, max=759104, per=12.49%, avg=593734.49, stdev=62875.98
    lat (msec) : 50=22.86%, 100=77.14%, 250=0.01%
  cpu          : usr=0.04%, sys=7.39%, ctx=1359590, majf=0, minf=4430
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.1%, 32=101.7%, >=64=0.0%
     submit    : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=0.0%, 8=0.0%, 16=100.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued    : total=r=1392432/w=0/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
   READ: io=1360.4GB, aggrb=4641.6MB/s, minb=4641.6MB/s, maxb=4641.6MB/s, mint=300047msec, maxt=300047msec

Disk stats (read/write):
    md0: ios=5662110/0, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=2831136/0, aggrmerge=0/0, aggrticks=74362166/0, aggrin_queue=74366196, aggrutil=97.91%
  memdiska: ios=2831136/0, merge=0/0, ticks=71890172/0, in_queue=71892101, util=97.91%
  memdiskb: ios=2831136/0, merge=0/0, ticks=76834160/0, in_queue=76840291, util=93.69%