More Related Content
PDF
D23 SSDで挑むOracle超高速化と信頼性の両立 by Yuu Morinaka PPTX
PDF
PDF
PDF
サバフェス上位入賞者にみる ioMemory×MySQL 最新チューニング教えます PDF
[A34] HDDからインメモリーテクノジーへ by Yusuke Miyake PDF
PPTX
What's hot
PDF
D11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi Ishikawa PDF
PDF
IDCFクラウドで、WordPressサイト構築! PPTX
Database Security for PCI DSS PPTX
PDF
PDF
PPTX
八子クラウド_IDCFrontier_20161217 PDF
サーバー初心者のためのWordPressサイト構築手順〜付録〜 MacターミナルやTera Termを使用したSSH接続方法など PDF
ATSでも使える!Let's encryptで無料ではじめるSSL PDF
PDF
企業の成長を飛躍させるクラウドを ~クラウド勝者に導く次世代インフラとは~ PDF
IDCFクラウド for Gaming 第四回ゲームサーバー勉強会 PDF
サーバー初心者のためのWordPressサイト構築手順 PDF
PDF
オンラインゲームの最新ニーズに応えるネットワークインフラとは PPTX
Dell emc highperformancevirtualinfracommunitymeetup_20180621publish PDF
Riak / Riak-CS(Enterprise版) ベンチマークしました PDF
PPTX
Dell EMC Forum 2017_networld_20171026 Similar to ビッグデータシステム開発のための入出力の基礎知識
PDF
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b... PDF
[D17]DBエンジニアのための最新HW講座 by Masaya Ishikawa PDF
B21 DBエンジニアのための最新HW講座 (Deep Insight About Database and Hardware) by Masaya Is... PDF
CrystalDiskMark & CrystalDiskInfo 開発裏話 PDF
qpstudy 2014.04 ハードウェア設計の勘所 PDF
PDF
20170211_pronama_CrystalDiskMark_UWP PDF
eb_IQ_未知との遭遇(SSD,InfiniBand,PCIexpress) PDF
20120928_NetApp_microsoftconference PDF
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔 PDF
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー PDF
PDF
[db tech showcase Tokyo 2015] D13:PCIeフラッシュで、高可用性高性能データベースシステム?! by 株式会社HGSTジ... PPTX
PDF
OpenStack Day Tokyo 2013 - Morphlabs - Satoshi Konno PDF
[INSIGHT OUT 2011] B32 open hardwareの夜明け pci express 3・infiniband fdrの登場(yama... PDF
GPUアクセラレータと不揮発性メモリを考慮したI/O性能の予備評価 PDF
[INSIGHT OUT 2011] c14 openハードウェアの夜明け前(ssd infiniband検証) PDF
PPT
ビッグデータシステム開発のための入出力の基礎知識
- 1.
- 2.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
自己紹介
2
こんにちは Tech Fun 株式会社 ヤマザキです
今回は
ビッグデータ開発のための
ハードウェア入出力基礎知識
と醍して、お話させていただきます
弊社Tech Fun 株式会社に関しましては
http://techfun.co.jp/ でご確認ください
- 3.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
ビッグデータ(Big Data)は
従来ツールで処理するのが困難な巨大なデータ
のことです
巨大データを扱う開発は増えつつあります
ビッグデータシステムの開発は既存の常識と異
なるため、その基礎知識は重要です
今回は基礎中の基礎である「入出力」に焦点を
当ててお話しいたします
3
概要
- 4.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
巨大データを実感する
「ビッグデータ」を扱った事がないと、巨大デ
ータの実感が無いでしょう
まずは、「M2M」でのデータ収集を例とし
て、データ量がどの程度になるのか確認してみ
ます
4
- 5.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
M2Mとは
M2Mは「Machine-to-Machine」の略です
機械同士が人間を介在させず情報交換するシス
テムを指します
通信モジュールの小型化及びコスト削減、通信
その物の高速化により、センサーを代表とする
様々な機器から情報を容易に収集できるように
なりました
5
- 6.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
M2Mの具体例
家庭で都市ガスを利用されている方も多いかと
思いますが、都市ガスの場合ガス会社が毎月
「検針」しているのはご存知でしょうか
作業員が各家庭のメータを直接見ています
これをセンサーで自動送信できるようにすれ
ば、明らかにコスト削減になります
東京ガスの場合、現在40万台を越えてガスメー
タにセンサーを搭載しています
6
- 7.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
データ収集の例
以下の例で収集できるデータ量を概算します
■「10万台」の機器
■「10種類」のデータ
■「2種類」のフォーマット
「10種類」のデータは「温度」や「湿度」等を
取得する場合もあるためです
フォーマットを複数取得するのは値検証等が目
的です
7
- 8.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
データ量の計算
先の例で計算すると
10万 10 2 = 「200万」ファイルです
センサーデータは頻繁に取得した方が正確にな
ります
例えば、5分に一度データを取得した場合
■1日288回
■1日5億7千6百万ファイル
■1データ4KBの場合1日約2.3TB です
8
- 9.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
入力と出力
収集したデータは当然入力と出力が必要です
■出力、書き込み、output
■入力、読み込み、input
ビッグデータ処理における最初の難関がこの
「I/O」処理の大きさになります
入出力の知識が無いと、見積が不可能です
9
- 10.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
ディスク
データはディスクに保存します
2013年現在、保存ディスクは通常「HDD」か
「SSD」を選択することになります
「HDD」と「SSD」はどの程度の入出力が可能
なのでしょうか
10
- 11.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
HDDの基礎知識
HDDのごく基礎的な知識でも意外と理解されて
いない場合もあるようです
まず最初に知らなければいけないのは
「HDDは回転してデータを入出力する」
という事です
あたりまえ過ぎますが、これがビッグデータ処
理では問題になります
11
- 12.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
HDDの処理速度
HDDの処理速度に関して単位が存在します
HDDの回転数に関する単位は「rpm」です
1分間に何回回転できるかを表わした単位です
rpmだけだと性能が正しく判断できないため、
「IOPS(I/O per second)」を利用します
IOPSは1秒に何回I/Oできるかの単位です
12
- 13.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
SATA と SAS
HDD には SATA と SAS が存在します
比較目安は以下です(2013年現在)
13
種類 rpm 最大容量
平均故障間隔
(MTBF)
誤り率
(BER)
参考価格 特徴
SATA
7,200
10,000
4TB 40万 - 120万 10^15bits
7,200rpm
1TB
6千円程度
安価
大容量
低速
低耐久
SAS
10,000
15,000
1TB 80万 - 160万 10^16bits
10,000rpm
600G
6万円程度
高価
低容量
高速
高耐久
- 14.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
HDD IOPSの目安
HDD の IOPS の目安は以下です
あくまで目安のため実機での検証が必須です
14
種類 IOPS目安
SATA HDD 7,200rpm 96 IOPS前後
SATA HDD 10,000rpm 133 IOPS前後
SAS HDD 10,000rpm 158 IOPS前後
SAS HDD 15,000rpm 237 IOPS前後
- 15.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
HDDでI/Oが間に合うか
IOPSを「120」とした場合
5分で「200万個」のファイルをディスクに書き
込むのは1台のディスクでは不可能です
では単純に計算すると何台必要でしょうか
(200万 5) (120 60) 「56」台
処理するためには複数のディスクを連結させる
必要があります
15
- 16.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
SSD の基礎知識
SSDはメモリを用いたディスクです
メモリにはRAM、フラッシュメモリ等を利用し
ます
HDDと異なり回転するわけではないので、
IOPSが非常に大きいのが特徴です
但し、価格が高く、寿命も短い傾向にあります
データ蓄積に必要な1単位は「セル」です
16
- 17.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
SSDの種類
SSD には複数のタイプが存在します
「SLC」「MLC」「TLC」が入手可能です
17
タイプ
1セル
保存量
主流の
容量
書き換え可能
回数(寿命)
IOPS
参考価格
(256GB)
特徴
SLC 1bit 256GB 10万回 1万 - 10万 3万円程度 高安定
MLC 2bit 512GB 5千 - 1万回 1万 - 10万 2万円程度 主流
TCL 3bit 512GB 千 - 5千回 1万 - 10万 1.5万円程度 安価
- 18.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
SSD の入出力速度
SSDの入出力速度はタイプの違いよりも、メー
カーでの違いが大きいのが現状です
メーカーによっては HDD よりも遅い物も実在
しています
実機検証は必須です
18
- 19.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
SSDでI/Oが間に合うか
SSDのIOPSを「1万」とした場合
5分で「200万個」のファイルをディスクに書き
込むのは1台のディスクで「可能」です
ただ、SSDは容量が少ないため、複数のディス
クを連結させることが多いです
19
- 20.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
RAID
RAIDは複数のディスクを組合せ
仮想的な1つのディスクにする技術です
20
タイプ 説明 速度比
RAID 0 ディスクの単純結合 100%
RAID 1
ディスクの2重化
利用可能容量は半分
80%
RAID 5
多重化、分散記録
4台以上のHDDが必須
57%
RAID 1+0(10)
RAID 0ディスクをRAID 1にした方式
4台以上のHDDが必須
80%
- 21.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
RAIDの速度
ビッグデータ処理ではRAID 1か RAID 10 にす
るのが実用的です
その場合速度比 80 % です
IOPS 120 のディスク 4台 で RAID 10の場合
書き込み分散は2台に行なわれますので
120 2 80% = 192 IOPS
となります
21
- 22.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
ディスク速度の計測
HDD も SSD も実機で速度計測が必須です
計測するソフト、コマンドは以下を利用すると
簡単です
Windows: CrystalDiskMark
Linux/Mac:dd、fio、iometer
22
- 23.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
CrystalDiskMark
CrystalDiskMark はオープンソースの
Windows用HDDベンチマークソフトです
GUI操作で簡単に速度計測が可能です
23
画像はCrystalDiskMark公式サイトより引用
- 24.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
dd
ddはLinux/Macでは通常標準インストールされ
ているコマンドの一つです
以下のように利用します
■書き込み速度計測
time dd if=/dev/zero of=data.dd bs=1M
count=1024 oflag=direct
■読み込み速度計測
time dd if=data.dd of=/dev/null bs=1M
24
- 25.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
メモリ
ディスク書き込みは速度に限界がありますの
で、メモリも非常に重要です
メモリにもいくつかの種類が存在します
例えば「DDR SDRAM PC3200(DDR-400)
1GB CL3 ECC Registered」の表記の意味を
全て理解できている必要があります
25
- 26.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
DDR SDRAM
メモリにもCPU同様クロック(周期)が存在しま
す
DDR SDRAM は1クロックに2回入出力可能で
す
クロック数の2倍処理可能になっています
26
- 27.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
クロック
CPUとメモリはバスにより接続されています
バスとの通信回数が「クロック」で定義され、
単位は「MHz」です
「PC3200」等はメモリの名前(型番)
「DDR-400」等がメモリの入出力速度です
SDRAMでは2倍なので「DDR-400」とは
「クロック200MHz」の意味になります
「PC3200」は必ず「DDR-400」です
27
- 28.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
CL
CL(CASLatency)は READ に必要なクロック
数です
数値が少ないほどREADが速いことになります
通常の処理ではこの差は体感できないのです
が、ビッグデータ処理ではデータ量によりかな
り大きな差として表われる場合があります
28
- 29.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
ECC
ECCはメモリ入出力のエラー検出訂正機構です
正確なデータ処理が必要な場合はECCが必要で
すが、ECCを有効にすると、当然のように
「入出力が遅く」なります
ビッグデータ処理ではECCを無効にする場合も
あります
ECC付きメモリは高額ですので本当に意味があ
るのか検証する必要があります
29
- 30.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
CPUのI/O問題
入出力をするのはディスクだけでは無理です
必ずCPUが入出力処理をします
CPUの品質やクロックによって変化しますが
CPU 1コアで処理できるI/Oは
「200MB/s」
程度を目安とすると良いでしょう
これを越えるとI/O wait(待機)が発生します
30
- 31.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
SSD における CPU問題
SSD を利用すると I/O が高速に可能です
ただし、CPUが間に合わない場合が発生します
SSD を利用する場合、CPUが処理可能なI/Oを
正確に確認する必要があります
I/OにおいてCPUの考慮が抜ける場合は比較的
多いようですので注意したい所です
また、コアを増やした場合、プログラム側の処
理も変更する必要があるかもしれません
31
- 32.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
ネットワーク
ネットワークとの通信はネットワークカード
(NIC)を通して行なわれ、速度は
「10Mbps」「100Mbps」「1000Mbps」
が存在します
「1000Mbps」= 「1Gbps」で1分に 60G 転
送可能です
32
- 33.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
NICの速度
NICだけ速度が速くても意味がありません
ケーブル、ハブ等全ての速度が影響します
インターネットとの接続がある場合は、最速で
も100Mbps の 8割程度までしか出ない前提で
考慮すると良いでしょう
33
- 34.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
ボンディング
NICで帯域不足や、負荷の分散をしたい場合
「チャンネルボンディング」や「チーミング」
という手法で複数のインターフェースを束ねる
ことが可能です
当然、マザーボードの対応と、複数のインター
フェースが必要です
Public 2、Private 2 で 4インターフェース
存在するのが理想的です
34
- 35.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
プログラム側の対応
当然のように入出力はハードウェアのみ対応し
ても速度は速くならない場合があり、プログラ
ム側の工夫も必要です
プログラム側の入出力対応は別の機会にご説明
いたします
35
- 36.
CopyrightⒸ2013-2014 Tech FunCorporation All Rights Reserved.
まとめ
ソフトウェア開発者であってもハードウェアの
知識が求められる機会も今後増えてくるでしょ
う
今回は簡単な事項しか説明していませんので、
各自でさらに調査していただけると良いかと思
います
本日はご静聴ありがとうございました
36