SlideShare a Scribd company logo
1 of 7
x86_64 Hardware Deep dive
6th May, 2020 SAKURA Internet, Inc. Research Center SR / Naoto MATSUMOTO
(C) Copyright 1996-2020 SAKURA Internet Inc
x86_64 Hardware Deep dive cheatsheet
2
# uname -sr; tail -1 /etc/lsb-release
Linux 4.15.0-72-generic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
Setup commands
# apt update
# apt upgrade -y
# apt install -y hwloc hwloc-nox
# tar xzvf ./mlc_v3.7.tgz (Download from Intel.com)
# update-pciids
Usage commands
# lscpu
# lshw
# lstopo
# lspci –tv
# Linux/mlc
SOURCE: SAKURA Internet Research Center (2020/05)
GCC 9.2 Install TIPS
3
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-headers-5.3.0-050300rc4_...201908111734_all.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-headers-5.3.0-050300rc4-...201908111734_amd64.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-modules-5.3.0-050300rc4-...201908111734_amd64.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-image-unsigned-5.3.0-050300rc4-...11734_amd64.deb
# dpkg -i linux-headers-5.3.0-050300rc4_5.3.0-050300rc4.201908111734_all.deb
# dpkg -i linux-headers-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb
# dpkg -i linux-modules-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb
# dpkg -i linux-image-unsigned-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb
# sync; sync; sync; reboot
# uname -sr; tail -1 /etc/lsb-release
Linux 5.3.0-050300rc4-generic
DISTRIB_DESCRIPTION="Ubuntu 19.04"
# apt install build-essential libgmp-dev libmpfr-dev libmpc-dev zlib1g-dev numactl -y
# wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.2.0/gcc-9.2.0.tar.gz
# tar xzvf ./gcc-9.2.0.tar.gz
# ../configure --prefix=/usr --disable-multilib --with-system-zlib --enable-languages=c,c++,d,fortran,go,objc,obj-c++
# make -j12
# make install
# gcc --version
gcc (GCC) 9.2.0
SOURCE: SAKURA Internet Research Center (2020/05)
PCIe P2P DMA Install TIPS
4
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-headers-5.2.0-050200rc6...201906222033_all.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-headers-5.2.0-050200rc6...201906222033_amd64.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-modules-5.2.0-050200rc6...201906222033_amd64.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-image-unsigned-5.2.0-050200rc6...22033_amd64.deb
# dpkg -i linux-headers-5.2.0-050200rc6_5.2.0-050200rc6.201906222033_all.deb
# dpkg -i linux-headers-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb
# dpkg -i linux-modules-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb
# dpkg -i linux-image-unsigned-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb
# sync; sync; sync; reboot
# apt install -y nvme-cli libbobcat-dev
# git clone http://www.github.com/sbates130272/p2pmem-test
# cd p2pmem-test/
# ./p2pmem-test /dev/nvme0n1 /dev/nvme1n1 /dev/p2pmem0 -s 1 -4k --check
Copy one 4KB chunk from /dev/nvme0n1 to /dev/nvme0n1 via the memory
exposed by /dev/p2pmem0. Perform a check on the data (i.e. write know
data to /dev/nvme0n1 and validate that by reading /dev/nvme1n1 after
the p2pmem based transfer).
https://github.com/sbates130272/donard (DRAFT)
# cd /nvme_donard
# cd /libdonard
# ./waf
# cd /libdonard/build/speed
# dd if=/dev/zero of=/<nvme_drive>/test1.dat bs=1K count=100K
# ./nvme2gpu_read -b 128M -D /<nvme_drive>/test1.dat
# ./nvme2gpu_read -b 128M =/<nvme_drive>/test1.dat
SOURCE: SAKURA Internet Research Center (2020/05)
PCIe 4.0 NVMe SSD(M.2) RAID0 TIPS
5
# lscpu
Vendor ID: AuthenticAMD
Model name: AMD Ryzen 5 3600 6-Core Processor
# apt install nvme-cli fio -y
# update-pciids
# lspci -tv
# lspci -vv
# nvme list
Node Model
------------ ---------------------------
/dev/nvme0n1 GIGABYTE GP-ASM2NE6100TTTD
/dev/nvme1n1 GIGABYTE GP-ASM2NE6100TTTD
:
/dev/nvme3n1 Force MP600
# mdadm --create /dev/md0 --raid-devices=3 --level=0 /dev/nvme[013]n1
# mdadm --detail /dev/md0
Number Major Minor RaidDevice State
0 259 0 0 active sync /dev/nvme0n1
1 259 1 1 active sync /dev/nvme1n1
2 259 5 2 active sync /dev/nvme3n1
# mkfs.ext4 /dev/md0
# mkdir /mnt/gen4
# mount /dev/md0 /mnt/gen4/
# fio --directory=/mnt/gen4/ --bs=4k --rw=read --size=20G --numjobs=16 --group_reporting --name=test
read: IOPS=2553k, BW=9973MiB/s (10.5GB/s) ...
# lsmem
Total online memory: 16G
SOURCE: SAKURA Internet Research Center (2020/05)
PCIe 4.0 NVMe SSD(M.2) SMART-LOG TIPS
6
# uname -sr; tail -1 /etc/lsb-release
Linux 4.15.0-58-generic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
# nvme list
Node SN Model Format FW Rev
---------------- -------------------- ---------------------------------------- ---------------- --------
/dev/nvme0n1 SN192608967864 GIGABYTE GP-ASM2NE6100TTTD 512 B + 0 B EGFM11.0
/dev/nvme1n1 SN192608967963 GIGABYTE GP-ASM2NE6100TTTD 512 B + 0 B EGFM11.0
/dev/nvme2n1 1924822900012855002D Force MP600 512 B + 0 B EGFM11.0
/dev/nvme3n1 PHBT7160022A032E INTEL MEMPEK1W032GA 512 B + 0 B K3110300
# nvme smart-log /dev/nvme2n1
Smart Log for NVME device:nvme2n1 namespace-id:ffffffff
critical_warning : 0
temperature : 36 C
available_spare : 100%
available_spare_threshold : 5%
percentage_used : 0%
data_units_read : 4,493,212
data_units_written : 1,336,869
host_read_commands : 41,019,727
host_write_commands : 4,432,398
controller_busy_time : 22
power_cycles : 78
power_on_hours : 44
unsafe_shutdowns : 45
media_errors : 0
num_err_log_entries : 98
Warning Temperature Time : 0
SOURCE: SAKURA Internet Research Center (2020/05)
Null block device High Performance I/O TIPS
7
# apt update
# apt upgrade; sync; sync; sync; reboot
# uname -sr; tail -1 /etc/lsb-release
Linux 4.15.0-58-generic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
# lscpu
Vendor ID: AuthenticAMD
Model name: AMD Ryzen 5 3600 6-Core Processor
# rmmod null_blk
# modprobe null_blk nr_devices=8
# fio --bs=4k --size=128G --rw=read --numjobs=8 --runtime=40 --group_reporting=1
--name=nullb0 --filename=/dev/nullb0
--name=nullb1 --filename=/dev/nullb1
--name=nullb2 --filename=/dev/nullb2
--name=nullb3 --filename=/dev/nullb3
--name=nullb4 --filename=/dev/nullb4
--name=nullb5 --filename=/dev/nullb5
--name=nullb6 --filename=/dev/nullb6
--name=nullb7 --filename=/dev/nullb7
:
read: IOPS=7201k, BW=27.5GiB/s (29.5GB/s)(384GiB/13980msec)
# mount -t tmpfs -o size=8g tmpfs /mnt/ram
# fio --bs=4k --size=500m --rw=read --numjobs=8 --runtime=40 --group_reporting=1
--name=tmpfs --directory=/mnt/ram/
:
read: IOPS=6169k, BW=23.5GiB/s (25.3GB/s)(6000MiB/249msec)
SOURCE: SAKURA Internet Research Center (2020/05)

