SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Mobility Technologies Co., Ltd.
データサイエンティスト向け
性能問題対応の基礎
2022/2/14
渡部徹太郎
Mobility Technologies Co., Ltd.
 目的
 処理が遅いときにどういうふうに調査・対応すればよいのか、わかるよう
になる
 例えば、以下のような場合に有効
 データの加工処理が遅いからインスタンスタイプを上げたが速くならなか
った
 機械学習の学習が遅いから、GPUを増やしたが、速くならなかった
 前提とする環境
 AWS上のLinux OS もしくは LinuxベースのDockerコンテナ
目的
2
Mobility Technologies Co., Ltd.
 性能問題対応の手順
 1. 性能要求の確認
 2. 遅い箇所の特定
 3. なぜ遅いかの調べ方
性能問題対応の手順
3
Mobility Technologies Co., Ltd.
 遅いではなく、明確な数値目標との比較にする
 ✕データ加工処理が遅い
 ○データ加工が30秒で終わって欲しいのに、90秒かかる
→性能要求を満たしている場合は、さっさと他の仕事に移る
1. 性能要求の確認
4
Mobility Technologies Co., Ltd.
 プロセス(スレッド)を特定する
 マルチプロセス/スレッドで動く場合は、どのプロセス/スレ
ッドが遅いのか調べる
 Dockerで実行する場合も同様。Dockerの子プロセスに見える
ため。
 プログラムのどの部分が遅いのか調べる
 例えば
 プログラムのログからデータ加工90秒の内訳
 DBからデータの取得は10秒 →目標値通り
 データの加工は77秒 →目標より60秒遅い
 データのS3への保存3秒 →目標値通り
 調べ方
 プログラムのログを見る
 タイマーを仕込む
 プロファイラを使う
 例えばPyCharmのプロファイラを用いれば、各関
数の呼び出し回数や時間がわかる(右図)
2. 遅い箇所の特定
5
図:PyCharmのプロファイラ画面
Mobility Technologies Co., Ltd.
 基礎となる考え
 「もしもリソースに無限のスペックが有り、外部から待たされることがないなら、
処理は一瞬で終わる。
そうならないのは、リソースにボトルネックが有るか、外部から待たされているから」
 リソースには「ハードウェアリソース」と「ソフトウェアリソース」が有る
 どうアプローチするか?
 →もっとも観測しやすいハードウェアリソースボトルネックから調査を始める
3. なぜ遅いのかの調べ方
6
Mobility Technologies Co., Ltd.
ハードウェアボトルネック
7
コンピュータ
プロセッサ
ディスク
入力 出力
外部システム
永続化
DB API
ネットワーク
 ハードウェアボトルネックで疑うべきリソースは、プロセッサ、ネットワークディスクの3つ
 他にもストレージコントローラや、バスなどもあるが、問題になることはほぼない。
 メモリについては最後に触れます
ネットワーク ディスク
プロセッサ
ネットワーク ディスク
プロセッサ
ネットワーク ディスク
プロセッサ
ディスク
ボトルネック
プロセッサ
ボトルネック
ネットワーク
ボトルネック
図:ボトルネックのイメージ
図:ボトルネックを疑うべき3つのリソース
Mobility Technologies Co., Ltd.
 プロセッサとはCPUもしくはGPUのこと
 プロセッサボトルネックとは
 一つのコアの使用率のusrとsysの合計が100%近くで
推移する
 ロードアベレージがコア数以上になること
 確認方法
 CPU使用率はdstatコマンド
 AWSのメトリックはOS全体なので参考程度
 プロセスごとに見たければ、psコマンド or top
コマンド
 CPUロードアベレージはtopコマンド
 GPU使用率は nvidia-smi コマンド or NvidiaのAPIを使
用したツール
 よくある落とし穴
 4コアのCPUがあり、OS全体のCPU使用率が25%であ
