1 / 24

6. 클러스터링 ( Clustering)

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

dena
Download Presentation

6. 클러스터링 ( Clustering)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 6. 클러스터링 (Clustering) - 분 산 시 스 템 - 국립 창원대학교 컴퓨터공학과 이광휘 http://csl.changwon.ac.kr/

  2. 병렬 처리 방식 (1/5) • 병렬 처리 기술의 구분 • SMP (Symmetric Multiprocessing, 대칭형 다중 처리) • NUMA (Non-Uniform Memory Access, 비정형 메모리 액세스) • MPP (Massively Parallel Processing, 초 병렬 처리)

  3. 병렬 처리 방식 (2/5) • SMP (Symmetric Multiprocessing) • 여러 개의 프로세서를 탑재한 병렬 컴퓨터 • 운영 체제이든 사용자 응용 프로그램이든 종류와 특징에 상관없이 시스템에 존재하는 모든 프로세서를 사용할 수 있다는 스레드 관점의 개념 • 운영 체제와 메모리를 공유하는 여러 프로세서가 프로그램을 수행하는 것 • 보통의 경우 2개의 프로세서 또는 4개의 프로세서로 구성함 • SMP 시스템 자체가 단일의 I/O와 메모리를 공유하기 때문에 병목 현상이 생길 수 있으며, 그 부하로 인하여 더 이상의 프로세스 추가는 성능 향상 측면에서 일반적으로 비효율적임

  4. 병렬 처리 방식 (3/5) • NUMA (Non-Uniform Memory Access) • 분산 공유 메모리의 일종으로 하나의 집중된 물리적 메모리가 아닌 공유 메모리 세그먼트의 집합을 사용 • 몇 개의 프로세서들 간에 중간 단계의 공유 메모리를 추가함으로써 모든 데이터 액세스가 주 버스 상에서 움직이지 않아도 됨 • 기존의 SMP 시스템보다 프로세서의 수를 크게 늘릴 수 있음

  5. 병렬 처리 방식 (4/5) • MPP (Massively Parallel Processing) • 하나의 CPU, 하나의 메모리, 하나의 OS로 구성된 여러 노드들을 독점된 상호 연결로 결합한 구성 • 수백 내지 수천 개의 프로세서를 사용하여 시스템을 구성하기에 쉬움 • 매우 빠른 프로세서를 사용하는 일반 슈퍼컴퓨터(vector supercomputer)의 속도를 능가할 수 있는 새로운 구조의 슈퍼컴퓨터

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

  7. 클러스터 개요 (1/3) • 클러스터(Cluster)란 • 여러 대의 개인 PC나 소형 서버 등을 네트워크 장비를 사용해 연결하여 구성한 일종의 병렬 처리용 슈퍼컴퓨터 • 가격이 저렴한 소형 장비를 이용하여 초고가의 슈퍼컴퓨터를 대체하고자 하는 의도에서 생겨난 개념

  8. 클러스터 개요 (2/3) • 클러스터 컴퓨터의 특징 • 동급의 파워에 대하여 슈퍼컴퓨터보다 가격이 저렴함 • 확장성이 기존의 슈퍼컴퓨터보다 훨씬 뛰어남 • 구성의 유연성으로 인하여 세미-맞춤형 슈퍼컴퓨터라고 할 수 있음 • 하드웨어 부품의 선택, 운영 체제, 미들웨어, 사용자 소프트웨어 등을 해결하고자 문제에 맞추어 선택 가능

  9. 클러스터 개요 (3/3) • 클러스터의 구성 요소 • 클러스터 노드 • 실질적인 작업을 처리하는 시스템 • 클러스터 관리자 • 각 노드에 대한 자원 분배 및 관리를 할 수 있는 기능을 가짐

  10. 클러스터 시스템 (1/3) • 기본 구조 • 하드웨어  운영 체제  클러스터 소프트웨어  응용 프로그램 • 클러스터링의 주목 • 리눅스의 인기에 기인함 • 오픈 소스 • 무료이거나 타 운영 체제에 비하여 훨씬 저렴 • 공식적으로 성능을 인정 받고 있음

  11. 클러스터 시스템 (2/3) • 클러스터링 소프트웨어 • 클러스터링을 위해서는 다양한 소프트웨어 지원과 사용자를 위한 API(Application Programming Interface) 프로그램이 필수적임 • 대표적인 API 두 가지 • PVM (Parallel Virtual Machine) • MPI (Message Passing Interface) • API를 기반으로 하여 클러스터 파일 시스템, 클러스터 관리 프로그램, 기타 응용 프로그램을 제작해야 함

  12. 클러스터 시스템 (3/3) • 클러스터의 종류 • HA (High Availability) 클러스터 • 여러 대의 컴퓨터를 묶어서 시스템 고장에 대비 • 효율적인 운용과부하 분산을 위하여 로드 밸런싱(load balancing)을 함 • HPC (High Performance Computing) 클러스터 • 여러 대의 컴퓨터를 묶어서 성능을 높이고자 함 • MPP, Beowulf Cluster, Grid 등 다양한 종류가 있음

  13. 클러스터의 부하 조정 (1/5) • 클러스터 스케줄링 알고리즘 • 라운드 로빈 스케줄링 (Round-Robin Scheduling) • 가중치 기반 라운드 로빈 스케줄링 (Weighted Round-Robin Scheduling) • 최소 접속 스케줄링 (Least-Connection Scheduling) • 가중치 기반 최소 접속 스케줄링 (Weighted Least-Connection Scheduling)

  14. 클러스터의 부하 조정 (2/5) • 라운드 로빈 스케줄링 • 모든 상황을 무시하고 단순하게 요청을 전달해주는 형태 • 서버의 사양이 동일하고 같은 네트워크 상이라면 가장 단순하고 효율적임

  15. 클러스터의 부하 조정 (3/5) • 가중치 기반 라운드 로빈 스케줄링 • 특정 서버에 가중치를 부여함으로써 특정한 요청을 더 많이 전달하고 싶을 때 사용하는 방식 • 실제 서버들 사이에 동적인 부하 불균형이 생길 수 있음

  16. 클러스터의 부하 조정 (4/5) • 최소 접속 스케줄링 • 가장 접속이 적은 서버로 요청을 직접 연결하는 방식 • 동적인 스케줄링 알고리즘 중의 하나임 • 접속 부하가 큰 경우에도 효과적으로 분산을 수행함 • 다양한 처리 용량을 지닌 서버로 구성되어 있을 경우에는 부하 분산이 효율적으로 되지 못할 수도 있음

  17. 클러스터의 부하 조정 (5/5) • 가중치 기반 최소 접속 스케줄링 • 최소 접속 스케줄링의 한 부분으로서 각각의 실제 서버에 가중치를 부여 • 가중치의 비율인 실제 접속자수에 따라 네트워크 접속이 할당됨

  18. 베어울프(Beowulf) 클러스터 (1/2) • 베어울프 클러스터란 • 분산되어 있는 여러 PC들을 네트워크로 연결하여 빠른 계산 성능을 발휘하도록 구성하는 것으로서 클러스터 구성 방식 중의 하나 • 베어울프 클러스터의 시작과 성공 • 1994년 NASA의 FSFC (Goddard Space Flight Center)에서 리눅스 운영 체제와 표준 소프트웨어 툴킷들을 사용하여 16노드로 구성한 것이 최초의 베어울프 클러스터임 • 가격대 성능 비를 최대화하기 위한 목적으로 만들어짐 • 마이크로프로세서와 네트워크 장비의 급속한 발전과 가격 하락

  19. 베어울프(Beowulf) 클러스터 (2/2) • 베어울프 클러스터의 구성 예 • 영화 타이타닉(Titanic)에서의 영화 장면, 배경 그림, 렌더링 • 서울시립대학교의 리눅스 슈퍼컴퓨터 • TOP500 사이트에 의하면 2003년 6월 기준세계 392위 • Pentium-IV 2.0 GHz의 PC를 256대 연결하여 512 GFlops급 성능 발휘

  20. Statistics (1/4)

  21. Statistics (2/4)

  22. Statistics (3/4)

  23. Statistics (4/4)

  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/

More Related