More Related Content

What's hot

How to install OpenStack MITAKA --allinone - cheat sheet -
How to install OpenStack MITAKA --allinone - cheat sheet -How to install OpenStack MITAKA --allinone - cheat sheet -
How to install OpenStack MITAKA --allinone - cheat sheet -Naoto MATSUMOTO
 
DrupalCamp Colorado 2014 Building A Scalable Private VMware Based Drupal Cloud
DrupalCamp Colorado 2014 Building A Scalable Private VMware Based Drupal CloudDrupalCamp Colorado 2014 Building A Scalable Private VMware Based Drupal Cloud
DrupalCamp Colorado 2014 Building A Scalable Private VMware Based Drupal CloudRonWilliamsIO
 
chainer-trt: ChainerとTensorRTで超高速推論
chainer-trt: ChainerとTensorRTで超高速推論chainer-trt: ChainerとTensorRTで超高速推論
chainer-trt: ChainerとTensorRTで超高速推論belltailjp
 
My First AMD EPYC 7251 memo
My First AMD EPYC 7251 memoMy First AMD EPYC 7251 memo
My First AMD EPYC 7251 memoNaoto MATSUMOTO
 
The latest developments from OVHcloud’s bare metal ranges
The latest developments from OVHcloud’s bare metal rangesThe latest developments from OVHcloud’s bare metal ranges
The latest developments from OVHcloud’s bare metal rangesOVHcloud
 
