SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
高性能データ処理プラットフォーム
Spark と Cassandra に基づくバッチフレムワークのご紹介
劉 雨
HUE システムデザインチーム
July 26, 2015
1 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
自己紹介
 
Yu Liu/劉 雨
2004 年 6 月: 大規模分散ジョウブ管理システムの開発に従事
2006 年後半: 日本移住、ソフトウェア開発に従事
2014 年 9 月: 国立情報学研究所にて博士号を取得(最優秀学生賞)
2014 年 9 月: ワークスアプリケーションズ入社
研究内容: 並列プログラミング方法論・アルゴリズム、関数型言語
2 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
内容
1 動機と目的
2 並列コンピューティング
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
3 統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
3 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
内容
1 動機と目的
2 並列コンピューティング
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
3 統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
4 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
課題
バッチ処理は企業の必要不可欠データー処理方法である
分散システムで、並列処理によって、大量、重いバッチを高速化になる
5 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
システム要件
大量データーを読み・書き・計算するバッチの
速度を改善 (Tasklet Performance Improving)
大量バッチを同時に実行する (Tasks Scheduling)
システムの高信頼性、高可用性 (Reliability and
Availability)
良い Cost Performance を実現する
6 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
解決方法
並列計算による、高性能バッチを開発する
スケーラビリティを保証する分散システムで、大量バッチを対応する
Task-packing アルゴリズムで効率的な実行プランを生成する
動的なクラスタ管理仕組みで、利用率 (Cluster Utilization) を向上
7 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
並列性と分割統治法 (Divide&Conquer)
Figure: Merge Sort
1 大きな問題を複数の小さな問題
に分割
2 複数の小さな問題を解決するこ
とで、最終的に大きな問題を解決
3 複数の小さな問題を並列処理す
ることで、処理速度向上
8 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
Parallelism とパフォーマンスの関係
1 逐次で実行時間がTsであれば
2 理想的に、Pプロセッサーでの実
行時間は
Tp =
Ts
P
9 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
Parallelism とパフォーマンスの関係
並列化部分の比例はkの場合、並
列の実行時間は
Tp = (
k
P
+ 1 − k) × Ts
ある意味で、並列プログラムの処
理速度は逐次部分によって決定
9 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
並列・分散処理は難しい
特に、大規模な分散システムの並列コンピューティングにおいて多くの
課題がある。
計算の依存性あること (dependency)
データ競合 (racing)
データ局所性 (locality)
タスク協調 (coordinating)
障害耐性 (fault tolerance)
オーバーヘッド (overhead)
...
10 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
11 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
前 MapReduce 時代
MapReduce 1の登場以前大規模コンピュータ・クラスターによる並列プ
ログラムの開発・メンテナンスは困難、かつ高コスト
低水準 (Low-level) PThread, MPI, OpenMP, Intel TBBのような
低水準のフレームワークを利用:
プログラミングモデルとインターフェースが複雑化
障害耐性サポートの欠如
手間がかかり、熟練した開発者が必要
1MapReduce: Simplified Data Processing on Large Clusters, J. Dean et al., OSDI’04.
11 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
Google の MapReduce フレムワーク
MapReduce データー処理の流れは純粋な DC
ハイレベル API、自動並列実行、障害耐性などを実現 
12 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
研究背景
算法的なスケルトン (Algorithmic skeleton)a
Algorithm level building blocks
Well typed interface and deterministic behaver
Automatic optimization is possible
Portable, reusable, fault tolerable
aM.Cole, Algorithmic skeletons: structured management of parallel computation, 1991
13 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
データ並列とタスク並列
Data-Parallelism
データ並列は、並列 (parallel or nested) データー構造上に定義する同じ
計算(e.g, 並列ループ、再帰関数)。各プロセッサが同じ計算ロジック
で、分配されたデータを処理する。
Task-Parallelism
タスクの並列化とは、複数の独立したタスクを同時に実行することで
ある。データーの構造には特に関係ない。
14 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
データ並列スケルトン (Skelton):map と reduce
map と reduce は「データ並列スケルトン」である
高階関数 map と reduce  
map :: (a → b) → [a] → [b] (1)
reduce :: (b → b → b) → [b] → b (2)
データ並列スケルトンは決定論的な (Deterministic)
データ並列スケルトンは高水準 (High-level)、構造化的な
並列データー構造上に自動並列化できる
map と reduce の表現力は高い
15 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
MapReduce Programming Interface
MapReduce のプログラミング・インタフェースの中核部分は2つクラ
ス:Map と Reduce である。ユーザーの責任は主に下記の2つメソード
を実現すること。
MapReduce の API
fmap :: (k1, v1) → [(k2, v2)] (3)
freduce :: (k3, [v2]) → (k3, v3) (4)
参考文献
Ralf Lämmel, Google’s MapReduce programming model —Revisited, Science of
Computer Programming, Volume 70, Issue 1, 1 January 2008, Pages 1–30.
16 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
良い Speedup が実現するのポイント
一般的な原則は、できる限り並列性を上げると通信コストを下げる
Map フェーズ、Chunk サイズとデーターサイズ
とのバランス
Reduce フェーズ、Grouping キーの設計
ShuffleSort、大量データーをネットで転送の
ケースを回避。出来れば Combiner を使用
17 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
18 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
Apache Spark:超高速 MapReduce フレームワーク
Spark は拡張されたインメモリ計算型 MapReduce2
2Spark GraphX is more powerful than MapReduce
18 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
Apache Spark:超高速 MapReduce フレームワーク
オーバーヘッドが低い(インメモリコンピューティング)
拡張プログラミングインターフェース (map と reduce 限りではない)
関数型言語とハイレベルドメイン固有言語 (DSL)
19 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
20 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
Resilient Distributed Datasets (RDD)
インメモリ並列計算のため、RDD という抽象化される分散メモリモデ
ルを実現した
Reads : Bulk or fine-grained
Writes : Bulk transformations
Consistency : Trivial (immutable)
Work placement : Automatic based on data locality
RDD によって、MapReduce と Bulk Synchronous Parallel(BSP)3計算モデル
が実現できた
3L.Valiant and B. McColl, Bulk synchronous parallel
20 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
Spark のプログラミングインタフェース
Spark のプログラミングインタフェースと Scala Collection API は似てい
る
21 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
Spark のプログラミングインタフェース
Spark は MapReduce より豊富な API を提供する
map (flatMap), reduce (reduceByKey), filter, join, union ...
Broadcast variables and accumulators
DSL (SQL and others)
BSP model and graph data processing ...
 