っても、一つのコアが100%ならCPUボトルネック
プロセッサボトルネック
8
図:dstatの結果. CPU0とCPU1のそれぞれのコアで使用率が出る
図:全体のCPU使用率は25%だが、コア2は100%
Mobility Technologies Co., Ltd.
 単一プロセスの処理速度をあげる
 CPUを動作クロック数の高いものに変える
 →現代においてはクロック数は頭打ちなので、厳しい
 計算毎に得意なプロセッサに任せる。
 大量の行列計算はCPUよりGPUの方が得意等
 →自作は不可能なので、対応するライブラリがないと厳しい。
 マルチプロセス・マルチスレッドにして、複数プロセッサを活用する
 →これが最も現実的
プロセッサボトルネックの解消方法
9
Mobility Technologies Co., Ltd.
 プロセッサ、特にGPUはコンピュータシステムの中で最も高価な資源
 そのため、CPUやGPUボトルネックはシステムを使い倒せている証拠
 機械学習のワークロードであればGPU使用率100%を目指すべき
 性能要件を満たせていれば、プロセッサボトルネックはシステムが健全な証拠
プロセッサボトルネックは悪くない
10
Mobility Technologies Co., Ltd.
 ネットワークボトルネックとは
 ネットワークインターフェースへの送信・受信容
量が回線の帯域の80%程度で張り付いている
 TCP/IPだと80%程度で頭打ちになる
 例:1Gbpsの回線で800Mbps利用して張り付い
ている
 確認方法
 EC2のメトリック
 dstat コマンドのrecv, sendの値
 よくある落とし穴
 上り回線と下り回線は別。
 EC2インスタンスによって使えるネットワーク帯
域は異なる
 EC2のネットワークインターフェースに余裕は有
っても、ネットワーク経路全体にボトルネックが
あるとだめ。ゲートウェイ、NAT、等。このデバ
ッグはかなり難しい
ネットワークボトルネック
11
図:dstatの出力結果でネットワークの利用量がわかる
図:EC2のインスタンス毎にネットワーク帯域幅が異なる
Mobility Technologies Co., Ltd.
 ディスクボトルネックとは
 CPUのIO waitの値が100%になる。
 ディスクの使用率が60%程度、
IOキューが増えている
 確認方法
 dstatコマンドのwaiの値
 ディスクの使用率やキュー長はiostatやsarコマンドだが、見方が難しい
 よくある落とし穴
 AWSにはEC2のマシンに搭載されているローカルディスク(SSD)とリモー
トディスク(EBS)の2種類がある
 EBSは最初は速いが後に遅くなるバーストという特徴がある
 Linuxにはファイルシステムキャッシュがあるため、キャッシュに乗るか
乗らないかで大きな違いが有る
ディスクボトルネック
12
図:dstatの出力結果でCPUのI/O待ちの割合がわかる
Mobility Technologies Co., Ltd.
 ファイルシステムキャッシュとは
 LinuxにあるディスクI/Oを高速化する仕組み
 ディスクからの読み出しをメモリ上にキャッシュし、そのデータ
への応答をメモリから返す
 ディスクへの書きこみはメモリ上に書いた時点でプロセスに応答
し、ディスクへの永続化は非同期で行う
 ファイルシステムキャッシュは余ってるメモリ領域から自動的に作ら
れる
 何に注意すべきか
 ファイルシステムキャッシュに使えるメモリ量が減ってなことを注意
 減ると→ディスクI/Oが増える→ディスクボトルネックになりやす
くなる
 どうやって確認にするか
 freeコマンドや、vmstatコマンドのbuffとcacheの値
ディスクボトルネックで注意すべきファイルシステムキャッシュ
13
プロセス/スレッド
ディスク
ファイルシステム
キャッシュ
図:ファイルシステムキャッシュの位置
図:freeコマンドのバッファとキャッシュの値
Mobility Technologies Co., Ltd.
 メモリがボトルネックになることはほぼ無い
 メモリへの読み書き速度はディスクの100倍以上は速いため、ボトルネックになることは殆どない
 ただし、メモリの使用量は少ないほうが良い
 プログラムが使用するメモリが増えるとどうなるか
 OSからkillされる場合
 プログラムは強制停止される。いわるゆ「OOM Killer」
 OSからkillされない場合
 必要なメモリ量が物理メモリでは足りないため、ディスクにデータが書かれるようになる。い