RabbitMQ Server - cheat sheet -
RabbitMQ Server - cheat sheet -RabbitMQ Server - cheat sheet -
RabbitMQ Server - cheat sheet -Naoto MATSUMOTO
 
GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-Naoto MATSUMOTO
 
Juniper防火墙case信息收集表
Juniper防火墙case信息收集表Juniper防火墙case信息收集表
Juniper防火墙case信息收集表mickchen
 
UP Board AI Core Configuration memo
UP Board AI Core Configuration memoUP Board AI Core Configuration memo
UP Board AI Core Configuration memoNaoto MATSUMOTO
 
AMD Ryzen Threadripper in Techday
AMD Ryzen Threadripper in TechdayAMD Ryzen Threadripper in Techday
AMD Ryzen Threadripper in TechdayLow Hong Chuan
 
A little systemtap
A little systemtapA little systemtap
A little systemtapyang bingwu
 
Control-M 800 - Infrastructure Example
Control-M 800 - Infrastructure ExampleControl-M 800 - Infrastructure Example
Control-M 800 - Infrastructure ExampleOhio University
 
7nm "Navi" GPU - A GPU Built For Performance
7nm "Navi" GPU - A GPU Built For Performance 7nm "Navi" GPU - A GPU Built For Performance
7nm "Navi" GPU - A GPU Built For Performance AMD
 
移植FreeRTOS 之嵌入式軟體研究與開發
移植FreeRTOS 之嵌入式軟體研究與開發移植FreeRTOS 之嵌入式軟體研究與開發
移植FreeRTOS 之嵌入式軟體研究與開發艾鍗科技
 
Jailbreaking the 3DS through 7 years of hardening
Jailbreaking the 3DS through 7 years of hardeningJailbreaking the 3DS through 7 years of hardening
Jailbreaking the 3DS through 7 years of hardeningPriyanka Aash
 

What's hot (20)

How to install OpenStack MITAKA --allinone - cheat sheet -
How to install OpenStack MITAKA --allinone - cheat sheet -How to install OpenStack MITAKA --allinone - cheat sheet -
How to install OpenStack MITAKA --allinone - cheat sheet -
 
Vyos clustering ipsec
Vyos clustering ipsecVyos clustering ipsec
Vyos clustering ipsec
 
QNAP Portafolio 2015
QNAP Portafolio 2015QNAP Portafolio 2015
QNAP Portafolio 2015
 
DrupalCamp Colorado 2014 Building A Scalable Private VMware Based Drupal Cloud
DrupalCamp Colorado 2014 Building A Scalable Private VMware Based Drupal CloudDrupalCamp Colorado 2014 Building A Scalable Private VMware Based Drupal Cloud
DrupalCamp Colorado 2014 Building A Scalable Private VMware Based Drupal Cloud
 
QNAP Selection Guide 2015
QNAP Selection Guide 2015QNAP Selection Guide 2015
QNAP Selection Guide 2015
 
chainer-trt: ChainerとTensorRTで超高速推論
chainer-trt: ChainerとTensorRTで超高速推論chainer-trt: ChainerとTensorRTで超高速推論
chainer-trt: ChainerとTensorRTで超高速推論
 