21 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
MapReduce using RDDs
Spark オブジェクト指向のスタイルの MapReduce API を提供する
//myMap : T = List[(K_i , V_i )]
//myReduce : (K_i , List[V_i ]) = List[R]
data.flatMap(myMap)
.groupByKey()
.map((k, vs) = myReduce(k, vs))
22 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
23 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列性 (Parallelism)
Low-Level 並列プログラミングフレムワークの問題
MapReduce を徹底に理解する
Spark の特徴
データ並列スケルトンを使ってプログラミング
BSP(GraphX) using RDDs
Spark は Vertex Oriented (Pregel-like) API 4 を提供する5
val vertices = // RDD of (ID, State) pairs
val messages = // RDD of (ID, Message) pairs
val grouped = vertices.cogroup(messages)
val newData = grouped.mapValues {
(vert, msgs) = userFunc(vert, msgs)
}.cache()
val newVerts = newData.mapValues((v,ms) = v)
val newMsgs = newData.flatMap((id,(v,ms)) = ms)
4Run in BSP Model, as Pregel
5M. Zaharia et al, Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster
Computing, 2011
23 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
システムアーキテクチャ: E-R 図
 
24 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
分散データーベースを使う
Cassandra によって、高速並列データアクセスが実現できます
   Spark(Spark Streaming)と Cassandra を使うことで、効率的なバッ
