6. 클러스터링 ( clustering)

24
6. 6. 클클클클클 클클클클클 ( ( Clustering) Clustering) - - 클 클 클 클 클 클 클 클 클 클 - 국국 국국국국국 국국국국국국 국국국 http://csl.changwon.ac.kr/

Upload: dena

Post on 18-Jan-2016

74 views

Category:

Documents


0 download

DESCRIPTION

6. 클러스터링 ( Clustering). - 분 산 시 스 템 -. 국립 창원대학교 컴퓨터공학과 이광휘 http://csl.changwon.ac.kr/. 병렬 처리 방식 (1/5). 병렬 처리 기술의 구분 SMP (Symmetric Multiprocessing, 대칭형 다중 처리) NUMA (Non-Uniform Memory Access, 비정형 메모리 액세스) MPP (Massively Parallel Processing, 초 병렬 처리). 병렬 처리 방식 (2/5). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 6.  클러스터링 ( Clustering)

6. 6. 클러스터링 클러스터링 ((Clustering)Clustering)

- - 분 산 시 스 템 분 산 시 스 템 --

국립 창원대학교 컴퓨터공학과 이광휘

http://csl.changwon.ac.kr/

Page 2: 6.  클러스터링 ( Clustering)

2국립 창원대학교 컴퓨터공학과

병렬 처리 방식 병렬 처리 방식 (1/5)(1/5)

병렬 처리 기술의 구분병렬 처리 기술의 구분

SMP (Symmetric Multiprocessing, 대칭형 다중 처리 )

NUMA (Non-Uniform Memory Access, 비정형 메모리 액세스 )

MPP (Massively Parallel Processing, 초 병렬 처리 )

Page 3: 6.  클러스터링 ( Clustering)

3국립 창원대학교 컴퓨터공학과

병렬 처리 방식 병렬 처리 방식 (2/5)(2/5)

SMP (Symmetric MultiprocessingSMP (Symmetric Multiprocessing))

여러 개의 프로세서를 탑재한 병렬 컴퓨터

운영 체제이든 사용자 응용 프로그램이든 종류와 특징에 상관없이 시스템에

존재하는 모든 프로세서를 사용할 수 있다는 스레드 관점의 개념

운영 체제와 메모리를 공유하는 여러 프로세서가 프로그램을 수행하는 것

보통의 경우 2 개의 프로세서 또는 4 개의 프로세서로 구성함

SMP 시스템 자체가 단일의 I/O 와 메모리를 공유하기 때문에 병목 현상이

생길 수 있으며 , 그 부하로 인하여 더 이상의 프로세스 추가는 성능 향상

측면에서 일반적으로 비효율적임

Page 4: 6.  클러스터링 ( Clustering)

4국립 창원대학교 컴퓨터공학과

병렬 처리 방식 병렬 처리 방식 (3/5)(3/5)

NUMA (Non-Uniform Memory AccessNUMA (Non-Uniform Memory Access))

분산 공유 메모리의 일종으로 하나의 집중된 물리적 메모리가 아닌 공유

메모리 세그먼트의 집합을 사용

몇 개의 프로세서들 간에 중간 단계의 공유 메모리를 추가함으로써 모든

데이터 액세스가 주 버스 상에서 움직이지 않아도 됨

기존의 SMP 시스템보다 프로세서의 수를 크게 늘릴 수 있음

Page 5: 6.  클러스터링 ( Clustering)

5국립 창원대학교 컴퓨터공학과

병렬 처리 방식 병렬 처리 방식 (4/5)(4/5)

MPP (Massively Parallel ProcessingMPP (Massively Parallel Processing))

하나의 CPU, 하나의 메모리 , 하나의 OS 로 구성된 여러 노드들을 독점된

상호 연결로 결합한 구성

수백 내지 수천 개의 프로세서를 사용하여 시스템을 구성하기에 쉬움

매우 빠른 프로세서를 사용하는 일반 슈퍼컴퓨터 (vector supercomputer)

의 속도를 능가할 수 있는 새로운 구조의 슈퍼컴퓨터

Page 6: 6.  클러스터링 ( Clustering)

6국립 창원대학교 컴퓨터공학과

병렬 처리 방식 병렬 처리 방식 (5/5)(5/5)

비교 항목 SMP NUMA MPP

구조시스템 버스와 같은 인터커넥션을 통해 프로세서 , 메모리 , I/O 등의 시스템 자원을 균등하게 공유하는 구조

복수 개의 CPU 보드를 연결하여 통합된 멀티프로세서 시스템을 만드는 구조

개별 프로세서 , 메모리 , I/O 등의 시스템 자원을 가지는 노드들을 독점된 상호 연결로 결합한 구성

운영 형태하나의 OS 커널이 존재 ,표준 개방형 OS 지원

표준의 개방형 OS 지원 각 노드별로 OS 커널 존재 ,표준 개방형 OS 지원을 안 함

Interconnection멀티프로세싱 , 멀티스레딩 , 메모리 공유 프로그래밍 / 통신 방식