My First AMD EPYC 7251 memo
My First AMD EPYC 7251 memoMy First AMD EPYC 7251 memo
My First AMD EPYC 7251 memo
 
The latest developments from OVHcloud’s bare metal ranges
The latest developments from OVHcloud’s bare metal rangesThe latest developments from OVHcloud’s bare metal ranges
The latest developments from OVHcloud’s bare metal ranges
 
RabbitMQ Server - cheat sheet -
RabbitMQ Server - cheat sheet -RabbitMQ Server - cheat sheet -
RabbitMQ Server - cheat sheet -
 
GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-
 
Metasploitable
MetasploitableMetasploitable
Metasploitable
 
Juniper防火墙case信息收集表
Juniper防火墙case信息收集表Juniper防火墙case信息收集表
Juniper防火墙case信息收集表
 
UP Board AI Core Configuration memo
UP Board AI Core Configuration memoUP Board AI Core Configuration memo
UP Board AI Core Configuration memo
 
Linux System Troubleshooting
Linux System TroubleshootingLinux System Troubleshooting
Linux System Troubleshooting
 
AMD Ryzen Threadripper in Techday
AMD Ryzen Threadripper in TechdayAMD Ryzen Threadripper in Techday
AMD Ryzen Threadripper in Techday
 
A little systemtap
A little systemtapA little systemtap
A little systemtap
 
Control-M 800 - Infrastructure Example
Control-M 800 - Infrastructure ExampleControl-M 800 - Infrastructure Example
Control-M 800 - Infrastructure Example
 
7nm "Navi" GPU - A GPU Built For Performance
7nm "Navi" GPU - A GPU Built For Performance 7nm "Navi" GPU - A GPU Built For Performance
7nm "Navi" GPU - A GPU Built For Performance
 
移植FreeRTOS 之嵌入式軟體研究與開發
移植FreeRTOS 之嵌入式軟體研究與開發移植FreeRTOS 之嵌入式軟體研究與開發
移植FreeRTOS 之嵌入式軟體研究與開發
 
Jailbreaking the 3DS through 7 years of hardening
Jailbreaking the 3DS through 7 years of hardeningJailbreaking the 3DS through 7 years of hardening
Jailbreaking the 3DS through 7 years of hardening
 

Similar to x86_64 Hardware Deep dive

How to Burn Multi-GPUs using CUDA stress test memo
How to Burn Multi-GPUs using CUDA stress test memoHow to Burn Multi-GPUs using CUDA stress test memo
How to Burn Multi-GPUs using CUDA stress test memoNaoto MATSUMOTO
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_trainingvideos
 
Network Adapter Deep dive
Network Adapter Deep diveNetwork Adapter Deep dive
Network Adapter Deep diveNaoto MATSUMOTO
 
ERP System Implementation Kubernetes Cluster with Sticky Sessions
ERP System Implementation Kubernetes Cluster with Sticky Sessions ERP System Implementation Kubernetes Cluster with Sticky Sessions
ERP System Implementation Kubernetes Cluster with Sticky Sessions Chanaka Lasantha
 
Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Keisuke Takahashi
 
Tiny ML for spark Fun Edge
Tiny ML for spark Fun EdgeTiny ML for spark Fun Edge
Tiny ML for spark Fun Edge艾鍗科技
 
Qemu - Raspberry | while42 Singapore #2
Qemu - Raspberry | while42 Singapore #2Qemu - Raspberry | while42 Singapore #2
Qemu - Raspberry | while42 Singapore #2While42
 
Mirroring the root_disk under solaris SVM
Mirroring the root_disk under solaris SVMMirroring the root_disk under solaris SVM
Mirroring the root_disk under solaris SVMKazimal Abed Mohammed
 
Raspberry Pi tutorial
Raspberry Pi tutorialRaspberry Pi tutorial
Raspberry Pi tutorial艾鍗科技
 
How to burn your GPU with CUDA9.1
How to burn your GPU with CUDA9.1How to burn your GPU with CUDA9.1
How to burn your GPU with CUDA9.1Naoto MATSUMOTO
 
Free radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleFree radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleChanaka Lasantha
 