わるゆ「スワップアウト」。これが発生すると、プログラムが劇的に遅くなる。
 これが発生しているかはfreeコマンドやvmstatのswpの値を見ればわかる
 プログラミングの実行環境でGC(ガベージコレクション)が発生し、遅くなる
 Java, Python, Goはおきる。Rustはこれがない。
メモリは?
14
図:freeコマンドのスワップの値
Mobility Technologies Co., Ltd.
 ハードウェアリソースボトルネックがない場合は「ソフトウェアリソースのボトルネック」も
しくは「外部から待たされている」
 ソフトウェアリソースのボトルネックの例
 OS
 プロセス・スレッド数限界
 ファイルディスクリプタの数限界
 アプリケーション
 排他ロック
 スレッドプール枯渇
 外部から待たされている例
 DBからの応答待ち
 APIからの応答待ち
 利用者のキーボード入力待ち
ハードウェアリソースボトルネックがない場合
15
アプリケーションの実装に依る
Mobility Technologies Co., Ltd.
 一番詳しいのは「詳解システム・パフォーマンス」
参考図書
16
 700ページ近くあるので、初学者にはおすすめできない。
 このスライドを見ながら性能問題対応を実践し、ある程度経験を積んでからこ
の本を見ると納得感がすごい
confidential
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。
Mobility Technologies Co., Ltd.
17

Weitere ähnliche Inhalte

Was ist angesagt?

【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised LearningまとめDeep Learning JP
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」ManaMurakami1
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)Preferred Networks
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision TransformerYusuke Uchida
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際Tetsutaro Watanabe
 
時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証Masaharu Kinoshita
 
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)Shota Imai
 
20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructurePreferred Networks
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化Yusuke Uchida
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State SpacesDeep Learning JP
 
バンディット問題について
バンディット問題についてバンディット問題について
バンディット問題についてjkomiyama
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)Deep Learning JP
 
ナレッジグラフとオントロジー
ナレッジグラフとオントロジーナレッジグラフとオントロジー
ナレッジグラフとオントロジーUniversity of Tsukuba
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Yusuke Fujimoto
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜Jun Okumura
 
コンピュータビジョンの観点から見たAIの公平性
コンピュータビジョンの観点から見たAIの公平性コンピュータビジョンの観点から見たAIの公平性
コンピュータビジョンの観点から見たAIの公平性cvpaper. challenge
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用Hiroyuki Masuda
 

Was ist angesagt? (20)

【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
 
時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証
 
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
 
20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
 
バンディット問題について
バンディット問題についてバンディット問題について
バンディット問題について
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
 
ナレッジグラフとオントロジー
ナレッジグラフとオントロジーナレッジグラフとオントロジー
ナレッジグラフとオントロジー
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
 
コンピュータビジョンの観点から見たAIの公平性
コンピュータビジョンの観点から見たAIの公平性コンピュータビジョンの観点から見たAIの公平性
コンピュータビジョンの観点から見たAIの公平性
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用
 

Ähnlich wie データサイエンティスト向け性能問題対応の基礎

しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2オラクルエンジニア通信
 
トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9Treasure Data, Inc.
 
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューションDell TechCenter Japan
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展Recruit Technologies
 
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏Developers Summit
 
Glue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみようGlue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみようtakeshi suto
 
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~griddb
 
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装de:code 2017
 
Datalake最新情報セミナー
Datalake最新情報セミナーDatalake最新情報セミナー
Datalake最新情報セミナーmtanaka0111
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesignRyoma Nagata
 
20121019 engineer startup_meeting
20121019 engineer startup_meeting20121019 engineer startup_meeting
20121019 engineer startup_meetingShuichi Wada
 