글로벌 메모리 공유 방식 데이터 병렬 처리 또는 메시지 패싱 프로그래밍 방식

데이터 전달 방식공유 메모리에 직접 접근 공유 메모리 접근 및 로컬 캐시 메모리

사용명시적인 메시지 전달

원격 데이터 접근 자동 패킷 전송 주소 변환 , 메시지 전달

프로그래밍프로그래밍 용이 ,표준화된 개발 툴이 다양

프로그래밍이 용이 프로그래밍이 어려움 ,불완전한 병렬 S/W 제공

확장성업무량 증가 또는 추가시 단위 SMP

내에서 CPU, 메모리 등을 증설 가능일정 규모까지 시스템 규모 내에서 증설 가능 또는 시스템 노드를 증가

일정 규모까지 시스템 규모 내에서 증설 가능 또는 시스템 노드를 증가

안정성

H/W 이중화 및 이중 운영 기능 ,장애 발생의 자동 감지 및 장애 부분 단절 기능 ,디스크 미러링

H/W 이중화 및 상호 감시 ,장애의 자동 감지 및 자동 절환 ,디스크 미러링

어플리케이션 다양한 유틸리티 지원 극히 제한됨

가격 저 , 중가 중 , 고가 고가

Page 7: 6.  클러스터링 ( Clustering)

7국립 창원대학교 컴퓨터공학과

클러스터 개요 클러스터 개요 (1/3)(1/3)

클러스터클러스터 ((Cluster)Cluster) 란란

여러 대의 개인 PC 나 소형 서버 등을 네트워크 장비를 사용해 연결하여

구성한 일종의 병렬 처리용 슈퍼컴퓨터

가격이 저렴한 소형 장비를 이용하여 초고가의 슈퍼컴퓨터를 대체하고자

하는 의도에서 생겨난 개념

Page 8: 6.  클러스터링 ( Clustering)

8국립 창원대학교 컴퓨터공학과

클러스터 개요 클러스터 개요 (2/3)(2/3)

클러스터 컴퓨터의 특징클러스터 컴퓨터의 특징

동급의 파워에 대하여 슈퍼컴퓨터보다 가격이 저렴함

확장성이 기존의 슈퍼컴퓨터보다 훨씬 뛰어남

구성의 유연성으로 인하여 세미 -맞춤형 슈퍼컴퓨터라고 할 수 있음

하드웨어 부품의 선택 , 운영 체제 , 미들웨어 , 사용자 소프트웨어 등을

해결하고자 문제에 맞추어 선택 가능

Page 9: 6.  클러스터링 ( Clustering)

9국립 창원대학교 컴퓨터공학과

클러스터 개요 클러스터 개요 (3/3)(3/3)

클러스터의 구성 요소클러스터의 구성 요소

클러스터 노드

실질적인 작업을 처리하는 시스템

클러스터 관리자

각 노드에 대한 자원 분배 및 관리를 할 수 있는 기능을 가짐

Page 10: 6.  클러스터링 ( Clustering)

10국립 창원대학교 컴퓨터공학과

클러스터 시스템 클러스터 시스템 (1/3)(1/3)

기본 구조기본 구조

하드웨어 운영 체제 클러스터 소프트웨어 응용 프로그램

클러스터링의 주목클러스터링의 주목

리눅스의 인기에 기인함

오픈 소스

무료이거나 타 운영 체제에 비하여 훨씬 저렴

공식적으로 성능을 인정 받고 있음

Page 11: 6.  클러스터링 ( Clustering)

11국립 창원대학교 컴퓨터공학과

클러스터 시스템 클러스터 시스템 (2/3)(2/3)

클러스터링 소프트웨어클러스터링 소프트웨어

클러스터링을 위해서는 다양한 소프트웨어 지원과 사용자를 위한

API(Application Programming Interface) 프로그램이 필수적임

대표적인 API 두 가지

PVM (Parallel Virtual Machine)

MPI (Message Passing Interface)

API 를 기반으로 하여 클러스터 파일 시스템 , 클러스터 관리 프로그램 ,

기타 응용 프로그램을 제작해야 함

Page 12: 6.  클러스터링 ( Clustering)

12국립 창원대학교 컴퓨터공학과

클러스터 시스템 클러스터 시스템 (3/3)(3/3)

클러스터의 종류클러스터의 종류

HA (High Availability) 클러스터

여러 대의 컴퓨터를 묶어서 시스템 고장에 대비

효율적인 운용과 부하 분산을 위하여 로드 밸런싱 (load balancing) 을

HPC (High Performance Computing) 클러스터

여러 대의 컴퓨터를 묶어서 성능을 높이고자 함

MPP, Beowulf Cluster, Grid 등 다양한 종류가 있음

Page 13: 6.  클러스터링 ( Clustering)

13국립 창원대학교 컴퓨터공학과

클러스터의 부하 조정 클러스터의 부하 조정 (1/5)(1/5)