チおよびストリーム処理をシンプルに実装可能
25 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
トポロジの概要
Spark Cassandra Connectoraを使う
各 Cassandra ノードで、Spark のワーカーを配置
する
SparkSQL を使って、Cassandra をクエーリーする
Server-side filtering によって、転送データー量を
減らす
agithub.com/datastax/spark-cassandra-connector
26 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
バッチ計算の基本パターンと最適化
基本パターン
Select (Extract)
Transform
Sort
Group
Aggregate
最適化
基本パターンの簡単組合は低効率的
効率的なアルゴリズムを作るのは難しい
SQL のような自動最適化機能があれば最高
27 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
別スライドを参照
Spark 上の自動最適化フレムワーク
Yu Liu, Kento Emoto, Zhenjiang Hu, A Generate-Test-Aggregate Parallel Programming
Library for Systematic Parallel Programming, Parallel Computing, Volume 40, Issue 2,
February 2014, Pages 116.-135, Elsevier.
Kento Emoto, Sebastian Fischer, Zhenjiang Hu Generate, Test, and Aggregate—A
Calculation-based Framework for Systematic Parallel Programming with MapReduce 21st
European Symposium on Programming (ESOP 2012), Lecture Notes in Computer Science,
Vol. 7211, pp. 254-273, Springer Verlag, 2012.
28 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
結果評価
より短時間で ERP 会計領域でのビジネスロジック処理を実現
Figure: ERP 速度向上のため Spark を利用 (AWS EC2 m3.large x 10)
29 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
HUE Enterprise Data Processing Platform (EDP2
)
弊社独自の統合プラットフォーム EDP2 は、以下を独自に管理するため
に設計
アプリケーション:バッチ処理、ストリーム、ウェブアプリケーショ
ン、CI、スクリプト、...
データ処理フレームワーク:Hadoop、Spark、Kafka、...
データストア:Cassandra、ElasticSearch、Redis、PostgreSQL、...
30 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
EDP2
のアークテクチャ
3つのレイヤーを持つ:
機能的なアプリケーショ
ンリポジトリ
高速的なコンピューティン
グ・エンジン
効率的なリソースマネー
ジャ
31 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
効果図
32 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
効果図
32 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
効果図
32 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
EDP2 は低レイヤの管理ミドルウェアやクラスタの詳細を隠蔽するの
で、以下を可能にする:
Easy: 簡単に並列処理開発環境が使える
Expendable: 自由に最新技術を採用・拡張
Elastic: 容易に様々なコンピュータクラスタを制御する
33 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
ハイユーザービリティー + EDP2
= 競争力
性能最適化
応答時間短くなる
処理能力高める
信頼性高める
総保有コストを削減 (TCO)
より良いクラスターの利
用率
低維持費
数十倍高速なバッチ処理を実現
リアルタイム応答に近い高速ストリーミ
ング処理
システムの障害によるサービス停止が発
生しない
34 / 35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
動機と目的
並列コンピューティング
統合データー処理プラットフォーム EDP2
並列バッチ処理
事例紹介
Enterprise Data Processing Platform
Thanks
ご興味がある方はブースまで
弊社他の技術者の発表がある
B20, 秋吉真衣:サーバー運用業務を汎用化・共通化し、AWS の各種
サービスや OSS を組み合わせた自動化事例
C50,  浅野航平:High Usability Application での 100 ミリ秒レスポンス
を実現するクライアントサイドの開発技術
35 / 35

Weitere ähnliche Inhalte

Ähnlich wie 高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)

MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習Preferred Networks
 
Deep Learning on Rescale - Oct/11/2016 at Rescale night
Deep Learning on Rescale - Oct/11/2016 at Rescale nightDeep Learning on Rescale - Oct/11/2016 at Rescale night
Deep Learning on Rescale - Oct/11/2016 at Rescale nightRescale Japan株式会社
 
2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)Takahiro Shinagawa
 
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平Preferred Networks
 
Synapse lakedatabase
Synapse lakedatabaseSynapse lakedatabase
Synapse lakedatabaseRyoma Nagata
 
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~Sotaro Kimura
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Shintaro Fukushima
 
この Visualization がすごい2014 〜データ世界を彩るツール6選〜
この Visualization がすごい2014 〜データ世界を彩るツール6選〜この Visualization がすごい2014 〜データ世界を彩るツール6選〜
この Visualization がすごい2014 〜データ世界を彩るツール6選〜Takahiro Inoue
 
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編Daiyu Hatakeyama
 
Graviton 2で実現する
コスト効率のよいCDP基盤
Graviton 2で実現する
コスト効率のよいCDP基盤Graviton 2で実現する
コスト効率のよいCDP基盤
Graviton 2で実現する
コスト効率のよいCDP基盤Kai Sasaki
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
Azure Antenna AI 概要
Azure Antenna AI 概要Azure Antenna AI 概要
Azure Antenna AI 概要Miho Yamamoto
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus WorkshopHitoshi Sato
 
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門Daiyu Hatakeyama
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会Hitoshi Sato
 