7 hands on
7 hands on7 hands on
7 hands onvideos
 
DEF CON 27 - GRICHTER - reverse engineering 4g hotspots for fun bugs net fina...
DEF CON 27 - GRICHTER - reverse engineering 4g hotspots for fun bugs net fina...DEF CON 27 - GRICHTER - reverse engineering 4g hotspots for fun bugs net fina...
DEF CON 27 - GRICHTER - reverse engineering 4g hotspots for fun bugs net fina...Felipe Prado
 

Similar to x86_64 Hardware Deep dive (20)

How to Burn Multi-GPUs using CUDA stress test memo
How to Burn Multi-GPUs using CUDA stress test memoHow to Burn Multi-GPUs using CUDA stress test memo
How to Burn Multi-GPUs using CUDA stress test memo
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training
 
Network Adapter Deep dive
Network Adapter Deep diveNetwork Adapter Deep dive
Network Adapter Deep dive
 
Network Docs
Network DocsNetwork Docs
Network Docs
 
ERP System Implementation Kubernetes Cluster with Sticky Sessions
ERP System Implementation Kubernetes Cluster with Sticky Sessions ERP System Implementation Kubernetes Cluster with Sticky Sessions
ERP System Implementation Kubernetes Cluster with Sticky Sessions
 
Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5
 
Basic Linux kernel
Basic Linux kernelBasic Linux kernel
Basic Linux kernel
 
Tiny ML for spark Fun Edge
Tiny ML for spark Fun EdgeTiny ML for spark Fun Edge
Tiny ML for spark Fun Edge
 
Dev ops
Dev opsDev ops
Dev ops
 
Qemu - Raspberry | while42 Singapore #2
Qemu - Raspberry | while42 Singapore #2Qemu - Raspberry | while42 Singapore #2
Qemu - Raspberry | while42 Singapore #2
 
Solaris
SolarisSolaris
Solaris
 
Mirroring the root_disk under solaris SVM
Mirroring the root_disk under solaris SVMMirroring the root_disk under solaris SVM
Mirroring the root_disk under solaris SVM
 
Raspberry Pi tutorial
Raspberry Pi tutorialRaspberry Pi tutorial
Raspberry Pi tutorial
 
How to burn your GPU with CUDA9.1
How to burn your GPU with CUDA9.1How to burn your GPU with CUDA9.1
How to burn your GPU with CUDA9.1
 
SPDK benchmark memo
SPDK benchmark memoSPDK benchmark memo
SPDK benchmark memo
 
Free radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleFree radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmaple
 
7 hands on
7 hands on7 hands on
7 hands on
 
DEF CON 27 - GRICHTER - reverse engineering 4g hotspots for fun bugs net fina...
DEF CON 27 - GRICHTER - reverse engineering 4g hotspots for fun bugs net fina...DEF CON 27 - GRICHTER - reverse engineering 4g hotspots for fun bugs net fina...
DEF CON 27 - GRICHTER - reverse engineering 4g hotspots for fun bugs net fina...
 
C&C Botnet Factory
C&C Botnet FactoryC&C Botnet Factory
C&C Botnet Factory
 

More from Naoto MATSUMOTO

Alder Lake-S CPU Temperature Monitoring
Alder Lake-S CPU Temperature MonitoringAlder Lake-S CPU Temperature Monitoring
Alder Lake-S CPU Temperature MonitoringNaoto MATSUMOTO
 
CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化Naoto MATSUMOTO
 
2023年以降のサーバークラスタリング設計(メモ)
2023年以降のサーバークラスタリング設計(メモ)2023年以降のサーバークラスタリング設計(メモ)
2023年以降のサーバークラスタリング設計(メモ)Naoto MATSUMOTO
 
防災を考慮した水中調査の一考察
防災を考慮した水中調査の一考察防災を考慮した水中調査の一考察
防災を考慮した水中調査の一考察Naoto MATSUMOTO
 
旅するパケットの見える化
旅するパケットの見える化旅するパケットの見える化
旅するパケットの見える化Naoto MATSUMOTO
 