클러스터 스케줄링 알고리즘클러스터 스케줄링 알고리즘

라운드 로빈 스케줄링 (Round-Robin Scheduling)

가중치 기반 라운드 로빈 스케줄링 (Weighted Round-Robin Scheduling)

최소 접속 스케줄링 (Least-Connection Scheduling)

가중치 기반 최소 접속 스케줄링 (Weighted Least-Connection

Scheduling)

Page 14: 6.  클러스터링 ( Clustering)

14국립 창원대학교 컴퓨터공학과

클러스터의 부하 조정 클러스터의 부하 조정 (2/5)(2/5)

라운드 로빈 스케줄링라운드 로빈 스케줄링

모든 상황을 무시하고 단순하게 요청을 전달해주는 형태

서버의 사양이 동일하고 같은 네트워크 상이라면 가장 단순하고 효율적임

Page 15: 6.  클러스터링 ( Clustering)

15국립 창원대학교 컴퓨터공학과

클러스터의 부하 조정 클러스터의 부하 조정 (3/5)(3/5)

가중치 기반 라운드 로빈 스케줄링가중치 기반 라운드 로빈 스케줄링

특정 서버에 가중치를 부여함으로써 특정한 요청을 더 많이 전달하고 싶을

때 사용하는 방식

실제 서버들 사이에 동적인 부하 불균형이 생길 수 있음

Page 16: 6.  클러스터링 ( Clustering)

16국립 창원대학교 컴퓨터공학과

클러스터의 부하 조정 클러스터의 부하 조정 (4/5)(4/5)

최소 접속 스케줄링최소 접속 스케줄링

가장 접속이 적은 서버로 요청을 직접 연결하는 방식

동적인 스케줄링 알고리즘 중의 하나임

접속 부하가 큰 경우에도 효과적으로 분산을 수행함

다양한 처리 용량을 지닌 서버로 구성되어 있을 경우에는 부하 분산이

효율적으로 되지 못할 수도 있음

Page 17: 6.  클러스터링 ( Clustering)

17국립 창원대학교 컴퓨터공학과

클러스터의 부하 조정 클러스터의 부하 조정 (5/5)(5/5)

가중치 기반 최소 접속 스케줄링가중치 기반 최소 접속 스케줄링

최소 접속 스케줄링의 한 부분으로서 각각의 실제 서버에 가중치를 부여

가중치의 비율인 실제 접속자수에 따라 네트워크 접속이 할당됨

Page 18: 6.  클러스터링 ( Clustering)

18국립 창원대학교 컴퓨터공학과

베어울프베어울프 ((Beowulf) Beowulf) 클러스터 클러스터 (1/2)(1/2)

베어울프 클러스터란베어울프 클러스터란

분산되어 있는 여러 PC 들을 네트워크로 연결하여 빠른 계산 성능을

발휘하도록 구성하는 것으로서 클러스터 구성 방식 중의 하나

베어울프 클러스터의 시작과 성공베어울프 클러스터의 시작과 성공

1994년 NASA 의 FSFC (Goddard Space Flight Center) 에서 리눅스

운영 체제와 표준 소프트웨어 툴킷들을 사용하여 16노드로 구성한 것이

최초의 베어울프 클러스터임

가격대 성능 비를 최대화하기 위한 목적으로 만들어짐

마이크로프로세서와 네트워크 장비의 급속한 발전과 가격 하락

Page 19: 6.  클러스터링 ( Clustering)

19국립 창원대학교 컴퓨터공학과

베어울프베어울프 ((Beowulf) Beowulf) 클러스터 클러스터 (2/2)(2/2)

베어울프 클러스터의 구성 예베어울프 클러스터의 구성 예

영화 타이타닉 (Titanic) 에서의 영화 장면 , 배경 그림 , 렌더링

서울시립대학교의 리눅스 슈퍼컴퓨터

TOP500 사이트에 의하면 2003년 6 월 기준 세계 392 위

Pentium-IV 2.0 GHz 의 PC 를 256대 연결하여 512 GFlops 급 성능

발휘

Page 20: 6.  클러스터링 ( Clustering)

20국립 창원대학교 컴퓨터공학과

Statistics (1/4)Statistics (1/4)

Page 21: 6.  클러스터링 ( Clustering)

21국립 창원대학교 컴퓨터공학과

Statistics (2/4)Statistics (2/4)

Page 22: 6.  클러스터링 ( Clustering)

22국립 창원대학교 컴퓨터공학과

Statistics (3/4)Statistics (3/4)

Page 23: 6.  클러스터링 ( Clustering)

23국립 창원대학교 컴퓨터공학과

Statistics (4/4)Statistics (4/4)

Page 24: 6.  클러스터링 ( Clustering)

24국립 창원대학교 컴퓨터공학과

관련 사이트관련 사이트

TOP500 Supercomputer, http://www.top500.org/

Beowulf Cluster, http://www.beowulf.org/

MPI Forum, http://www.mpi-forum.org/

PVM, http://www.epm.ornl.gov/pvm/