Name of presentation

Download Report

Transcript Name of presentation

A Survey on Cloud Computing
DBLAB 정규세미나
2012.03.25(월)
Tae Hoon Kim
Technical Report 2009
Amit Goyal, Sara Dadizadeh
University of British Columbia, Vancouver
copyright©2013.03.25 KimTaeHoon all right reserved
Contents
Introduction
Map-Reduce
– Programing Model
– Implementation
Recent Extensions to Map-Reduce
Other Frameworks
Challenges Facing The Cloud
Conclusion
Introduction
Google, Yahoo,Facebook의 서비스
향상을 위한 terabytes급 데이터 생성
– Advertising strategies
– User satisfaction
– 실시간 처리시, high-end online 응용 필요
• 클라우드 컴퓨팅 기술 출현
클라우드 컴퓨팅
– dynamic한 확장가능
– virtualized된 자원들을 인터넷상의 서비스로서
제공
– 전기 비용, 대역폭, op, h/w 비용의 감소
3/28
Introduction
Writing efficient parallel,
distributed application의 문제
– Google의 MapReduce를 프로그래밍한 프레임
워크 제안[Dean and Ghemawat 2004]
MapReduce
– Map function, Reduce function
Hadoop
– Open source implementation MapReduce;
most popular
– 대학, 개인 사용자, 조직(Apache, Yahoo,
Facebook, IBM, Microsoft, etc…)등 채택
4/28
Introduction
Heterogeneous environment 내
Hadoop schedule performance 문제점
확인
제안하는 해결 방안
– Longest Approximate Time to End(LATE)
• Improvement in response times
– DryadLINQ
• General purpose execution environment for
distributed
5/28
Introduction
서드 파티 서버 상의 데이터에
위험이 존재
– Data confidentiality(데이터 은닉)
– Security & integrity(무결성)
In this paper, 탐구하는 내용
– Immense scale 컴퓨팅을 위한 resource를
제공하는 framework
– Discuss the confidentiality, security, integrity
challenges
6/28
Map-Reduce(Programing
Model)
Map
– (Key, Value)쌍을 입력으로 갖고,
중간계층의(intermediate) (Key, Value)쌍을
생성
• (a,’1’) (a,’1’) (b,’1’) (b,’1’) (a,’1’)
Reduce
– 중간계층의 키와 연관된 모든 쌍을 합병
• a,3 b,2
7/28
Map-Reduce(Execution
overview)
ACTION
마스터
Mapper는 file splits를 read ▷ User-defined Logic(Map Function) 적용
▷ Output을 local file system에 store
8/28
Map-Reduce(Fault Tolerance)
Machine failure를 위하여 쉽게 다루기
위해 간략하게 설계
Master는 mapper와 reducer에게
주기적으로 ping을 날림
– 무응답시 : failed라고 mark처리
– Mapper의 task가 끝났을 시 : scratch로부터 다른
기계를 Master에게 re-assign, initial state를 reset
– 완전한 reduce task는 재실행이 필요가 없음
• Is stored in the global file system.
9/28
Map-Reduce(Locality)
Map-Reduce Master
– location information사용
– Corresponding input data 복제본을 소유한
machine상에 map task 스케쥴 수행
– 실패시, 데이터에서 가장 가까운 machine상의 map
task를 scheduling
10/28
Map-Reduce(Backup Task)
MapReduce operation이 끝날 경우
마스터는 남아 있는 수행중인 task의
backup execution을 스케쥴
Task가 끝날 때, primary혹은 backup
execution은 complete될 때마다
marked함
– large MapReduce Operation을 완료시키기
위한 time을 줄임
11/28
Recent Extentions to MapReduce
검색엔진이 DBMS에 초점을 두어
왔으나, 프로세싱, 인덱싱,
커스터마이징등, 문제점이 존재
DBMS operation을 위한 MapReduce
framework 확장을 시도
대부분의 DBMS의 operation은 join
– Innter-join, outer-join, self-join
• Nested loops, merge-join, hash-join
12/28
Recent Extentions to MapReduce
MapReduce는 검색엔진의 데이터
프로세싱 문제를 위해 디자인 됨
– Processing homogeneous(성질이 같은) dataset에
초첨을 둠
MapReduce의 문제점
– Not clean, in efficient; heterogenous(성질이 다른)의
joining multiple 데이터셋은 MapReduce framework에
알맞지 않음
문제점을 해결하기 위해 merge개념을 추가
시킨 extend model Map-Reduce 제안
13/28
Recent Extentions to MapReduce(Map-Reduce-Merge)
알파와, 베타는 서로 다른 혈족(lineage),
이것이 merge되 새로운 혈족인 감마를
생성
차통신 디비랩
– 만약 알파와 베타가 같으면 self-join
제안방법으로 두 문제점 해결
가능
차디위너
14/28
Recent Extentions to MapReduce
Hadoop의 스케쥴러 의존
– 클러스터 노드가 homogeneous
– Progress linearly, re-execute(backup)
Hadoop 스케쥴러는 가상화된 데이터
센터에는 부적절
– EC2(Amazon Elastic Compute Cloud); heterogenous
환경 내 성능이 저하(response time의 저하)
LATE(Longest Approximate Time to
End)제안
– Hadoop’ response time 향상
15/28
Recent Extentions to MapReduce(Hadoop 스케쥴러)
Score
– Map
• Progress score는 input data read의 마찰(friction)
– Reduce
• 1.Copy phase : task가 map output에 fetch 될 때
• 2.Sort phase : map output들이 key에 의해 sort 될
때
• 3.Reduce phase : user-define function이 각 키를
가진 map list에 적용시
Score는 data processed의 fraction
16/28
Recent Extentions to MapReduce(Hadoop 스케쥴러)
하둡 측면에서
– Straggler를 확인하기 위해 threshold(임계치) 정의
– 각 task 카테고리의 score 평균치가 -0.2 혹은
task수행이 1분을 넘을 경우 stragger로 mark
기존 스케쥴러 assumption
– I) Nodes는 같은 비율로 work 수행 가능
– II)constant rate throughtout time의 task를 progress
– III) Node상의 speculative backup task를 런칭하는
cost가 없음
– IV). task progress score는 total work fraction의
representive하고 reduce task는 1/3의 실행 시간을
가짐
17/28
Recent Extentions to MapReduce(Hadoop 스케쥴러)
기존 스케쥴러 assumption
– V) task는 wave내 끝내려는 경향이 있음, low
progress score는 straggler
– VI) 같은 카테고리의 task는 대략 같은 량의 work를
요구
스케쥴러의 문제점
– pay-by-the-hour환경에서는 backup task를 launch하기
위한 attached 비용이 존재하기 때문에 III는 타당치
않음
18/28
Recent Extentions to MapReduce(LATE)
Hadoop
스케쥴러
Focusing progress score
LATE
스케쥴러
Vs
Focusing expected time left
LATE 스케쥴러의 estimate
– (1 – ProgressScore)/T ; T는 running해온 amount of time
1)휴리스틱해서
fail할 수 있으나, Hadoop
jobs은 비교적 효율적
1)Heuristic : 명확한 답이 없는 문제를 경험, 직관, 시행착오를 통해 점점
만족스러운 설계로 발전시키는 과정
19/28
Other Frameworks(Dryad)
마이크로소프트사의 클라우드 컴퓨팅
프레임워크
– 분산된 클라우드 컴퓨팅 프레임 워크
– 다양한 계정 요소들을 가진 컴퓨터의 job scheduling
– Falut tolerance, vertices 사이의 data transportation
Job Manger
–
–
–
–
–
1.Instantiating a jobs data
2.Determining constraints and hits to guide scheduling
3.Providing fault-tolerance
4.Monitoring the job and collecting statistics
5.transforming the job graph dynamically according to
user-supplied policies.
20/28
Other Frameworks(Query
Based Frame works)
Yahoo, Google, Microsoft는 low-level상의
query based framework를 개발
– Google : developed MapReduce
– Yahoo : developed PigLatin
– Microsoft : developed DryadLINQ ; based on Drayd
and LINQ
상위 기업들의 task를 High-level SQL-Like
쿼리들로 표현이 가능
– 기업들이 organiziation하는 application의 개발시간의
감소
21/28
Challenges Facing The Cloud
(Data confidentiality)
Client측면
– secure 과 untrusted cloud의 private 보장 필요
Cryptographic method
– Large dataset를 다룰 때 hash tree사용
– 로컬 메모리 내 hash에 저장된 remote data 무결성
확인
– Hash의 받은 데이터를 re-calculating함으로서 서버
응답의 authenticating
– Locally stored value를 comparing
최근 cryptographic method의 효율성에
초점을 둠
22/28
Challenges Facing The Cloud
(Data Retrievability and Availability)
Proofs of retrievability(PORs)
– Provider로부터 허락된 한 스키마는 높은
확률로 복원 가능
– File을 암호화 하고 저장하기 전 파일내 random
block 의 additional information을 inject
– POR System은 static files에만 protect, Single
Server Evironment에 된다는 문제점이 존재
PORs System문제점 개선
– [Wang et al. 2009]의 dynamic operation 지원
– High-Availability and Integity Layer(HAIL)
• PORs를 각 서버 위에 배치, 활동시
protection를 제공
23/28
Challenges Facing The Cloud
(Trusting Computation)
Cloud Computing호스트 환경에서,
암호화 되지 않은 데이터가 메모리상에
존재
– 누구나 호스트 상의 데이터를 읽거나, 조작이
가능한한 문제점 존재
Trusted Cloud Execution Environment
(platform called Terra)
– Closed box execution environment
– Used Trusted Virtual Machine Monitor(TVMM)
– 신뢰된 TC를 가진 TVMM의 결합, Stronger
guarantees 제공
24/28
TVMM
로그
N1기록
N2기록
TC(hosted ETE) : 신뢰된 node 집합 관리
– VM securely하게 실행 가능
TC와 IaaS Perimeter가 secure하다는
가정하에 구성
25/28
Challenges Facing The Cloud
(Accountability, 책임)
어떠한 외부 공격자로부터 데이터가
유출 되었을 경우
– Client의 fault ?, Service Provider의 fault ?
– Provider는 발생하는 문제를 Client 의 S/W를
비난하는 반면, Client는 Provider를 비난
책임 notion 제안
– faults can be reliably detected
– each fault can be undeniably linked to at least
one faulty node
Client called AUDIT(A, S t1, t2)
– A:fullfilled aggrement, S:Service, t1, t2:time
interval
26/28
Challenges Facing The Cloud
(Accountability, 책임)
Client called AUDIT(A, S t1, t2)
– 사전 대책이나, 원인 규명 가능
Accountability의 goal
–
–
–
–
Tamper(간섭)-evident logs
Virtualization-based replay
Trusted times tampling
Checkpoint를 이용한 sampling
Accountable cloud는 아직도 디자인되고
있고, 엑세스 할 수 있는 성능에 관한 문제가
존재
27/28
Conclusion
클라우드
– 고객들에게 서비스를 제공하기 위한 인프라스트럭쳐
제공
프레임 워크
– Debuggers의 framework 환경인 한편,
네이브(Naive)하지도 않고, 효율적이지 않음
– MapReduce는 most popular framework like Dryad
보안상의 관점
heterogenous 의 다이나믹 스케쥴은
여전히 issue
28/28