LTE-M/NB IoTを試してみる nRF9160/Thingy:91
LTE-M/NB IoTを試してみる nRF9160/Thingy:91LTE-M/NB IoTを試してみる nRF9160/Thingy:91
LTE-M/NB IoTを試してみる nRF9160/Thingy:91Naoto MATSUMOTO
 
災害時における無線モニタリングによる社会インフラの見える化
災害時における無線モニタリングによる社会インフラの見える化災害時における無線モニタリングによる社会インフラの見える化
災害時における無線モニタリングによる社会インフラの見える化Naoto MATSUMOTO
 
BeautifulSoup / selenium Deep dive
BeautifulSoup / selenium Deep diveBeautifulSoup / selenium Deep dive
BeautifulSoup / selenium Deep diveNaoto MATSUMOTO
 
ADS-B, AIS, APRS cheatsheet
ADS-B, AIS, APRS cheatsheetADS-B, AIS, APRS cheatsheet
ADS-B, AIS, APRS cheatsheetNaoto MATSUMOTO
 
3/4G USB modem Cheat Sheet
3/4G USB modem Cheat Sheet3/4G USB modem Cheat Sheet
3/4G USB modem Cheat SheetNaoto MATSUMOTO
 
How To Train Your ARM(SBC)
How To  Train Your ARM(SBC)How To  Train Your ARM(SBC)
How To Train Your ARM(SBC)Naoto MATSUMOTO
 
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~Naoto MATSUMOTO
 
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)Naoto MATSUMOTO
 
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化Naoto MATSUMOTO
 
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)Naoto MATSUMOTO
 
インターネットを用いたニア・リアルタイムでの災害観測の考察
インターネットを用いたニア・リアルタイムでの災害観測の考察インターネットを用いたニア・リアルタイムでの災害観測の考察
インターネットを用いたニア・リアルタイムでの災害観測の考察Naoto MATSUMOTO
 

More from Naoto MATSUMOTO (20)

Alder Lake-S CPU Temperature Monitoring
Alder Lake-S CPU Temperature MonitoringAlder Lake-S CPU Temperature Monitoring
Alder Lake-S CPU Temperature Monitoring
 
CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化
 
5Gの見える化
5Gの見える化5Gの見える化
5Gの見える化
 
2023年以降のサーバークラスタリング設計(メモ)
2023年以降のサーバークラスタリング設計(メモ)2023年以降のサーバークラスタリング設計(メモ)
2023年以降のサーバークラスタリング設計(メモ)
 
防災を考慮した水中調査の一考察
防災を考慮した水中調査の一考察防災を考慮した水中調査の一考察
防災を考慮した水中調査の一考察
 
旅するパケットの見える化
旅するパケットの見える化旅するパケットの見える化
旅するパケットの見える化
 
LTE-M/NB IoTを試してみる nRF9160/Thingy:91
LTE-M/NB IoTを試してみる nRF9160/Thingy:91LTE-M/NB IoTを試してみる nRF9160/Thingy:91
LTE-M/NB IoTを試してみる nRF9160/Thingy:91
 
災害時における無線モニタリングによる社会インフラの見える化
災害時における無線モニタリングによる社会インフラの見える化災害時における無線モニタリングによる社会インフラの見える化
災害時における無線モニタリングによる社会インフラの見える化
 
BeautifulSoup / selenium Deep dive
BeautifulSoup / selenium Deep diveBeautifulSoup / selenium Deep dive
BeautifulSoup / selenium Deep dive
 
AMDGPU ROCm Deep dive
AMDGPU ROCm Deep diveAMDGPU ROCm Deep dive
AMDGPU ROCm Deep dive
 
RTL2838 DVB-T Deep dive
RTL2838 DVB-T Deep diveRTL2838 DVB-T Deep dive
RTL2838 DVB-T Deep dive
 
ADS-B, AIS, APRS cheatsheet
ADS-B, AIS, APRS cheatsheetADS-B, AIS, APRS cheatsheet
ADS-B, AIS, APRS cheatsheet
 
curl --http3 cheatsheet
curl --http3 cheatsheetcurl --http3 cheatsheet
curl --http3 cheatsheet
 
3/4G USB modem Cheat Sheet
3/4G USB modem Cheat Sheet3/4G USB modem Cheat Sheet
3/4G USB modem Cheat Sheet
 