トレジャーデータのバッチクエリとアドホッククエリを理解する
トレジャーデータのバッチクエリとアドホッククエリを理解するトレジャーデータのバッチクエリとアドホッククエリを理解する
トレジャーデータのバッチクエリとアドホッククエリを理解するTakahiro Inoue
 
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...Makoto Nonaka
 
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用de:code 2017
 

Ähnlich wie 高性能データ処理プラットフォーム (Talk on July Tech Festa 2015) (20)

MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習
 
Deep Learning on Rescale - Oct/11/2016 at Rescale night
Deep Learning on Rescale - Oct/11/2016 at Rescale nightDeep Learning on Rescale - Oct/11/2016 at Rescale night
Deep Learning on Rescale - Oct/11/2016 at Rescale night
 
2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)
 
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
 
Synapse lakedatabase
Synapse lakedatabaseSynapse lakedatabase
Synapse lakedatabase
 
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
 
この Visualization がすごい2014 〜データ世界を彩るツール6選〜
この Visualization がすごい2014 〜データ世界を彩るツール6選〜この Visualization がすごい2014 〜データ世界を彩るツール6選〜
この Visualization がすごい2014 〜データ世界を彩るツール6選〜
 
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
 
Apache spark 2.3 and beyond
Apache spark 2.3 and beyondApache spark 2.3 and beyond
Apache spark 2.3 and beyond
 
Graviton 2で実現する
コスト効率のよいCDP基盤
Graviton 2で実現する
コスト効率のよいCDP基盤Graviton 2で実現する
コスト効率のよいCDP基盤
Graviton 2で実現する
コスト効率のよいCDP基盤
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
Azure Antenna AI 概要
Azure Antenna AI 概要Azure Antenna AI 概要
Azure Antenna AI 概要
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus Workshop
 
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
トレジャーデータのバッチクエリとアドホッククエリを理解する
トレジャーデータのバッチクエリとアドホッククエリを理解するトレジャーデータのバッチクエリとアドホッククエリを理解する
トレジャーデータのバッチクエリとアドホッククエリを理解する
 
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
 
SeRanet
SeRanetSeRanet
SeRanet
 
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
 

Mehr von Yu Liu

A TPC Benchmark of Hive LLAP and Comparison with Presto
A TPC Benchmark of Hive LLAP and Comparison with PrestoA TPC Benchmark of Hive LLAP and Comparison with Presto
A TPC Benchmark of Hive LLAP and Comparison with PrestoYu Liu
 
Cloud Era Transactional Processing -- Problems, Strategies and Solutions
Cloud Era Transactional Processing -- Problems, Strategies and SolutionsCloud Era Transactional Processing -- Problems, Strategies and Solutions
Cloud Era Transactional Processing -- Problems, Strategies and SolutionsYu Liu
 
Introduction to NTCIR 2016 MedNLPDoc
Introduction to NTCIR 2016 MedNLPDocIntroduction to NTCIR 2016 MedNLPDoc
Introduction to NTCIR 2016 MedNLPDocYu Liu
 
Survey on Parallel/Distributed Search Engines
Survey on Parallel/Distributed Search EnginesSurvey on Parallel/Distributed Search Engines
Survey on Parallel/Distributed Search EnginesYu Liu
 
Paper introduction to Combinatorial Optimization on Graphs of Bounded Treewidth
Paper introduction to Combinatorial Optimization on Graphs of Bounded TreewidthPaper introduction to Combinatorial Optimization on Graphs of Bounded Treewidth
Paper introduction to Combinatorial Optimization on Graphs of Bounded TreewidthYu Liu
 
Paper Introduction: Combinatorial Model and Bounds for Target Set Selection
Paper Introduction: Combinatorial Model and Bounds for Target Set SelectionPaper Introduction: Combinatorial Model and Bounds for Target Set Selection
Paper Introduction: Combinatorial Model and Bounds for Target Set SelectionYu Liu
 
An accumulative computation framework on MapReduce ppl2013
An accumulative computation framework on MapReduce ppl2013An accumulative computation framework on MapReduce ppl2013
An accumulative computation framework on MapReduce ppl2013Yu Liu
 
