SlideShare a Scribd company logo
1 of 58
Download to read offline
슈퍼컴퓨팅과 데이터
어낼리틱스 프레임워크,
그리고 유니스트의
빅데이터 처리 프레임워크
남범석
UNIST (울산과학기술원)
contents
1. 슈퍼컴퓨팅과 빅데이터
2. UNIST의 빅데이터 분석 플랫폼
3. 맺음말
1.
Supercomputing &
BigData
Supercomputing
• High Performance Computing
• Scientific Computing
• Data Intensive Computing
• Computational Science
/Rocket Science
• High-end Computing
Supercomputing 아키텍처
1980’s 1990’s 2000’s
Source: Top 500
Supercomputing Today
- Clusters of commodity (Intel/AMD x86) HW & IBM bluegene
- High-speed, low-latency interconnect (Infiniband)
- Coprocessors (GPU, Xeon Phi)
- Storage area networks (SANs) & local disks for temporary files
Hardware ecosystem
High-end Computing & Industry
HPC
ENIAC (1946) 최초 Business Computer (1951)
CERN 통신 시스템(1989)
FTP, Gopher, NNTP (1969)
NCSA Mosaic (1993)
World Wide Web
dot-com bubble (1997~)
High-end Computing & Industry
HPC
Active Data Repository (1998)
BigData/Hadoop (2005)
Grid Computing (1998)
Amazon EC2 (2006)
HPC & Industry
Innovation & Growth
Money
2008
Source: Top 500
Recession & HPC
Exa 스케일? 연간 수천만달러 전기세
Source: AAAS, Top 500
BigData: Recession?
Source: Gartner, Apache Foundation
2005
BigData? HPC?
Image Source: solar-citrus.tumblr.com
BigData
HPC
Isn’t that what I’ve done
in the past?
Hadoop’s Uncomfortable Fit in HPC
Why?
1. Hadoop is an invader!
2. Running Java applications (Hadoop) on supercomputer looks funny
3. Hadoop reinvents HPC technologies poorly
4. HDFS is very slow and very obtuse
Source: G. K. Lockwood, HPCwire Image Source: solar-citrus.tumblr.com
HPC Ecosystem
Application level
Middleware
System software
Cluster Hardware
Applications and Community Codes
FORTRAN, C, C++, and IDEs
Domain Specific
Libraries
programming model
Lustre (Parallel
File System)
MPI/OpenMP/
OpenCL/CUDA
Batch Scheduler
(SLURM,SGE)
Linux OS
Infiniband
/Ethernet
SAN/Local
Storage
X86 Servers+
Coprocessors
BigData Ecosystem
Application level
Middleware
System software
Cluster Hardware
Mahout, R, etc
MapReduce
programming model
Hadoop File System
HBase
Big Table
Linux OS
Ethernet
Local
Storage
X86 Servers
zookeeper Spark
Hive Pig, etc ...
Virtual Machines and Cloud
ADR vs MapReduce
- Data Intensive Computing Framework
- Scientific Datasets 처리
1998 Active Data Repository (ADR)
Processing Remotely Sensed Data
NOAA Tiros-N
w/ AVHRR sensor
AVHRR Level 1 DataAVHRR Level 1 Data
• As the TIROS-N satellite orbits, the
Advanced Very High Resolution Radiometer (AVHRR)
sensor scans perpendicular to the satellite’s track.
• At regular intervals along a scan line measurements
are gathered to form an instantaneous field of view
(IFOV).
• Scan lines are aggregated into Level 1 data sets.
A single file of Global Area
Coverage (GAC) data
represents:
• ~one full earth orbit.
• ~110 minutes.
• ~40 megabytes.
• ~15,000 scan lines.
One scan line is 409 IFOV’s
Source: Chaos project: U.Maryland, College Park
DataCutter vs Dryad, Spark
2000 DataCutter
- Workflow 지원 Component Framework
- Pipelined components (filter)
- Stream based communication
class MyFilter : public Filter_Base {
public:
int init( int argc, char * argv[] )
{ ... };
int process( stream_t st[] ) { ... };
int finalize( void ) { ... };
}
Source: Chaos project: U.Maryland, College Park
HPC & BigData
HPC 와 BigData 의 공통 해결 과제
1. High-performance interconnect technologies
2. Energy efficient circuit, power, and cooling technologies
3. Power and Failure-aware resilient scalable system software
4. Advanced memory technologies
5. Data management- volume, velocity, and diversity of data
6. Programming models
7. Scale-up? Scale-out?
HPC for BigData
Infiniband/RDMA for Hadoop
- Wide adoption of RDMA
- Message Passing Interface (MPI) for HPC
- Parallel File Systems
- Lustre
- GPFS
- Delivering excellent performance
- (latency, bandwidth and CPU Utilization)
- Delivering excellent scalability
HPC for BigData
Infiniband/RDMA for Hadoop
- Socket 기반의 Java RPC
- HPC는 고속 lossless DMA 통신 사용
Application
Socket
Transport
NIC Driver
NIC
Application
Socket
Transport
NIC Driver
NIC
Buffer
Buffer
Buffer
Buffer
Buffer
Buffer
Buffer
Buffer
Buffer
Buffer
Application
Socket
Transport
NIC Driver
NIC
Application
Socket
Transport
NIC Driver
NIC
Buffer
Buffer
Buffer
Buffer
Source: D.K.Panda, ISCA15 tutorial
HPC for BigData
Lustre File System for Hadoop
- Intel HPC distribution for Hadoop
- Map task의 중간 결과물을 Lustre FS 에 저장
Source: Intel
HPC for BigData
RDMA 기반 In-Memory Merge
Source: D.K. Panda, ISCA 15 Tutorial
Map 1 Output (sorted)
Map 2 Output (sorted)
Reducer
Map 1 Output (sorted)
Map 2 Output (sorted)
Reducer
1. Sorted map output is divided into small pieces based on shuffle packet size
and size of the key-value pairs
2. As small portion of data is shuffled, merge can take place in memory
HPC for BigData
Scale out vs Scale up
1. Scale-out
2. Scale-up
Performance
Performance
Scale-up is more cost-effective
(Microsoft – SOCC 2013)
EclipseMR
남범석
UNIST (울산과학기술원)
contents
1. 슈퍼컴퓨팅과 빅데이터
2. UNIST의 빅데이터 분석 플랫폼
3. 맺음말
2.
EclipseMR
DHT 기반 빅데이터 프레임워크
CHORD DHT(Distributed Hash Table,분산해시테이블)
특징
1. Decentralized Data Structure
2. 결함 내성
3. 확장성 (P2P)
4. 바이너리 서치/Short cut->빠른 데이터 검색
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
{13,14,15} {0,1}
{2,3,4}
{5,6,7}
{8,9,10,11,12}
Chord DHT
Consistent Hashing
1. Hash function assigns a key to each node and each data
- key = hash(IP,port)
- key = hash(dataID)
ex) Insert new_data:
10 = hash(new_data)
12 = successor(10)
: successor(X) : actual node following X
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
{13,14,15} {0,1}
{2,3,4}
{5,6,7}
{8,9,10,11,12}
Actual node
Data keys
Chord DHT
Join Algorithm
ex) A new server X joins
: 9 = hash(X_IP,X_port)
: 1 = Search(9)
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
{0,1,2,3,
4,5,6,7,8,
9,10,11,12,
13,14,15}
Actual node
Chord DHT
Join Algorithm
ex) A new server X joins
:7= hash(X_IP,X_port)
: 1 = Search(7)
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
{0,1,8,9,
10,11,12,
13,14,15}
{2,3,4,
5,6,7}
X
Chord DHT
Join Algorithm
ex) A new server Y joins
: 12 = hash(Y_IP,Y_port)
: 7 = Search(12)
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
{8,9,10,
11,12}
{0,1,13,
14,15}
{2,3,4,
5,6,7}
Chord DHT
Routing Algorithm
Finger Table
- 자신으로부터 2k 번째 key의 successor
- ex) 노드1 의 Finger Table
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
{13,14,15} {0,1}
{2,3,4}
{5,6,7}
{8,9,10,11,12}
20
21
22
24
k 2k successor(2k)
0 1+1 4
1 1+2 4
2 1+4 7
3 1+8 12
Chord DHT
Routing Algorithm
Finger Table
- 자신으로부터 2k 번째 key의 successor
- ex) 노드15 의 Finger Table
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
{13,14,15} {0,1}
{2,3,4}
{5,6,7}
{8,9,10,11,12}
20 21
22
24
k 2k successor(2k)
0 (15+1)%16 1
1 (15+2)%16 1
2 (15+4)%16 4
3 (15+8)%16 7
Chord DHT
Routing Algorithm
Decentralized Binary Search
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Decentralized
특징
1. Decentralized Data Structure
2. 결함 내성
3. 확장성 (P2P)
4. 빠른 데이터 검색
EclipseMR의 아키텍처
이중 DHT 구조
바깥 DHT: 인메모리 캐시
안쪽 DHT: 분산 파일 시스템
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Key Design Principle
1) 로드 밸런싱
2) 인메모리 캐시 적중율
EclipseMR의 아키텍처
File Upload
1) 128MB 청크로 분할
2) 분할된 청크의 Hash Key를
사용하여 저장될 서버 지정
3) Replication
- replication factor = 3
- 지정된 서버의 좌우 actual
node에 저장
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
EclipseMR의 아키텍처
File Upload
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Big File
Chunk-1
Chunk-2
Chunk-n
...
EclipseMR의 아키텍처
File Upload
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Chunk-1
Chunk-2
Chunk-n
...
EclipseMR의 아키텍처
File Replication
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Chunk-1
Chunk-2
Chunk-n
...
EclipseMR의 아키텍처
File Metdata Decentralization
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Big File
Chunk-1
Chunk-2
Chunk-n
...
Partitionining/Replication 메타데이터
: Hash(Big File)→3
EclipseMR의 아키텍처
File Read
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
1) successor(Hash(Big File)→3)→4
2) 노드 4에서 파일 정보 획득
- Chunk 갯수, ACL
분할 정보,복제정보, etc
3) Hash(Chunk-1)→14
Hash(Chunk-2)→5
BigFile 메타데이터
EclipseMR의 아키텍처
File Read
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
4) Search_InMemory(Hash(Chunk))
- 인메모리 캐시에서 히트 발생 기대
Chunk-1
Chunk-2
5) If Cache Miss → DHT 파일시스템에서
읽어 캐시에 저장
EclipseMR의 아키텍처
Load Balancing
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Q: 만약 Hash 키 13,14,15 가 다른 키에
비해 무수히 많이 엑세스 된다면?
A1: Migration
A2: Replication
Cache Migration/Replication:
- 인메모리 캐시의 데이터를
이웃 노드로 복제 혹은 이동
- 마이그레이션 알고리즘:
- Locality-aware Fair 스케줄러
- 인메모리 캐시의 Hash 경계선을
움직여 로드밸런싱 유지
EclipseMR의 아키텍처
Load Balancing
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
- 만일 Application이 key13을 읽기
위해 노드 12의 인메모리 캐쉬 검색.
- Cache Miss 발생 시 로컬디스크가
아닌 이웃한 노드 15에서 읽어야함
→ 성능 저하
- But! 15에 저장된 데이터들은 12에 복제
되어 있어 Local에서 읽음
- 경계가 극단적으로 변하지 않는 이상 로컬
리티 보장
EclipseMR의 아키텍처
Remote Data Access
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
- 로드밸런싱을 위해 Hash Key
경계선을 움직일 경우, Hash Key
경계선의 Decentralization이 어려움
- Leader Election 을 통해 Hash Key
경계선과 Job Scheduling을 담당할
Frontend 노드를 P2P로 결정
EclipseMR의 아키텍처
In-Memory Hash Key Boundary
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
- 최근 데이터 액세스 분포를 사용하여 Hash Key 경계를 분할
Locality-aware Fair Scheduler
In-Memory Hash Key Boundary Management
14 150 1 2 3 4 5 6 7 8 9 10 11 12 13
Locality-aware Fair Scheduler
In-Memory Hash Key Boundary Management
0
0.2
0.4
0.6
0.8
1
0
6
12
18
24
30
36
42
48
54
60
66
72
78
84
90
96
102
108
114
120
126
132
138
CDF
server 1: [0,35)
server 2: [35,47)
server 3: [47,91)
server 4: [91,102)
server 5: [102,140)
new task T1 (HK=43)
new task T2 (HK=69)
EclipseMR 에서의 MapReduce
Job Scheduler
A
A
B
C
D
E
F
B
C
D
E
F
5
5
11
15
18
26
38
39
47
57
55
EclipseMR
MR application 1 1
2
3
4
4
5
5
3
6
reduce tasks
6
Serv
er
Hash Key Range
A [57~5)
B [5,11)
C [11,18)
D [18,39)
E [39,48)
F [48,57)
- accesses a file (hash key=38)
: data block 5 & 56
EclipseMR vs Hadoop & Spark
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
PageRank Sort Word Count Grep KMeans
NormalizedExecutionTime
EclipseMR Hadoop Spark
25x
3x
50x
6x
50x
3.
맺음말
Ongoing Works
MachineLearning on EclipseMR
- GPU ML 패키지와 EclipseMR의 통합
Hadoop에서 GPU를
쓰는건 너무 어려워요.
WORLD'S LARGEST ARTIFICIAL
NEURAL NETWORKS WITH GPU
Source: Stanford Al Lab
Ongoing Works
Cassandra/NoSQL
- Cassandra 와 EclipseMR의 통합
- NewSQL on EclipseMR
DHT 인메모리 캐싱/RDMA 를 활용한
고속 NewSQL 엔진 개발
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
{13,14,15} {0,1}
{2,3,4}
{5,6,7}
{8,9,10,11,12}
Ongoing Works
MPI/RDMA
- 수퍼컴퓨팅 SGE/SLURM 환경에서 수행 가능
EclipseMR은 Hadoop 디
몬이 필요 없으니 수행 가
능합니다. mpirun으로 수
행하세요.
빅데이터처리
맺음말
HPC & Big Data는 공통 과제를 함께 해결
- HPC의 Scale-up technologies를 BigData에 우선 적용
- UNIST 수퍼컴퓨팅센터/초고성능 빅데이터 사업단
- EclipseMR 및 다양한 HPC + BigData 연구 중
Q&A
Thank You