How To Train Your ARM(SBC)
How To  Train Your ARM(SBC)How To  Train Your ARM(SBC)
How To Train Your ARM(SBC)
 
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
 
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
 
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
 
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
 
インターネットを用いたニア・リアルタイムでの災害観測の考察
インターネットを用いたニア・リアルタイムでの災害観測の考察インターネットを用いたニア・リアルタイムでの災害観測の考察
インターネットを用いたニア・リアルタイムでの災害観測の考察
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

x86_64 Hardware Deep dive

  • 1. x86_64 Hardware Deep dive 6th May, 2020 SAKURA Internet, Inc. Research Center SR / Naoto MATSUMOTO (C) Copyright 1996-2020 SAKURA Internet Inc
  • 2. x86_64 Hardware Deep dive cheatsheet 2 # uname -sr; tail -1 /etc/lsb-release Linux 4.15.0-72-generic DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS" Setup commands # apt update # apt upgrade -y # apt install -y hwloc hwloc-nox # tar xzvf ./mlc_v3.7.tgz (Download from Intel.com) # update-pciids Usage commands # lscpu # lshw # lstopo # lspci –tv # Linux/mlc SOURCE: SAKURA Internet Research Center (2020/05)
  • 3. GCC 9.2 Install TIPS 3 # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-headers-5.3.0-050300rc4_...201908111734_all.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-headers-5.3.0-050300rc4-...201908111734_amd64.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-modules-5.3.0-050300rc4-...201908111734_amd64.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-image-unsigned-5.3.0-050300rc4-...11734_amd64.deb # dpkg -i linux-headers-5.3.0-050300rc4_5.3.0-050300rc4.201908111734_all.deb # dpkg -i linux-headers-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb # dpkg -i linux-modules-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb # dpkg -i linux-image-unsigned-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb # sync; sync; sync; reboot # uname -sr; tail -1 /etc/lsb-release Linux 5.3.0-050300rc4-generic DISTRIB_DESCRIPTION="Ubuntu 19.04" # apt install build-essential libgmp-dev libmpfr-dev libmpc-dev zlib1g-dev numactl -y # wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.2.0/gcc-9.2.0.tar.gz # tar xzvf ./gcc-9.2.0.tar.gz # ../configure --prefix=/usr --disable-multilib --with-system-zlib --enable-languages=c,c++,d,fortran,go,objc,obj-c++ # make -j12 # make install # gcc --version gcc (GCC) 9.2.0 SOURCE: SAKURA Internet Research Center (2020/05)
  • 4. PCIe P2P DMA Install TIPS 4 # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-headers-5.2.0-050200rc6...201906222033_all.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-headers-5.2.0-050200rc6...201906222033_amd64.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-modules-5.2.0-050200rc6...201906222033_amd64.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-image-unsigned-5.2.0-050200rc6...22033_amd64.deb # dpkg -i linux-headers-5.2.0-050200rc6_5.2.0-050200rc6.201906222033_all.deb # dpkg -i linux-headers-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb # dpkg -i linux-modules-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb # dpkg -i linux-image-unsigned-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb # sync; sync; sync; reboot # apt install -y nvme-cli libbobcat-dev # git clone http://www.github.com/sbates130272/p2pmem-test # cd p2pmem-test/ # ./p2pmem-test /dev/nvme0n1 /dev/nvme1n1 /dev/p2pmem0 -s 1 -4k --check Copy one 4KB chunk from /dev/nvme0n1 to /dev/nvme0n1 via the memory exposed by /dev/p2pmem0. Perform a check on the data (i.e. write know data to /dev/nvme0n1 and validate that by reading /dev/nvme1n1 after the p2pmem based transfer). https://github.com/sbates130272/donard (DRAFT) # cd /nvme_donard # cd /libdonard # ./waf # cd /libdonard/build/speed # dd if=/dev/zero of=/<nvme_drive>/test1.dat bs=1K count=100K # ./nvme2gpu_read -b 128M -D /<nvme_drive>/test1.dat # ./nvme2gpu_read -b 128M =/<nvme_drive>/test1.dat SOURCE: SAKURA Internet Research Center (2020/05)
  • 5. PCIe 4.0 NVMe SSD(M.2) RAID0 TIPS 5 # lscpu Vendor ID: AuthenticAMD Model name: AMD Ryzen 5 3600 6-Core Processor # apt install nvme-cli fio -y # update-pciids # lspci -tv # lspci -vv # nvme list Node Model ------------ --------------------------- /dev/nvme0n1 GIGABYTE GP-ASM2NE6100TTTD /dev/nvme1n1 GIGABYTE GP-ASM2NE6100TTTD : /dev/nvme3n1 Force MP600 # mdadm --create /dev/md0 --raid-devices=3 --level=0 /dev/nvme[013]n1 # mdadm --detail /dev/md0 Number Major Minor RaidDevice State 0 259 0 0 active sync /dev/nvme0n1 1 259 1 1 active sync /dev/nvme1n1 2 259 5 2 active sync /dev/nvme3n1 # mkfs.ext4 /dev/md0 # mkdir /mnt/gen4 # mount /dev/md0 /mnt/gen4/ # fio --directory=/mnt/gen4/ --bs=4k --rw=read --size=20G --numjobs=16 --group_reporting --name=test read: IOPS=2553k, BW=9973MiB/s (10.5GB/s) ... # lsmem Total online memory: 16G SOURCE: SAKURA Internet Research Center (2020/05)
  • 6. PCIe 4.0 NVMe SSD(M.2) SMART-LOG TIPS 6 # uname -sr; tail -1 /etc/lsb-release Linux 4.15.0-58-generic DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS" # nvme list Node SN Model Format FW Rev ---------------- -------------------- ---------------------------------------- ---------------- -------- /dev/nvme0n1 SN192608967864 GIGABYTE GP-ASM2NE6100TTTD 512 B + 0 B EGFM11.0 /dev/nvme1n1 SN192608967963 GIGABYTE GP-ASM2NE6100TTTD 512 B + 0 B EGFM11.0 /dev/nvme2n1 1924822900012855002D Force MP600 512 B + 0 B EGFM11.0 /dev/nvme3n1 PHBT7160022A032E INTEL MEMPEK1W032GA 512 B + 0 B K3110300 # nvme smart-log /dev/nvme2n1 Smart Log for NVME device:nvme2n1 namespace-id:ffffffff critical_warning : 0 temperature : 36 C available_spare : 100% available_spare_threshold : 5% percentage_used : 0% data_units_read : 4,493,212 data_units_written : 1,336,869 host_read_commands : 41,019,727 host_write_commands : 4,432,398 controller_busy_time : 22 power_cycles : 78 power_on_hours : 44 unsafe_shutdowns : 45 media_errors : 0 num_err_log_entries : 98 Warning Temperature Time : 0 SOURCE: SAKURA Internet Research Center (2020/05)
  • 7. Null block device High Performance I/O TIPS 7 # apt update # apt upgrade; sync; sync; sync; reboot # uname -sr; tail -1 /etc/lsb-release Linux 4.15.0-58-generic DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS" # lscpu Vendor ID: AuthenticAMD Model name: AMD Ryzen 5 3600 6-Core Processor # rmmod null_blk # modprobe null_blk nr_devices=8 # fio --bs=4k --size=128G --rw=read --numjobs=8 --runtime=40 --group_reporting=1 --name=nullb0 --filename=/dev/nullb0 --name=nullb1 --filename=/dev/nullb1 --name=nullb2 --filename=/dev/nullb2 --name=nullb3 --filename=/dev/nullb3 --name=nullb4 --filename=/dev/nullb4 --name=nullb5 --filename=/dev/nullb5 --name=nullb6 --filename=/dev/nullb6 --name=nullb7 --filename=/dev/nullb7 : read: IOPS=7201k, BW=27.5GiB/s (29.5GB/s)(384GiB/13980msec) # mount -t tmpfs -o size=8g tmpfs /mnt/ram # fio --bs=4k --size=500m --rw=read --numjobs=8 --runtime=40 --group_reporting=1 --name=tmpfs --directory=/mnt/ram/ : read: IOPS=6169k, BW=23.5GiB/s (25.3GB/s)(6000MiB/249msec) SOURCE: SAKURA Internet Research Center (2020/05)