D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...
D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...
D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...Insight Technology, Inc.
 
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へD1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へHideaki Tokida
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
C32 DB Performance on Cloud by 安藤賀章
C32 DB Performance on Cloud by 安藤賀章C32 DB Performance on Cloud by 安藤賀章
C32 DB Performance on Cloud by 安藤賀章Insight Technology, Inc.
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
佐賀大学 - データ分析と向き合う
佐賀大学 - データ分析と向き合う佐賀大学 - データ分析と向き合う
佐賀大学 - データ分析と向き合うDaiyu Hatakeyama
 
シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析Yohei Azekatsu
 

Ähnlich wie データサイエンティスト向け性能問題対応の基礎 (20)

しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
 
トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9
 
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
 
Glue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみようGlue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみよう
 
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
 
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
 
Datalake最新情報セミナー
Datalake最新情報セミナーDatalake最新情報セミナー
Datalake最新情報セミナー
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesign
 
20121019 engineer startup_meeting
20121019 engineer startup_meeting20121019 engineer startup_meeting
20121019 engineer startup_meeting
 
D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...
D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...
D24 ビックデータへの苦難と、国産データベースの挑戦 自社従来比100倍の性能に挑む、超高速データベースエンジンHitachi Advanced Dat...
 
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へD1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
C32 DB Performance on Cloud by 安藤賀章
C32 DB Performance on Cloud by 安藤賀章C32 DB Performance on Cloud by 安藤賀章
C32 DB Performance on Cloud by 安藤賀章
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
佐賀大学 - データ分析と向き合う
佐賀大学 - データ分析と向き合う佐賀大学 - データ分析と向き合う
佐賀大学 - データ分析と向き合う
 
シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析
 

Mehr von Tetsutaro Watanabe

ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出Tetsutaro Watanabe
 
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点Tetsutaro Watanabe
 
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出Tetsutaro Watanabe
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例Tetsutaro Watanabe
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめTetsutaro Watanabe
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたTetsutaro Watanabe
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用Tetsutaro Watanabe
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜Tetsutaro Watanabe
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Tetsutaro Watanabe
 
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
Tetsutaro Watanabe
 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例Tetsutaro Watanabe
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法Tetsutaro Watanabe
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けTetsutaro Watanabe
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法Tetsutaro Watanabe
 
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!Tetsutaro Watanabe
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介Tetsutaro Watanabe
 

Mehr von Tetsutaro Watanabe (20)

ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出
 
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点
 
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
 
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム

 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
MongoDB3.2の紹介
MongoDB3.2の紹介MongoDB3.2の紹介
MongoDB3.2の紹介
 
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
 

Kürzlich hochgeladen

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Kürzlich hochgeladen (10)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