An Enhanced MapReduce Model (on BSP)
An Enhanced MapReduce Model (on BSP)An Enhanced MapReduce Model (on BSP)
An Enhanced MapReduce Model (on BSP)Yu Liu
 
A Homomorphism-based Framework for Systematic Parallel Programming with MapRe...
A Homomorphism-based Framework for Systematic Parallel Programming with MapRe...A Homomorphism-based Framework for Systematic Parallel Programming with MapRe...
A Homomorphism-based Framework for Systematic Parallel Programming with MapRe...Yu Liu
 
An Introduction of Recent Research on MapReduce (2011)
An Introduction of Recent Research on MapReduce (2011)An Introduction of Recent Research on MapReduce (2011)
An Introduction of Recent Research on MapReduce (2011)Yu Liu
 
A Generate-Test-Aggregate Parallel Programming Library on Spark
A Generate-Test-Aggregate Parallel Programming Library on SparkA Generate-Test-Aggregate Parallel Programming Library on Spark
A Generate-Test-Aggregate Parallel Programming Library on SparkYu Liu
 
Introduction of A Lightweight Stage-Programming Framework
Introduction of A Lightweight Stage-Programming FrameworkIntroduction of A Lightweight Stage-Programming Framework
Introduction of A Lightweight Stage-Programming FrameworkYu Liu
 
Start From A MapReduce Graph Pattern-recognize Algorithm
Start From A MapReduce Graph Pattern-recognize AlgorithmStart From A MapReduce Graph Pattern-recognize Algorithm
Start From A MapReduce Graph Pattern-recognize AlgorithmYu Liu
 
Introduction of the Design of A High-level Language over MapReduce -- The Pig...
Introduction of the Design of A High-level Language over MapReduce -- The Pig...Introduction of the Design of A High-level Language over MapReduce -- The Pig...
Introduction of the Design of A High-level Language over MapReduce -- The Pig...Yu Liu
 
On Extending MapReduce - Survey and Experiments
On Extending MapReduce - Survey and ExperimentsOn Extending MapReduce - Survey and Experiments
On Extending MapReduce - Survey and ExperimentsYu Liu
 
Tree representation in map reduce world
Tree representation  in map reduce worldTree representation  in map reduce world
Tree representation in map reduce worldYu Liu
 
Introduction to Ultra-succinct representation of ordered trees with applications
Introduction to Ultra-succinct representation of ordered trees with applicationsIntroduction to Ultra-succinct representation of ordered trees with applications
Introduction to Ultra-succinct representation of ordered trees with applicationsYu Liu
 
On Implementation of Neuron Network(Back-propagation)
On Implementation of Neuron Network(Back-propagation)On Implementation of Neuron Network(Back-propagation)
On Implementation of Neuron Network(Back-propagation)Yu Liu
 
ScrewDriver Rebirth: Generate-Test-and-Aggregate Framework on Hadoop
ScrewDriver Rebirth: Generate-Test-and-Aggregate Framework on HadoopScrewDriver Rebirth: Generate-Test-and-Aggregate Framework on Hadoop
ScrewDriver Rebirth: Generate-Test-and-Aggregate Framework on HadoopYu Liu
 
A Homomorphism-based MapReduce Framework for Systematic Parallel Programming
A Homomorphism-based MapReduce Framework for Systematic Parallel ProgrammingA Homomorphism-based MapReduce Framework for Systematic Parallel Programming
A Homomorphism-based MapReduce Framework for Systematic Parallel ProgrammingYu Liu
 

Mehr von Yu Liu (20)

A TPC Benchmark of Hive LLAP and Comparison with Presto
A TPC Benchmark of Hive LLAP and Comparison with PrestoA TPC Benchmark of Hive LLAP and Comparison with Presto
A TPC Benchmark of Hive LLAP and Comparison with Presto
 
Cloud Era Transactional Processing -- Problems, Strategies and Solutions
Cloud Era Transactional Processing -- Problems, Strategies and SolutionsCloud Era Transactional Processing -- Problems, Strategies and Solutions
Cloud Era Transactional Processing -- Problems, Strategies and Solutions
 
Introduction to NTCIR 2016 MedNLPDoc
Introduction to NTCIR 2016 MedNLPDocIntroduction to NTCIR 2016 MedNLPDoc
Introduction to NTCIR 2016 MedNLPDoc
 