More Related Content

What's hot

[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint NAVER D2
 
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술NAVER D2
 
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbmsNAVER D2
 
[264] large scale deep-learning_on_spark
[264] large scale deep-learning_on_spark[264] large scale deep-learning_on_spark
[264] large scale deep-learning_on_sparkNAVER D2
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.NAVER D2
 
Cloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampCloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampSang-bae Lim
 
[D2]thread dump 분석기법과 사례
[D2]thread dump 분석기법과 사례[D2]thread dump 분석기법과 사례
[D2]thread dump 분석기법과 사례NAVER D2
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기NAVER D2
 
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & SparkDeep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Sparkhoondong kim
 
Map reduce 기본 설명
Map reduce 기본 설명Map reduce 기본 설명
Map reduce 기본 설명Jinho Yoo
 
하둡 맵리듀스 훑어보기
하둡 맵리듀스 훑어보기하둡 맵리듀스 훑어보기
하둡 맵리듀스 훑어보기beom kyun choi
 
Big query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetupBig query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetupJude Kim
 
[빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원][빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원]Jayoung Lim
 
Spark 소개 1부
Spark 소개 1부Spark 소개 1부
Spark 소개 1부Jinho Yoo
 
Vectorized processing in_a_nutshell_DeView2014
Vectorized processing in_a_nutshell_DeView2014Vectorized processing in_a_nutshell_DeView2014
Vectorized processing in_a_nutshell_DeView2014Gruter
 
Theano 와 Caffe 실습
Theano 와 Caffe 실습 Theano 와 Caffe 실습
Theano 와 Caffe 실습 정주 김
 
왜 Spark 와 infinispan 왜 같이 쓰지
왜 Spark 와 infinispan 왜 같이 쓰지 왜 Spark 와 infinispan 왜 같이 쓰지
왜 Spark 와 infinispan 왜 같이 쓰지 Un Gi Jung
 
서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료Teddy Choi
 
Spark Day 2017@Seoul(Spark Bootcamp)
Spark Day 2017@Seoul(Spark Bootcamp)Spark Day 2017@Seoul(Spark Bootcamp)
Spark Day 2017@Seoul(Spark Bootcamp)Sang-bae Lim
 

What's hot (20)

[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
 
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
 
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
 
[264] large scale deep-learning_on_spark
[264] large scale deep-learning_on_spark[264] large scale deep-learning_on_spark
[264] large scale deep-learning_on_spark
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
 
Cloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampCloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcamp
 
[D2]thread dump 분석기법과 사례
[D2]thread dump 분석기법과 사례[D2]thread dump 분석기법과 사례
[D2]thread dump 분석기법과 사례
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기
 
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & SparkDeep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
 
Map reduce 기본 설명
Map reduce 기본 설명Map reduce 기본 설명
Map reduce 기본 설명
 
하둡 맵리듀스 훑어보기
하둡 맵리듀스 훑어보기하둡 맵리듀스 훑어보기
하둡 맵리듀스 훑어보기
 
Big query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetupBig query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetup
 
[빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원][빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원]
 
Spark 소개 1부
Spark 소개 1부Spark 소개 1부
Spark 소개 1부
 
Vectorized processing in_a_nutshell_DeView2014
Vectorized processing in_a_nutshell_DeView2014Vectorized processing in_a_nutshell_DeView2014
Vectorized processing in_a_nutshell_DeView2014
 
Theano 와 Caffe 실습
Theano 와 Caffe 실습 Theano 와 Caffe 실습
Theano 와 Caffe 실습
 
왜 Spark 와 infinispan 왜 같이 쓰지
왜 Spark 와 infinispan 왜 같이 쓰지 왜 Spark 와 infinispan 왜 같이 쓰지
왜 Spark 와 infinispan 왜 같이 쓰지
 
서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료
 
Druid+superset
Druid+supersetDruid+superset
Druid+superset
 
Spark Day 2017@Seoul(Spark Bootcamp)
Spark Day 2017@Seoul(Spark Bootcamp)Spark Day 2017@Seoul(Spark Bootcamp)
Spark Day 2017@Seoul(Spark Bootcamp)
 

Viewers also liked

[234] 산업 현장을 위한 증강 현실 기기 daqri helmet 개발기
[234] 산업 현장을 위한 증강 현실 기기 daqri helmet 개발기[234] 산업 현장을 위한 증강 현실 기기 daqri helmet 개발기
[234] 산업 현장을 위한 증강 현실 기기 daqri helmet 개발기NAVER D2
 
[223] h base consistent secondary indexing
[223] h base consistent secondary indexing[223] h base consistent secondary indexing
[223] h base consistent secondary indexingNAVER D2
 
[231] the simplicity of cluster apps with circuit
[231] the simplicity of cluster apps with circuit[231] the simplicity of cluster apps with circuit
[231] the simplicity of cluster apps with circuitNAVER D2
 
[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템NAVER D2
 
[252] 증분 처리 플랫폼 cana 개발기
[252] 증분 처리 플랫폼 cana 개발기[252] 증분 처리 플랫폼 cana 개발기
[252] 증분 처리 플랫폼 cana 개발기NAVER D2
 
[263] s2graph large-scale-graph-database-with-hbase-2
[263] s2graph large-scale-graph-database-with-hbase-2[263] s2graph large-scale-graph-database-with-hbase-2
[263] s2graph large-scale-graph-database-with-hbase-2NAVER D2
 
[243] turning data into value
[243] turning data into value[243] turning data into value
[243] turning data into valueNAVER D2
 
[253] apache ni fi
[253] apache ni fi[253] apache ni fi
[253] apache ni fiNAVER D2
 
[242] wifi를 이용한 실내 장소 인식하기
[242] wifi를 이용한 실내 장소 인식하기[242] wifi를 이용한 실내 장소 인식하기
[242] wifi를 이용한 실내 장소 인식하기NAVER D2
 
[233] level 2 network programming using packet ngin rtos
[233] level 2 network programming using packet ngin rtos[233] level 2 network programming using packet ngin rtos
[233] level 2 network programming using packet ngin rtosNAVER D2
 
[262] netflix 빅데이터 플랫폼
[262] netflix 빅데이터 플랫폼[262] netflix 빅데이터 플랫폼
[262] netflix 빅데이터 플랫폼NAVER D2
 
[212] large scale backend service develpment
[212] large scale backend service develpment[212] large scale backend service develpment
[212] large scale backend service develpmentNAVER D2
 
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기NAVER D2
 
[211] 네이버 검색과 데이터마이닝
[211] 네이버 검색과 데이터마이닝[211] 네이버 검색과 데이터마이닝
[211] 네이버 검색과 데이터마이닝NAVER D2
 
[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법NAVER D2
 
[214] data science with apache zeppelin
[214] data science with apache zeppelin[214] data science with apache zeppelin
[214] data science with apache zeppelinNAVER D2
 
[213] ethereum
[213] ethereum[213] ethereum
[213] ethereumNAVER D2
 
[251] implementing deep learning using cu dnn
[251] implementing deep learning using cu dnn[251] implementing deep learning using cu dnn
[251] implementing deep learning using cu dnnNAVER D2
 
[221] docker orchestration
[221] docker orchestration[221] docker orchestration
[221] docker orchestrationNAVER D2
 
[113] lessons from realm
[113] lessons from realm[113] lessons from realm
[113] lessons from realmNAVER D2
 

Viewers also liked (20)

[234] 산업 현장을 위한 증강 현실 기기 daqri helmet 개발기
[234] 산업 현장을 위한 증강 현실 기기 daqri helmet 개발기[234] 산업 현장을 위한 증강 현실 기기 daqri helmet 개발기
[234] 산업 현장을 위한 증강 현실 기기 daqri helmet 개발기
 
[223] h base consistent secondary indexing
[223] h base consistent secondary indexing[223] h base consistent secondary indexing
[223] h base consistent secondary indexing
 
[231] the simplicity of cluster apps with circuit
[231] the simplicity of cluster apps with circuit[231] the simplicity of cluster apps with circuit
[231] the simplicity of cluster apps with circuit
 
[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템
 
[252] 증분 처리 플랫폼 cana 개발기
[252] 증분 처리 플랫폼 cana 개발기[252] 증분 처리 플랫폼 cana 개발기
[252] 증분 처리 플랫폼 cana 개발기
 
[263] s2graph large-scale-graph-database-with-hbase-2
[263] s2graph large-scale-graph-database-with-hbase-2[263] s2graph large-scale-graph-database-with-hbase-2
[263] s2graph large-scale-graph-database-with-hbase-2
 
[243] turning data into value
[243] turning data into value[243] turning data into value
[243] turning data into value
 
[253] apache ni fi
[253] apache ni fi[253] apache ni fi
[253] apache ni fi
 
[242] wifi를 이용한 실내 장소 인식하기
[242] wifi를 이용한 실내 장소 인식하기[242] wifi를 이용한 실내 장소 인식하기
[242] wifi를 이용한 실내 장소 인식하기
 
[233] level 2 network programming using packet ngin rtos
[233] level 2 network programming using packet ngin rtos[233] level 2 network programming using packet ngin rtos
[233] level 2 network programming using packet ngin rtos
 
[262] netflix 빅데이터 플랫폼
[262] netflix 빅데이터 플랫폼[262] netflix 빅데이터 플랫폼
[262] netflix 빅데이터 플랫폼
 
[212] large scale backend service develpment
[212] large scale backend service develpment[212] large scale backend service develpment
[212] large scale backend service develpment
 
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기
 
[211] 네이버 검색과 데이터마이닝
[211] 네이버 검색과 데이터마이닝[211] 네이버 검색과 데이터마이닝
[211] 네이버 검색과 데이터마이닝
 
[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법
 
[214] data science with apache zeppelin
[214] data science with apache zeppelin[214] data science with apache zeppelin
[214] data science with apache zeppelin
 
[213] ethereum
[213] ethereum[213] ethereum
[213] ethereum
 
[251] implementing deep learning using cu dnn
[251] implementing deep learning using cu dnn[251] implementing deep learning using cu dnn
[251] implementing deep learning using cu dnn
 
[221] docker orchestration
[221] docker orchestration[221] docker orchestration
[221] docker orchestration
 
[113] lessons from realm
[113] lessons from realm[113] lessons from realm
[113] lessons from realm
 

Similar to [232] 수퍼컴퓨팅과 데이터 어낼리틱스

Sensor web
Sensor webSensor web
Sensor webH K Yoon
 
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - PacemakerTommy Lee
 
Klug pacemaker the opensource high-availability_1.0_f
Klug pacemaker the opensource high-availability_1.0_fKlug pacemaker the opensource high-availability_1.0_f
Klug pacemaker the opensource high-availability_1.0_f동현 김
 
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기ksdc2019
 
Spark_Overview_qna
Spark_Overview_qnaSpark_Overview_qna
Spark_Overview_qna현철 박
 
K ems 20060428
K ems 20060428K ems 20060428
K ems 20060428상진 정
 
Multithread pattern 소개
Multithread pattern 소개Multithread pattern 소개
Multithread pattern 소개Sunghyouk Bae
 
[경북] I'mcloud information
[경북] I'mcloud information[경북] I'mcloud information
[경북] I'mcloud informationstartupkorea
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계PgDay.Seoul
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arcNAVER D2
 
Next generation cloud data center technologies
Next generation cloud data center technologiesNext generation cloud data center technologies
Next generation cloud data center technologieshybrid cloud
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AITommy Lee
 
[IBM 김상훈] AI 최적화 플랫폼 IBM AC922 소개와 활용 사례
[IBM 김상훈] AI 최적화 플랫폼 IBM AC922 소개와 활용 사례[IBM 김상훈] AI 최적화 플랫폼 IBM AC922 소개와 활용 사례
[IBM 김상훈] AI 최적화 플랫폼 IBM AC922 소개와 활용 사례(Joe), Sanghun Kim
 
Foss open sorucesw_6902
Foss open sorucesw_6902Foss open sorucesw_6902
Foss open sorucesw_6902승우 백
 
병렬프로그래밍과 Cuda
병렬프로그래밍과 Cuda병렬프로그래밍과 Cuda
병렬프로그래밍과 CudaSeok-joon Yun
 
Introductory to MND-AF
Introductory to MND-AFIntroductory to MND-AF
Introductory to MND-AFJinwon Park
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLDKim Junghoon
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료choi kyumin
 
Cloud datacenter network architecture (2014)
Cloud datacenter network architecture (2014)Cloud datacenter network architecture (2014)
Cloud datacenter network architecture (2014)Gasida Seo
 

Similar to [232] 수퍼컴퓨팅과 데이터 어낼리틱스 (20)

Sensor web
Sensor webSensor web
Sensor web
 
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
 
Klug pacemaker the opensource high-availability_1.0_f
Klug pacemaker the opensource high-availability_1.0_fKlug pacemaker the opensource high-availability_1.0_f
Klug pacemaker the opensource high-availability_1.0_f
 
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
 
Spark_Overview_qna
Spark_Overview_qnaSpark_Overview_qna
Spark_Overview_qna
 
K ems 20060428
K ems 20060428K ems 20060428
K ems 20060428
 
Thread programming
Thread programmingThread programming
Thread programming
 
Multithread pattern 소개
Multithread pattern 소개Multithread pattern 소개
Multithread pattern 소개
 
[경북] I'mcloud information
[경북] I'mcloud information[경북] I'mcloud information
[경북] I'mcloud information
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
 
Next generation cloud data center technologies
Next generation cloud data center technologiesNext generation cloud data center technologies
Next generation cloud data center technologies
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AI
 
[IBM 김상훈] AI 최적화 플랫폼 IBM AC922 소개와 활용 사례
[IBM 김상훈] AI 최적화 플랫폼 IBM AC922 소개와 활용 사례[IBM 김상훈] AI 최적화 플랫폼 IBM AC922 소개와 활용 사례
[IBM 김상훈] AI 최적화 플랫폼 IBM AC922 소개와 활용 사례
 
Foss open sorucesw_6902
Foss open sorucesw_6902Foss open sorucesw_6902
Foss open sorucesw_6902
 
병렬프로그래밍과 Cuda
병렬프로그래밍과 Cuda병렬프로그래밍과 Cuda
병렬프로그래밍과 Cuda
 
Introductory to MND-AF
Introductory to MND-AFIntroductory to MND-AF
Introductory to MND-AF
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
 
Cloud datacenter network architecture (2014)
Cloud datacenter network architecture (2014)Cloud datacenter network architecture (2014)
Cloud datacenter network architecture (2014)
 

More from NAVER D2

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈NAVER D2
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&ANAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep LearningNAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingNAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기NAVER D2
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual SearchNAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?NAVER D2
 

More from NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

[232] 수퍼컴퓨팅과 데이터 어낼리틱스

  • 1. 슈퍼컴퓨팅과 데이터 어낼리틱스 프레임워크, 그리고 유니스트의 빅데이터 처리 프레임워크 남범석 UNIST (울산과학기술원)
  • 2. contents 1. 슈퍼컴퓨팅과 빅데이터 2. UNIST의 빅데이터 분석 플랫폼 3. 맺음말
  • 4. Supercomputing • High Performance Computing • Scientific Computing • Data Intensive Computing • Computational Science /Rocket Science • High-end Computing
  • 6. Supercomputing Today - Clusters of commodity (Intel/AMD x86) HW & IBM bluegene - High-speed, low-latency interconnect (Infiniband) - Coprocessors (GPU, Xeon Phi) - Storage area networks (SANs) & local disks for temporary files Hardware ecosystem
  • 7. High-end Computing & Industry HPC ENIAC (1946) 최초 Business Computer (1951) CERN 통신 시스템(1989) FTP, Gopher, NNTP (1969) NCSA Mosaic (1993) World Wide Web dot-com bubble (1997~)
  • 8. High-end Computing & Industry HPC Active Data Repository (1998) BigData/Hadoop (2005) Grid Computing (1998) Amazon EC2 (2006)
  • 9. HPC & Industry Innovation & Growth Money
  • 11. Recession & HPC Exa 스케일? 연간 수천만달러 전기세 Source: AAAS, Top 500
  • 12. BigData: Recession? Source: Gartner, Apache Foundation 2005
  • 13. BigData? HPC? Image Source: solar-citrus.tumblr.com BigData HPC Isn’t that what I’ve done in the past?
  • 14. Hadoop’s Uncomfortable Fit in HPC Why? 1. Hadoop is an invader! 2. Running Java applications (Hadoop) on supercomputer looks funny 3. Hadoop reinvents HPC technologies poorly 4. HDFS is very slow and very obtuse Source: G. K. Lockwood, HPCwire Image Source: solar-citrus.tumblr.com
  • 15. HPC Ecosystem Application level Middleware System software Cluster Hardware Applications and Community Codes FORTRAN, C, C++, and IDEs Domain Specific Libraries programming model Lustre (Parallel File System) MPI/OpenMP/ OpenCL/CUDA Batch Scheduler (SLURM,SGE) Linux OS Infiniband /Ethernet SAN/Local Storage X86 Servers+ Coprocessors
  • 16. BigData Ecosystem Application level Middleware System software Cluster Hardware Mahout, R, etc MapReduce programming model Hadoop File System HBase Big Table Linux OS Ethernet Local Storage X86 Servers zookeeper Spark Hive Pig, etc ... Virtual Machines and Cloud
  • 17. ADR vs MapReduce - Data Intensive Computing Framework - Scientific Datasets 처리 1998 Active Data Repository (ADR) Processing Remotely Sensed Data NOAA Tiros-N w/ AVHRR sensor AVHRR Level 1 DataAVHRR Level 1 Data • As the TIROS-N satellite orbits, the Advanced Very High Resolution Radiometer (AVHRR) sensor scans perpendicular to the satellite’s track. • At regular intervals along a scan line measurements are gathered to form an instantaneous field of view (IFOV). • Scan lines are aggregated into Level 1 data sets. A single file of Global Area Coverage (GAC) data represents: • ~one full earth orbit. • ~110 minutes. • ~40 megabytes. • ~15,000 scan lines. One scan line is 409 IFOV’s Source: Chaos project: U.Maryland, College Park
  • 18. DataCutter vs Dryad, Spark 2000 DataCutter - Workflow 지원 Component Framework - Pipelined components (filter) - Stream based communication class MyFilter : public Filter_Base { public: int init( int argc, char * argv[] ) { ... }; int process( stream_t st[] ) { ... }; int finalize( void ) { ... }; } Source: Chaos project: U.Maryland, College Park
  • 19. HPC & BigData HPC 와 BigData 의 공통 해결 과제 1. High-performance interconnect technologies 2. Energy efficient circuit, power, and cooling technologies 3. Power and Failure-aware resilient scalable system software 4. Advanced memory technologies 5. Data management- volume, velocity, and diversity of data 6. Programming models 7. Scale-up? Scale-out?
  • 20. HPC for BigData Infiniband/RDMA for Hadoop - Wide adoption of RDMA - Message Passing Interface (MPI) for HPC - Parallel File Systems - Lustre - GPFS - Delivering excellent performance - (latency, bandwidth and CPU Utilization) - Delivering excellent scalability
  • 21. HPC for BigData Infiniband/RDMA for Hadoop - Socket 기반의 Java RPC - HPC는 고속 lossless DMA 통신 사용 Application Socket Transport NIC Driver NIC Application Socket Transport NIC Driver NIC Buffer Buffer Buffer Buffer Buffer Buffer Buffer Buffer Buffer Buffer Application Socket Transport NIC Driver NIC Application Socket Transport NIC Driver NIC Buffer Buffer Buffer Buffer Source: D.K.Panda, ISCA15 tutorial
  • 22. HPC for BigData Lustre File System for Hadoop - Intel HPC distribution for Hadoop - Map task의 중간 결과물을 Lustre FS 에 저장 Source: Intel
  • 23. HPC for BigData RDMA 기반 In-Memory Merge Source: D.K. Panda, ISCA 15 Tutorial Map 1 Output (sorted) Map 2 Output (sorted) Reducer Map 1 Output (sorted) Map 2 Output (sorted) Reducer 1. Sorted map output is divided into small pieces based on shuffle packet size and size of the key-value pairs 2. As small portion of data is shuffled, merge can take place in memory
  • 24. HPC for BigData Scale out vs Scale up 1. Scale-out 2. Scale-up Performance Performance Scale-up is more cost-effective (Microsoft – SOCC 2013)
  • 26. contents 1. 슈퍼컴퓨팅과 빅데이터 2. UNIST의 빅데이터 분석 플랫폼 3. 맺음말
  • 28. DHT 기반 빅데이터 프레임워크 CHORD DHT(Distributed Hash Table,분산해시테이블) 특징 1. Decentralized Data Structure 2. 결함 내성 3. 확장성 (P2P) 4. 바이너리 서치/Short cut->빠른 데이터 검색 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 {13,14,15} {0,1} {2,3,4} {5,6,7} {8,9,10,11,12}
  • 29. Chord DHT Consistent Hashing 1. Hash function assigns a key to each node and each data - key = hash(IP,port) - key = hash(dataID) ex) Insert new_data: 10 = hash(new_data) 12 = successor(10) : successor(X) : actual node following X 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 {13,14,15} {0,1} {2,3,4} {5,6,7} {8,9,10,11,12} Actual node Data keys
  • 30. Chord DHT Join Algorithm ex) A new server X joins : 9 = hash(X_IP,X_port) : 1 = Search(9) 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 {0,1,2,3, 4,5,6,7,8, 9,10,11,12, 13,14,15} Actual node
  • 31. Chord DHT Join Algorithm ex) A new server X joins :7= hash(X_IP,X_port) : 1 = Search(7) 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 {0,1,8,9, 10,11,12, 13,14,15} {2,3,4, 5,6,7} X
  • 32. Chord DHT Join Algorithm ex) A new server Y joins : 12 = hash(Y_IP,Y_port) : 7 = Search(12) 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 {8,9,10, 11,12} {0,1,13, 14,15} {2,3,4, 5,6,7}
  • 33. Chord DHT Routing Algorithm Finger Table - 자신으로부터 2k 번째 key의 successor - ex) 노드1 의 Finger Table 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 {13,14,15} {0,1} {2,3,4} {5,6,7} {8,9,10,11,12} 20 21 22 24 k 2k successor(2k) 0 1+1 4 1 1+2 4 2 1+4 7 3 1+8 12
  • 34. Chord DHT Routing Algorithm Finger Table - 자신으로부터 2k 번째 key의 successor - ex) 노드15 의 Finger Table 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 {13,14,15} {0,1} {2,3,4} {5,6,7} {8,9,10,11,12} 20 21 22 24 k 2k successor(2k) 0 (15+1)%16 1 1 (15+2)%16 1 2 (15+4)%16 4 3 (15+8)%16 7
  • 35. Chord DHT Routing Algorithm Decentralized Binary Search 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Decentralized 특징 1. Decentralized Data Structure 2. 결함 내성 3. 확장성 (P2P) 4. 빠른 데이터 검색
  • 36. EclipseMR의 아키텍처 이중 DHT 구조 바깥 DHT: 인메모리 캐시 안쪽 DHT: 분산 파일 시스템 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Key Design Principle 1) 로드 밸런싱 2) 인메모리 캐시 적중율
  • 37. EclipseMR의 아키텍처 File Upload 1) 128MB 청크로 분할 2) 분할된 청크의 Hash Key를 사용하여 저장될 서버 지정 3) Replication - replication factor = 3 - 지정된 서버의 좌우 actual node에 저장 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13
  • 41. EclipseMR의 아키텍처 File Metdata Decentralization 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Big File Chunk-1 Chunk-2 Chunk-n ... Partitionining/Replication 메타데이터 : Hash(Big File)→3
  • 42. EclipseMR의 아키텍처 File Read 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 1) successor(Hash(Big File)→3)→4 2) 노드 4에서 파일 정보 획득 - Chunk 갯수, ACL 분할 정보,복제정보, etc 3) Hash(Chunk-1)→14 Hash(Chunk-2)→5 BigFile 메타데이터
  • 43. EclipseMR의 아키텍처 File Read 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 4) Search_InMemory(Hash(Chunk)) - 인메모리 캐시에서 히트 발생 기대 Chunk-1 Chunk-2 5) If Cache Miss → DHT 파일시스템에서 읽어 캐시에 저장
  • 44. EclipseMR의 아키텍처 Load Balancing 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Q: 만약 Hash 키 13,14,15 가 다른 키에 비해 무수히 많이 엑세스 된다면? A1: Migration A2: Replication
  • 45. Cache Migration/Replication: - 인메모리 캐시의 데이터를 이웃 노드로 복제 혹은 이동 - 마이그레이션 알고리즘: - Locality-aware Fair 스케줄러 - 인메모리 캐시의 Hash 경계선을 움직여 로드밸런싱 유지 EclipseMR의 아키텍처 Load Balancing 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13
  • 46. - 만일 Application이 key13을 읽기 위해 노드 12의 인메모리 캐쉬 검색. - Cache Miss 발생 시 로컬디스크가 아닌 이웃한 노드 15에서 읽어야함 → 성능 저하 - But! 15에 저장된 데이터들은 12에 복제 되어 있어 Local에서 읽음 - 경계가 극단적으로 변하지 않는 이상 로컬 리티 보장 EclipseMR의 아키텍처 Remote Data Access 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13
  • 47. - 로드밸런싱을 위해 Hash Key 경계선을 움직일 경우, Hash Key 경계선의 Decentralization이 어려움 - Leader Election 을 통해 Hash Key 경계선과 Job Scheduling을 담당할 Frontend 노드를 P2P로 결정 EclipseMR의 아키텍처 In-Memory Hash Key Boundary 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13
  • 48. - 최근 데이터 액세스 분포를 사용하여 Hash Key 경계를 분할 Locality-aware Fair Scheduler In-Memory Hash Key Boundary Management 14 150 1 2 3 4 5 6 7 8 9 10 11 12 13
  • 49. Locality-aware Fair Scheduler In-Memory Hash Key Boundary Management 0 0.2 0.4 0.6 0.8 1 0 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 126 132 138 CDF server 1: [0,35) server 2: [35,47) server 3: [47,91) server 4: [91,102) server 5: [102,140) new task T1 (HK=43) new task T2 (HK=69)
  • 50. EclipseMR 에서의 MapReduce Job Scheduler A A B C D E F B C D E F 5 5 11 15 18 26 38 39 47 57 55 EclipseMR MR application 1 1 2 3 4 4 5 5 3 6 reduce tasks 6 Serv er Hash Key Range A [57~5) B [5,11) C [11,18) D [18,39) E [39,48) F [48,57) - accesses a file (hash key=38) : data block 5 & 56
  • 51. EclipseMR vs Hadoop & Spark 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 PageRank Sort Word Count Grep KMeans NormalizedExecutionTime EclipseMR Hadoop Spark 25x 3x 50x 6x 50x
  • 53. Ongoing Works MachineLearning on EclipseMR - GPU ML 패키지와 EclipseMR의 통합 Hadoop에서 GPU를 쓰는건 너무 어려워요. WORLD'S LARGEST ARTIFICIAL NEURAL NETWORKS WITH GPU Source: Stanford Al Lab
  • 54. Ongoing Works Cassandra/NoSQL - Cassandra 와 EclipseMR의 통합 - NewSQL on EclipseMR DHT 인메모리 캐싱/RDMA 를 활용한 고속 NewSQL 엔진 개발 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 {13,14,15} {0,1} {2,3,4} {5,6,7} {8,9,10,11,12}
  • 55. Ongoing Works MPI/RDMA - 수퍼컴퓨팅 SGE/SLURM 환경에서 수행 가능 EclipseMR은 Hadoop 디 몬이 필요 없으니 수행 가 능합니다. mpirun으로 수 행하세요. 빅데이터처리
  • 56. 맺음말 HPC & Big Data는 공통 과제를 함께 해결 - HPC의 Scale-up technologies를 BigData에 우선 적용 - UNIST 수퍼컴퓨팅센터/초고성능 빅데이터 사업단 - EclipseMR 및 다양한 HPC + BigData 연구 중
  • 57. Q&A