データサイエンティスト向け性能問題対応の基礎

  • 1. Mobility Technologies Co., Ltd. データサイエンティスト向け 性能問題対応の基礎 2022/2/14 渡部徹太郎
  • 2. Mobility Technologies Co., Ltd.  目的  処理が遅いときにどういうふうに調査・対応すればよいのか、わかるよう になる  例えば、以下のような場合に有効  データの加工処理が遅いからインスタンスタイプを上げたが速くならなか った  機械学習の学習が遅いから、GPUを増やしたが、速くならなかった  前提とする環境  AWS上のLinux OS もしくは LinuxベースのDockerコンテナ 目的 2
  • 3. Mobility Technologies Co., Ltd.  性能問題対応の手順  1. 性能要求の確認  2. 遅い箇所の特定  3. なぜ遅いかの調べ方 性能問題対応の手順 3
  • 4. Mobility Technologies Co., Ltd.  遅いではなく、明確な数値目標との比較にする  ✕データ加工処理が遅い  ○データ加工が30秒で終わって欲しいのに、90秒かかる →性能要求を満たしている場合は、さっさと他の仕事に移る 1. 性能要求の確認 4
  • 5. Mobility Technologies Co., Ltd.  プロセス(スレッド)を特定する  マルチプロセス/スレッドで動く場合は、どのプロセス/スレ ッドが遅いのか調べる  Dockerで実行する場合も同様。Dockerの子プロセスに見える ため。  プログラムのどの部分が遅いのか調べる  例えば  プログラムのログからデータ加工90秒の内訳  DBからデータの取得は10秒 →目標値通り  データの加工は77秒 →目標より60秒遅い  データのS3への保存3秒 →目標値通り  調べ方  プログラムのログを見る  タイマーを仕込む  プロファイラを使う  例えばPyCharmのプロファイラを用いれば、各関 数の呼び出し回数や時間がわかる(右図) 2. 遅い箇所の特定 5 図:PyCharmのプロファイラ画面
  • 6. Mobility Technologies Co., Ltd.  基礎となる考え  「もしもリソースに無限のスペックが有り、外部から待たされることがないなら、 処理は一瞬で終わる。 そうならないのは、リソースにボトルネックが有るか、外部から待たされているから」  リソースには「ハードウェアリソース」と「ソフトウェアリソース」が有る  どうアプローチするか?  →もっとも観測しやすいハードウェアリソースボトルネックから調査を始める 3. なぜ遅いのかの調べ方 6
  • 7. Mobility Technologies Co., Ltd. ハードウェアボトルネック 7 コンピュータ プロセッサ ディスク 入力 出力 外部システム 永続化 DB API ネットワーク  ハードウェアボトルネックで疑うべきリソースは、プロセッサ、ネットワークディスクの3つ  他にもストレージコントローラや、バスなどもあるが、問題になることはほぼない。  メモリについては最後に触れます ネットワーク ディスク プロセッサ ネットワーク ディスク プロセッサ ネットワーク ディスク プロセッサ ディスク ボトルネック プロセッサ ボトルネック ネットワーク ボトルネック 図:ボトルネックのイメージ 図:ボトルネックを疑うべき3つのリソース
  • 8. Mobility Technologies Co., Ltd.  プロセッサとはCPUもしくはGPUのこと  プロセッサボトルネックとは  一つのコアの使用率のusrとsysの合計が100%近くで 推移する  ロードアベレージがコア数以上になること  確認方法  CPU使用率はdstatコマンド  AWSのメトリックはOS全体なので参考程度  プロセスごとに見たければ、psコマンド or top コマンド  CPUロードアベレージはtopコマンド  GPU使用率は nvidia-smi コマンド or NvidiaのAPIを使 用したツール  よくある落とし穴  4コアのCPUがあり、OS全体のCPU使用率が25%であ っても、一つのコアが100%ならCPUボトルネック プロセッサボトルネック 8 図:dstatの結果. CPU0とCPU1のそれぞれのコアで使用率が出る 図:全体のCPU使用率は25%だが、コア2は100%
  • 9. Mobility Technologies Co., Ltd.  単一プロセスの処理速度をあげる  CPUを動作クロック数の高いものに変える  →現代においてはクロック数は頭打ちなので、厳しい  計算毎に得意なプロセッサに任せる。  大量の行列計算はCPUよりGPUの方が得意等  →自作は不可能なので、対応するライブラリがないと厳しい。  マルチプロセス・マルチスレッドにして、複数プロセッサを活用する  →これが最も現実的 プロセッサボトルネックの解消方法 9
  • 10. Mobility Technologies Co., Ltd.  プロセッサ、特にGPUはコンピュータシステムの中で最も高価な資源  そのため、CPUやGPUボトルネックはシステムを使い倒せている証拠  機械学習のワークロードであればGPU使用率100%を目指すべき  性能要件を満たせていれば、プロセッサボトルネックはシステムが健全な証拠 プロセッサボトルネックは悪くない 10
  • 11. Mobility Technologies Co., Ltd.  ネットワークボトルネックとは  ネットワークインターフェースへの送信・受信容 量が回線の帯域の80%程度で張り付いている  TCP/IPだと80%程度で頭打ちになる  例:1Gbpsの回線で800Mbps利用して張り付い ている  確認方法  EC2のメトリック  dstat コマンドのrecv, sendの値  よくある落とし穴  上り回線と下り回線は別。  EC2インスタンスによって使えるネットワーク帯 域は異なる  EC2のネットワークインターフェースに余裕は有 っても、ネットワーク経路全体にボトルネックが あるとだめ。ゲートウェイ、NAT、等。このデバ ッグはかなり難しい ネットワークボトルネック 11 図:dstatの出力結果でネットワークの利用量がわかる 図:EC2のインスタンス毎にネットワーク帯域幅が異なる
  • 12. Mobility Technologies Co., Ltd.  ディスクボトルネックとは  CPUのIO waitの値が100%になる。  ディスクの使用率が60%程度、 IOキューが増えている  確認方法  dstatコマンドのwaiの値  ディスクの使用率やキュー長はiostatやsarコマンドだが、見方が難しい  よくある落とし穴  AWSにはEC2のマシンに搭載されているローカルディスク(SSD)とリモー トディスク(EBS)の2種類がある  EBSは最初は速いが後に遅くなるバーストという特徴がある  Linuxにはファイルシステムキャッシュがあるため、キャッシュに乗るか 乗らないかで大きな違いが有る ディスクボトルネック 12 図:dstatの出力結果でCPUのI/O待ちの割合がわかる
  • 13. Mobility Technologies Co., Ltd.  ファイルシステムキャッシュとは  LinuxにあるディスクI/Oを高速化する仕組み  ディスクからの読み出しをメモリ上にキャッシュし、そのデータ への応答をメモリから返す  ディスクへの書きこみはメモリ上に書いた時点でプロセスに応答 し、ディスクへの永続化は非同期で行う  ファイルシステムキャッシュは余ってるメモリ領域から自動的に作ら れる  何に注意すべきか  ファイルシステムキャッシュに使えるメモリ量が減ってなことを注意  減ると→ディスクI/Oが増える→ディスクボトルネックになりやす くなる  どうやって確認にするか  freeコマンドや、vmstatコマンドのbuffとcacheの値 ディスクボトルネックで注意すべきファイルシステムキャッシュ 13 プロセス/スレッド ディスク ファイルシステム キャッシュ 図:ファイルシステムキャッシュの位置 図:freeコマンドのバッファとキャッシュの値
  • 14. Mobility Technologies Co., Ltd.  メモリがボトルネックになることはほぼ無い  メモリへの読み書き速度はディスクの100倍以上は速いため、ボトルネックになることは殆どない  ただし、メモリの使用量は少ないほうが良い  プログラムが使用するメモリが増えるとどうなるか  OSからkillされる場合  プログラムは強制停止される。いわるゆ「OOM Killer」  OSからkillされない場合  必要なメモリ量が物理メモリでは足りないため、ディスクにデータが書かれるようになる。い わるゆ「スワップアウト」。これが発生すると、プログラムが劇的に遅くなる。  これが発生しているかはfreeコマンドやvmstatのswpの値を見ればわかる  プログラミングの実行環境でGC(ガベージコレクション)が発生し、遅くなる  Java, Python, Goはおきる。Rustはこれがない。 メモリは? 14 図:freeコマンドのスワップの値
  • 15. Mobility Technologies Co., Ltd.  ハードウェアリソースボトルネックがない場合は「ソフトウェアリソースのボトルネック」も しくは「外部から待たされている」  ソフトウェアリソースのボトルネックの例  OS  プロセス・スレッド数限界  ファイルディスクリプタの数限界  アプリケーション  排他ロック  スレッドプール枯渇  外部から待たされている例  DBからの応答待ち  APIからの応答待ち  利用者のキーボード入力待ち ハードウェアリソースボトルネックがない場合 15 アプリケーションの実装に依る
  • 16. Mobility Technologies Co., Ltd.  一番詳しいのは「詳解システム・パフォーマンス」 参考図書 16  700ページ近くあるので、初学者にはおすすめできない。  このスライドを見ながら性能問題対応を実践し、ある程度経験を積んでからこ の本を見ると納得感がすごい