Survey on Parallel/Distributed Search Engines
Survey on Parallel/Distributed Search EnginesSurvey on Parallel/Distributed Search Engines
Survey on Parallel/Distributed Search Engines
 
Paper introduction to Combinatorial Optimization on Graphs of Bounded Treewidth
Paper introduction to Combinatorial Optimization on Graphs of Bounded TreewidthPaper introduction to Combinatorial Optimization on Graphs of Bounded Treewidth
Paper introduction to Combinatorial Optimization on Graphs of Bounded Treewidth
 
Paper Introduction: Combinatorial Model and Bounds for Target Set Selection
Paper Introduction: Combinatorial Model and Bounds for Target Set SelectionPaper Introduction: Combinatorial Model and Bounds for Target Set Selection
Paper Introduction: Combinatorial Model and Bounds for Target Set Selection
 
An accumulative computation framework on MapReduce ppl2013
An accumulative computation framework on MapReduce ppl2013An accumulative computation framework on MapReduce ppl2013
An accumulative computation framework on MapReduce ppl2013
 
An Enhanced MapReduce Model (on BSP)
An Enhanced MapReduce Model (on BSP)An Enhanced MapReduce Model (on BSP)
An Enhanced MapReduce Model (on BSP)
 
A Homomorphism-based Framework for Systematic Parallel Programming with MapRe...
A Homomorphism-based Framework for Systematic Parallel Programming with MapRe...A Homomorphism-based Framework for Systematic Parallel Programming with MapRe...
A Homomorphism-based Framework for Systematic Parallel Programming with MapRe...
 
An Introduction of Recent Research on MapReduce (2011)
An Introduction of Recent Research on MapReduce (2011)An Introduction of Recent Research on MapReduce (2011)
An Introduction of Recent Research on MapReduce (2011)
 
A Generate-Test-Aggregate Parallel Programming Library on Spark
A Generate-Test-Aggregate Parallel Programming Library on SparkA Generate-Test-Aggregate Parallel Programming Library on Spark
A Generate-Test-Aggregate Parallel Programming Library on Spark
 
Introduction of A Lightweight Stage-Programming Framework
Introduction of A Lightweight Stage-Programming FrameworkIntroduction of A Lightweight Stage-Programming Framework
Introduction of A Lightweight Stage-Programming Framework
 
Start From A MapReduce Graph Pattern-recognize Algorithm
Start From A MapReduce Graph Pattern-recognize AlgorithmStart From A MapReduce Graph Pattern-recognize Algorithm
Start From A MapReduce Graph Pattern-recognize Algorithm
 
Introduction of the Design of A High-level Language over MapReduce -- The Pig...
Introduction of the Design of A High-level Language over MapReduce -- The Pig...Introduction of the Design of A High-level Language over MapReduce -- The Pig...
Introduction of the Design of A High-level Language over MapReduce -- The Pig...
 
On Extending MapReduce - Survey and Experiments
On Extending MapReduce - Survey and ExperimentsOn Extending MapReduce - Survey and Experiments
On Extending MapReduce - Survey and Experiments
 
Tree representation in map reduce world
Tree representation  in map reduce worldTree representation  in map reduce world
Tree representation in map reduce world
 
Introduction to Ultra-succinct representation of ordered trees with applications
Introduction to Ultra-succinct representation of ordered trees with applicationsIntroduction to Ultra-succinct representation of ordered trees with applications
Introduction to Ultra-succinct representation of ordered trees with applications
 
On Implementation of Neuron Network(Back-propagation)
On Implementation of Neuron Network(Back-propagation)On Implementation of Neuron Network(Back-propagation)
On Implementation of Neuron Network(Back-propagation)
 
ScrewDriver Rebirth: Generate-Test-and-Aggregate Framework on Hadoop
ScrewDriver Rebirth: Generate-Test-and-Aggregate Framework on HadoopScrewDriver Rebirth: Generate-Test-and-Aggregate Framework on Hadoop
ScrewDriver Rebirth: Generate-Test-and-Aggregate Framework on Hadoop
 
A Homomorphism-based MapReduce Framework for Systematic Parallel Programming
A Homomorphism-based MapReduce Framework for Systematic Parallel ProgrammingA Homomorphism-based MapReduce Framework for Systematic Parallel Programming
A Homomorphism-based MapReduce Framework for Systematic Parallel Programming
 

高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)