24
16 16분산처리 분산처리 클라이언트 클라이언트/서버 서버 16 16분산처리 분산처리, , 클라이언트 클라이언트/서버 서버, 클러스터 클러스터 클러스터 클러스터 16 16장의 장의 강의 강의 목표 목표 클라이언트 클라이언트/서버 서버 컴퓨팅의 컴퓨팅의 개념과 개념과 구조 구조, , 그리고 그리고 응용에 응용에 대해서 대해서 이해한다 이해한다 대해서 대해서 이해한다 이해한다. 분산 분산 메시지 메시지 전달 전달 기법에 기법에 대해서 대해서 이해한다 이해한다. 원격 원격 프로시저 프로시저 호출 호출 기법에 기법에 대해서 대해서 이해한다 이해한다. 클러스터의 클러스터의 개념과 개념과 구성 구성, 설계 설계 이슈에 이슈에 대해서 대해서 이해한다 이해한다. 클러스터의 클러스터의 개념과 개념과 구성 구성, , 설계 설계 이슈에 이슈에 대해서 대해서 이해한다 이해한다. Windows Windows 클러스터 클러스터 서버 서버 구조에 구조에 대해서 대해서 이해한다 이해한다. S 클러스터 클러스터 구조에 구조에 대해서 대해서 이해한다 이해한다 Sun Sun 클러스터 클러스터 구조에 구조에 대해서 대해서 이해한다 이해한다. Beowulf Beowulf와 Linux Linux 클러스터 클러스터 구조에 구조에 대해서 대해서 이해한다 이해한다. 2 분산처리

16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

1616장장 분산처리분산처리 클라이언트클라이언트//서버서버1616장장 분산처리분산처리, , 클라이언트클라이언트//서버서버,,클러스터클러스터클러스터클러스터

1616장의장의 강의강의 목표목표

•• 클라이언트클라이언트//서버서버 컴퓨팅의컴퓨팅의 개념과개념과 구조구조, , 그리고그리고 응용에응용에대해서대해서 이해한다이해한다대해서대해서 이해한다이해한다..

•• 분산분산 메시지메시지 전달전달 기법에기법에 대해서대해서 이해한다이해한다..

•• 원격원격 프로시저프로시저 호출호출 기법에기법에 대해서대해서 이해한다이해한다..

•• 클러스터의클러스터의 개념과개념과 구성구성,, 설계설계 이슈에이슈에 대해서대해서 이해한다이해한다..클러스터의클러스터의 개념과개념과 구성구성, , 설계설계 이슈에이슈에 대해서대해서 이해한다이해한다..

•• Windows Windows 클러스터클러스터 서버서버 구조에구조에 대해서대해서 이해한다이해한다..

SS 클러스터클러스터 구조에구조에 대해서대해서 이해한다이해한다•• Sun Sun 클러스터클러스터 구조에구조에 대해서대해서 이해한다이해한다..

•• BeowulfBeowulf와와 Linux Linux 클러스터클러스터 구조에구조에 대해서대해서 이해한다이해한다..

2분산처리

Page 2: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

목목 차차

16.1 16.1 클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

16.2 16.2 분산분산 메시지메시지 전달전달

16.3 16.3 원격원격 프로시저프로시저 호출호출원격원격 프로시저프로시저 호출호출

16.4 16.4 클러스터클러스터

16 5 Wi d16 5 Wi d 클러스터클러스터 서버서버16.5 Windows 16.5 Windows 클러스터클러스터 서버서버

16.6 Sun 16.6 Sun 클러스터클러스터

16.7 Beowulf16.7 Beowulf와와 Linux Linux 클러스터클러스터

3분산처리

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

–– 클라이언트클라이언트

•• 서버에게서버에게 데이터베이스나데이터베이스나 다른다른 정보를정보를 질의하는질의하는 네트워크네트워크 상에상에있는있는 정보정보 요구자요구자 보통보통 PCPC나나 워크스테이션워크스테이션있는있는 정보정보 요구자요구자, , 보통보통 PCPC나나 워크스테이션워크스테이션

•• 사용자에게사용자에게 친숙한친숙한 그래픽그래픽 인터페이스인터페이스 제공제공

–– 서버서버서버서버

•• 네트워크로네트워크로 연결된연결된 클라이언트에클라이언트에 의하여의하여 조작되는조작되는 정보를정보를 집적집적하고하고 있는있는 고성능고성능 워크스테이션워크스테이션, , 미니컴퓨터미니컴퓨터, , 메인메인 프레임등의프레임등의컴퓨터컴퓨터컴퓨터컴퓨터

•• 클라이언트를클라이언트를 위한위한 공유공유 서비스의서비스의 집합집합 제공제공

•• 서버는서버는 다수의다수의 클라이언트에게클라이언트에게 동일한동일한 데이터베이스에데이터베이스에 대한대한 접접서버는서버는 다수의다수의 클라이언트에게클라이언트에게 동일한동일한 데이터베이스에데이터베이스에 대한대한 접접근을근을 가능하게가능하게 하고하고, , 고성능고성능 컴퓨터컴퓨터 시스템의시스템의 이용을이용을 가능하게가능하게한다한다..

네트워크네트워크

4

–– 네트워크네트워크

•• 클라이언트와클라이언트와 서버를서버를 연결하는연결하는 컴퓨터컴퓨터 네트워크네트워크분산처리

Page 3: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 클라이언트클라이언트//서버서버 전문전문 용어용어

–– 응용응용 프로그래밍프로그래밍 인터페이스인터페이스

•• 클라이언트와클라이언트와 서버가서버가 상호상호 통신할통신할 수수 있도록있도록 해주는해주는 함수와함수와 호출호출프로그램들의프로그램들의 집합집합프로그램들의프로그램들의 집합집합

–– 미들웨어미들웨어

•• 클라이언트와클라이언트와 서버서버 응용응용 사이의사이의 연결성을연결성을 향상시키는향상시키는 드라이버드라이버•• 클라이언트와클라이언트와 서버서버 응용응용 사이의사이의 연결성을연결성을 향상시키는향상시키는 드라이버드라이버, , API, API, 또는또는 소프트웨어들의소프트웨어들의 집합집합

–– 관계형데이터베이스관계형데이터베이스

•• 모든모든 검색검색 기준을기준을 만족하는만족하는 행들의행들의 선택으로선택으로 정보정보 접근이접근이 제한되제한되는는 데이터베이스데이터베이스

SQLSQL–– SQLSQL

•• 관계형관계형 데이터베이스를데이터베이스를 생성생성, , 저장저장, , 갱신갱신, , 검색하기검색하기 위하여위하여 IBMIBM에서에서 개발되고개발되고 ANSIANSI에에 의해의해 표준화된표준화된 데이터베이스데이터베이스 질의질의 언어언어

5분산처리

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 일반적인일반적인 클라이언트클라이언트//서버서버 환경환경

6분산처리

Page 4: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 클라이언트클라이언트//서버서버 응용응용

–– 클라이언트클라이언트//서버서버 구조의구조의 주요주요 특성은특성은 응용응용 수준수준 태스크를태스크를 클클라이언트와라이언트와 서버서버 중중 어디에어디에 얼마만큼얼마만큼 할당할할당할 것인가에것인가에 의해의해결정됨결정됨결정됨결정됨

–– 다양한다양한 종류의종류의 하드웨어하드웨어 플랫폼이나플랫폼이나 운영체제가운영체제가 존재하나존재하나, , 클클라이언트와라이언트와 서버가서버가 같은같은 통신통신 프로토콜을프로토콜을 공유하고공유하고 같은같은 응용응용을을 제공하는제공하는 한한 클라이언트와클라이언트와 서버서버 사이의사이의 통신이통신이 가능하다가능하다..

–– 클라이언트와클라이언트와 서버서버 간에간에 응용응용 로직을로직을 분리하는분리하는 방법에방법에 따라따라다양한다양한 구성이구성이 가능하다가능하다다양한다양한 구성이구성이 가능하다가능하다..

7분산처리

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 일반적인일반적인 클라이언트클라이언트//서버서버 구조구조

8분산처리

Page 5: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 데이터베이스데이터베이스 응용응용

–– 서버는서버는 데이터베이스데이터베이스 서버가서버가 되며되며, , 클라이언트는클라이언트는 사용자사용자 인터인터페이스를페이스를 담당한다담당한다..

클라이언트와클라이언트와 서버서버 사이의사이의 상호상호 작용은작용은 트랜잭션트랜잭션 형태로형태로 이루이루–– 클라이언트와클라이언트와 서버서버 사이의사이의 상호상호 작용은작용은 트랜잭션트랜잭션 형태로형태로 이루이루어어 진다진다..

•• 클라이언트가클라이언트가 데이타베이스데이타베이스 요청을요청을 생성하여생성하여 서버에게서버에게 보내면보내면, , 클라이언트가클라이언트가 데이타베이데이타베이 요청을요청을 생성하여생성하여 서버에게서버에게 보내면보내면,,서버는서버는 관련관련 연산을연산을 수행하고수행하고 그그 결과를결과를 클라이언트에게클라이언트에게 보낸다보낸다..

•• 서버는서버는 데이터베이스를데이터베이스를 유지보수하는유지보수하는 책임을책임을 진다진다..

9분산처리

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 데이터베이스데이터베이스 응용을응용을 위한위한 클라이언트클라이언트//서버서버 구조구조

10분산처리

Page 6: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 클라이언트클라이언트//서버서버 데이터베이스의데이터베이스의 사용사용 예예

11분산처리

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 클라이언트클라이언트//서버서버 응용의응용의 분류분류–– 호스트호스트 기반기반 처리처리

•• 진정한진정한 클라이언트클라이언트//서버서버 컴퓨팅이컴퓨팅이 아니며아니며, , 중앙중앙 호스트에서호스트에서 대부대부분의분의 일이일이 처리되는처리되는 구조이다구조이다. . 사용자인터페이스는사용자인터페이스는 단순단순 터미널터미널분의분의 일이일이 처리되처리되 구 이다구 이다 사용자 터페이사용자 터페이 단순단순 터미널터미널이이 담당한다담당한다..

–– 서버서버 기반기반 처리처리클라이언트가클라이언트가 기본적인기본적인 GUI(Graphical User Interface)GUI(Graphical User Interface)를를 제공하제공하•• 클라이언트가클라이언트가 기본적인기본적인 GUI(Graphical User Interface)GUI(Graphical User Interface)를를 제공하제공하고고, , 그그 외의외의 모든모든 처리는처리는 서버에서서버에서 수행된다수행된다..

–– 협력협력 처리처리•• 클라이언트와클라이언트와 서버가서버가 응용응용 로직의로직의 일부를일부를 최적으로최적으로 분담하여분담하여 협협

력력 처리를처리를 한다한다. . 설치나설치나 유지보수가유지보수가 복잡하나복잡하나 생산성과생산성과 네트워크네트워크효율성이효율성이 높다높다..

–– 클라이언트클라이언트 기반기반 처리처리•• 서버는서버는 데이터데이터 유효성유효성 검증이나검증이나 서버에서서버에서 최적으로최적으로 수행되는수행되는 일일

부부 데이터베이스데이터베이스 로직로직 기능만기능만 담당하며담당하며 이이 외의외의 모든모든 응용응용 처리처리

12

부부 데이터베이스데이터베이스 로직로직 기능만기능만 담당하며담당하며, , 이이 외의외의 모든모든 응용응용 처리처리가가 클라이언트에서클라이언트에서 수행된다수행된다..

분산처리

Page 7: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 클라이언트클라이언트//서버서버 응용의응용의 분류분류

13분산처리

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 33계층계층 클라이언트클라이언트//서버서버 구조구조

–– 사용자사용자 기계기계

•• 경량경량 클라이언트클라이언트

–– 중간중간 계층계층 기계기계

•• 클라이언트와클라이언트와 후위후위 데이터베이스데이터베이스 서버서버 사이의사이의 게이트웨이게이트웨이 역할역할

프로토콜프로토콜 변환변환 기능과기능과 데이터베이스데이터베이스 질의질의 변환변환 기능기능 수행수행•• 프로토콜프로토콜 변환변환 기능과기능과 데이터베이스데이터베이스 질의질의 변환변환 기능기능 수행수행

•• 여러여러 데이터데이터 소스로소스로 부터부터 전달된전달된 결과를결과를 통합하는통합하는 기능기능 수행수행

후위후위 서버서버–– 후위후위 서버서버

•• 데이터베이스데이터베이스 서버서버

14분산처리

Page 8: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 33계층계층 클라이언트클라이언트//서버서버 구조구조

15분산처리

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 파일파일 캐시캐시 일관성일관성

–– 파일파일 캐시는캐시는 최근에최근에 접근된접근된 파일파일 레코드를레코드를 저장저장

–– 지역성의지역성의 원칙원칙(principle of locality)(principle of locality)에에 의해서의해서 성능성능 향상향상

–– 캐시가캐시가 원격원격 데이터의데이터의 복사본을복사본을 정확하게정확하게 가지고가지고 있으면있으면 캐시캐시가가 일관성이일관성이 있다고있다고 정의정의 됨됨

캐시캐시 일관성일관성 (C h i t )(C h i t ) 문제문제–– 캐시캐시 일관성일관성 (Cache consistency) (Cache consistency) 문제문제

•• 원격원격 데이터의데이터의 변화를변화를 항상항상 지역지역 캐시가캐시가 알알 수수 있도록있도록 하는하는 문제문제

•• 파일파일 잠금잠금 기술을기술을 사용사용;; 성능과성능과 유용성이유용성이 떨어지지만떨어지지만 일관성일관성 보보•• 파일파일 잠금잠금 기술을기술을 사용사용; ; 성능과성능과 유용성이유용성이 떨어지지만떨어지지만 일관성일관성 보보장장

16분산처리

Page 9: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• SpriteSprite에서의에서의 분산분산 파일파일 캐싱캐싱

17분산처리

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 미들웨어미들웨어

–– 다양한다양한 플랫폼에플랫폼에 분산되어분산되어 있는있는 모든모든 시스템시스템 자원을자원을 일관된일관된수단과수단과 방법으로방법으로 접근할접근할 수수 있는있는 툴들의툴들의 집합집합

개발자는개발자는 클라이언트클라이언트//서버서버 환경을환경을 가상적으로가상적으로 동일한동일한 시스템시스템–– 개발자는개발자는 클라이언트클라이언트//서버서버 환경을환경을 가상적으로가상적으로 동일한동일한 시스템시스템으로으로 보게보게 되며되며, , 동일한동일한 방법으로방법으로 접근할접근할 수수 있다있다..

–– 미들웨어들이미들웨어들이 공통적으로공통적으로 가져야가져야 하는하는 것은것은 서로서로 다른다른 네트워네트워미들웨어들이미들웨어들이 공통적으로공통적으로 가져야가져야 하는하는 것은것은 서로서로 다른다른 네트워네트워크크 프로토콜과프로토콜과 운영체제들의운영체제들의 복잡성과복잡성과 불일치를불일치를 숨기는숨기는 능력능력이다이다..

18분산처리

Page 10: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 클라이언트클라이언트//서버서버 구조에서의구조에서의 미들웨어미들웨어 역할역할

–– 클라이언트에서클라이언트에서 수행수행 중인중인 응용이나응용이나 사용자가사용자가 다양한다양한 서버들서버들사이의사이의 차이점에차이점에 상관없이상관없이 서버들이서버들이 제공하는제공하는 다양한다양한 서비스서비스를를 일관된일관된 방법으로방법으로 사용하게사용하게 한다한다를를 일관된일관된 방법으로방법으로 사용하게사용하게 한다한다..

19분산처리

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 미들웨어의미들웨어의 논리적논리적 관점관점

20분산처리

Page 11: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

•• 미들웨어미들웨어 기법기법

21분산처리

분산분산 메시지메시지 전달전달

•• 분산분산 메시지메시지 전달전달

–– 클라이언트클라이언트 프로세스는프로세스는 특정특정 서비스를서비스를 요청하기요청하기 이해이해 요청요청 메메시지를시지를 서버에게서버에게 전달한다전달한다. . 서버서버 프로세스는프로세스는 요청을요청을 받고받고 서서비스를비스를 수행한수행한 후후 그그 결과를결과를 응답응답 메시지로메시지로 전달한다전달한다비스를비스를 수행한수행한 후후 그그 결과를결과를 응답응답 메시지로메시지로 전달한다전달한다..

–– 22개의개의 프리미티브프리미티브 사용사용

•• Send: Send: 목적지를목적지를 명시하고명시하고 메시지메시지 내용을내용을 포함포함목적지를목적지를 명시하명시하 메시지메시지 내용을내용을 포함포함

•• Receive: Receive: 메시지가메시지가 누구로누구로 부터부터 왔는가를왔는가를 명시하고명시하고 응답응답 메시지메시지가가 저장되는저장되는 버퍼를버퍼를 제공제공

22분산처리

Page 12: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

분산분산 메시지메시지 전달전달

•• 분산분산 메시지메시지 전달전달

23분산처리

분산분산 메시지메시지 전달전달

•• 분산분산 메시지메시지 전달전달 설계설계 이슈이슈–– 신뢰성신뢰성 대대 비신뢰성비신뢰성

•• 신뢰성신뢰성 있는있는 메시지메시지 전달전달 기능은기능은 전송을전송을 보장한다보장한다. . 에러에러 확인확인, , 수수신신 응답응답, , 재전송재전송, , 순서화되지순서화되지 않은않은 메시지들의메시지들의 재정렬재정렬 기능기능 수행수행신신 응답응답 재전송재전송 순서화되지순서화되지 않은않은 메시지들의메시지들의 재정렬재정렬 기능기능 수행수행

•• 신뢰성이신뢰성이 없는없는 메시지메시지 전달전달 기능은기능은 메시지를메시지를 통신통신 네트워크로네트워크로 보보내기만내기만 할할 뿐뿐 성공이냐성공이냐 실패냐를실패냐를 보고하지보고하지 않는다않는다..

블로킹블로킹 대대 비블로킹비블로킹–– 블로킹블로킹 대대 비블로킹비블로킹•• 블로킹블로킹 sendsend는는 메시지가메시지가 전송되기전송되기 전까지전까지((비신뢰비신뢰 서비스의서비스의 경우경우), ),

또는또는 메시지가메시지가 보내지고보내지고 전송확인을전송확인을 받을때까지받을때까지((신뢰신뢰 서비스의서비스의경우경우)) 제어를제어를 돌려주지돌려주지 않는다않는다 블로킹블로킹 receivereceive는는 수신수신 메시지가메시지가경우경우) ) 제어를제어를 돌려주지돌려주지 않는다않는다. . 블로킹블로킹 receivereceive는는 수신수신 메시지가메시지가할당된할당된 버퍼에버퍼에 위치하기까지위치하기까지 제어를제어를 프로세스에게프로세스에게 돌려주지돌려주지 않않는다는다..

•• 비블로킹비블로킹 sendsend와와 receivereceive는는 호룰호룰 뒤뒤 블록되지블록되지 않고않고 바로바로 프로세프로세•• 비블로킹비블로킹 sendsend와와 receivereceive는는 호룰호룰 뒤뒤 블록되지블록되지 않고않고 바로바로 프로세프로세스에게스에게 제어를제어를 넘겨준다넘겨준다. . 비블로킹비블로킹 프리미티브는프리미티브는 프로세스에프로세스에 의의한한 메시지메시지 전달의전달의 효율적이고효율적이고 유연한유연한 사용을사용을 제공하지만제공하지만, , 프로그프로그램을램을 테스트하고테스트하고 디버깅이디버깅이 어렵다어렵다..

24

램을램을 테 하테 하 디버깅이디버깅이 어렵다어렵다

분산처리

Page 13: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

원격원격 프로시저프로시저 호출호출

•• 원격원격 프로시저프로시저 호출호출

–– 다른다른 기계에기계에 있는있는 프로그램들이프로그램들이 마치마치 같은같은 기계에기계에 있는있는 것처것처럼럼 단순한단순한 프로시저프로시저 호출호출//반환반환 의미론을의미론을 사용하여사용하여 쉽게쉽게 상호상호작용할작용할 수수 있다있다작용할작용할 수수 있다있다..

•• CALL P(X,Y)CALL P(X,Y)

P = P = 프로시저프로시저 이름이름

X = X = 매개변수매개변수

Y = Y = 반환반환 값값

•• 매개매개 변수변수 전달전달

–– 값에값에 의한의한 호출호출(call by value)(call by value)은은 간단하게간단하게 구현되나구현되나, , 참조에참조에 의의한한 호출호출(call by reference)(call by reference)의의 구현은구현은 시스템시스템 전체의전체의 유일한유일한 포포인터가인터가 각각 객체를객체를 위하여위하여 필요하게필요하게 되므로되므로 구현이구현이 복잡하다복잡하다

25

인터가인터가 각각 객체를객체를 위하여위하여 필요하게필요하게 되므로되므로 구현이구현이 복잡하다복잡하다..

분산처리

원격원격 프로시저프로시저 호출호출

•• 원격원격 프로시저프로시저 호출호출 기법기법

26분산처리

Page 14: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

원격원격 프로시저프로시저 호출호출

•• 클라이언트클라이언트//서버서버 바인딩바인딩

–– 바인딩은바인딩은 원격원격 프로시저와프로시저와 호출호출 프로그램프로그램 사이의사이의 관계를관계를 어떻어떻게게 설정할설정할 것인가를것인가를 명시한다명시한다..

비영속적인비영속적인 바인딩바인딩( i t t bi di )( i t t bi di )–– 비영속적인비영속적인 바인딩바인딩(nonpersistent binding)(nonpersistent binding)

•• 원격원격 프로시저를프로시저를 호출을호출을 수행하려는수행하려는 시점에시점에 두두 개의개의 프로세스프로세스 사사이에이에 논리적인논리적인 연결이연결이 설정되며설정되며, , 결과결과 값이값이 반환반환 되자마자되자마자 연결연결이에이에 리적리적 결이결이 정되며정되며 결과결과 이이 환환 되자마자되자마자 결결이이 해제된다해제된다. .

–– 영속적인영속적인 바인딩바인딩(persistent binding)(persistent binding)

•• 원격원격 프로시저프로시저 호출을호출을 위하여위하여 설정되는설정되는 연결이연결이 결과결과 값값 반환반환 이이후에도후에도 계속계속 유지된다유지된다. . 원격원격 프로시저를프로시저를 반복반복 호출하는호출하는 응용에응용에적합적합..

27분산처리

원격원격 프로시저프로시저 호출호출

•• 동기동기 대대 비동기비동기

–– 동기동기 RPC(Synchronous RPC)RPC(Synchronous RPC)

•• 호출호출 프로세스가프로세스가 결과결과 값이값이 반환될반환될 때때 까지까지 기다림기다림

•• 행위가행위가 예측예측 가능하기가능하기 때문에때문에 이해하기이해하기 쉽고쉽고 프로그램프로그램 하기하기 쉽다쉽다..

•• 분산분산 응용응용 고유의고유의 병렬성을병렬성을 완전히완전히 이용하지이용하지 못한다못한다..

비동기비동기 RPC(A h RPC)RPC(A h RPC)–– 비동기비동기 RPC(Asyschronous RPC)RPC(Asyschronous RPC)

•• 호출호출 프로세스가프로세스가 결과결과 값이값이 반환될반환될 때때 까지까지 기다리지기다리지 않는다않는다..

•• 서버서버 호출호출 기능과기능과 병렬적으로병렬적으로 자신의자신의 작업을작업을 수행한다수행한다•• 서버서버 호출호출 기능과기능과 병렬적으로병렬적으로 자신의자신의 작업을작업을 수행한다수행한다..

28분산처리

Page 15: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

원격원격 프로시저프로시저 호출호출

•• 객체객체 지향지향 기법기법

–– 클라이인트와클라이인트와 서버는서버는 메시지를메시지를 객체간에객체간에 주고주고 받는다받는다..

–– 객체간객체간 통신은통신은 하부하부 메시지메시지 패싱패싱 기법이나기법이나 RPC RPC 구조를구조를 사용사용하거나하거나 또는또는 운영체제가운영체제가 지원하는지원하는 객체지향객체지향 기능위에서기능위에서 직접직접하거나하거나, , 또는또는 운영체제가운영체제가 지원하는지원하는 객체지향객체지향 기능위에서기능위에서 직접직접개발될개발될 수수 있다있다..

–– 클라이너트는클라이너트는 객체객체 요청요청 중계자에게중계자에게 요청을요청을 보내며보내며,, 객체객체 요요클라이너트는클라이너트는 객체객체 요청요청 중계자에게중계자에게 요청을요청을 보내며보내며, , 객체객체 요요청청 중계자는중계자는 적절한적절한 객체를객체를 호출하고호출하고 관련된관련된 데이터를데이터를 보낸다보낸다. . 원격원격 객체는객체는 요청을요청을 서비스하고서비스하고 응답을응답을 중계자를중계자를 거쳐거쳐 클라이클라이언트에게언트에게 반환한다반환한다언트에게언트에게 반환한다반환한다..

–– MicrosoftMicrosoft의의 COM(Component Object Model)COM(Component Object Model)

–– OMGOMG의의 CORBA(Common Object Request BrokerCORBA(Common Object Request Broker–– OMGOMG의의 CORBA(Common Object Request Broker CORBA(Common Object Request Broker Architecture)Architecture)

29분산처리

클러스터클러스터

•• 클러스터클러스터

–– 여러여러 컴퓨터가컴퓨터가 고속의고속의 링크로링크로 연결되어연결되어 있으며있으며, , 논리적으로는논리적으로는하나의하나의 컴퓨터인컴퓨터인 것처럼것처럼 보여지도록보여지도록 자원들을자원들을 일관되고일관되고 통일통일되게되게 관리하는관리하는 시스템시스템되게되게 관리하는관리하는 시스템시스템

–– 대칭형대칭형 다중처리다중처리(SMP: Symmetric Multiprocessing)(SMP: Symmetric Multiprocessing)의의 대안으대안으로로 제안됨제안됨

–– 클러스터링의클러스터링의 목적목적

•• 절대적절대적 확장성확장성: : 가장가장 큰큰 독립적인독립적인 기계의기계의 능력을능력을 능가하는능가하는 거대거대클러스터의클러스터의 구성구성 가능가능클러스터의클러스터의 구성구성 가능가능

•• 점진적인점진적인 확장성확장성: : 작은작은 규모의규모의 시스템에서시스템에서 시작하여시작하여 점진적으로점진적으로노드를노드를 추가하여추가하여 시스템의시스템의 크기를크기를 확장할확장할 수수 있다있다..

•• 높은높은 가용성가용성: : 한한 노드의노드의 장애가장애가 서비스의서비스의 손실을손실을 의미하지의미하지 않는않는다다..

우수한우수한 가격가격//성능성능 저렴한저렴한 비용으로비용으로 우수한우수한 컴퓨팅컴퓨팅 능력을능력을 갖는갖는

30

•• 우수한우수한 가격가격//성능성능: : 저렴한저렴한 비용으로비용으로 우수한우수한 컴퓨팅컴퓨팅 능력을능력을 갖는갖는시스템을시스템을 구축할구축할 수수 있다있다..

분산처리

Page 16: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클러스터클러스터

•• 클러스터의클러스터의 구성구성

31분산처리

클러스터클러스터

•• 클러스터의클러스터의 구성구성

클러스터링 방법

설 명 장 점 제 한 점

보조 서버는 대기상태이다 주 서 보조 서버를 다른 태스크 처리수동 대기

보조 서버는 대기상태이다. 주 서버가 고장나면 보조 서버가 기능을 인계받는다.

구현이 쉽다.보조 서버를 다른 태스크 처리에 이용할 수 없기 때문에 고비용이다.

보조 서버도 태스크 처리를 위하보조 서버가 처리를 위하

능동 보조보조 서버도 태스크 처리를 위하여 사용된다.

여 사용될 수 있기 때문에 비용이 절감된다.

복잡성의 증대

분리 서버

각 서버는 자신들의 디스크를 가지고 있 다 . 데 이 터 는 연 속 적 으

높은 가용성잦은 복사 동작으로 인하여 네트

분리 서버로 주 서버에서 보조 서버로 복사된다.

높은 가용성워크와 서버의 오버헤드가 높다.

디스크에 연

서버들이 같은 디스크에 연결된다. 그러나 각 서버는 자신의 디스 복사 동작의 제거로 네트 디스크 고장의 위험을 보상하

디스크에 연결된 서버

크를 가진다. 한 서버가 고장나면, 그 디스크는 다른 서버로 인계된다.

워크와 서버의 오버헤드가 절감된다.

기 위하여 보통 디스크 미러링이나 RAID를 요구한다.

디 공 다중 서버 동시에 디 를 유낮은 네트워크와 서버의 버헤 디 장

잠금 관리자(lock manager) 소프웨어를 한다 통 디

32

디스크 공유 서버

다중 서버는 동시에 디스크를 공유한다.

의 오버헤드. 디스크 고장에 의한 중단시간의 위험이 줄어든다.

트웨어를 요구한다. 보통 디스크 미러링이나 RAID 기술과 함께 사용된다.

분산처리

Page 17: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클러스터클러스터

•• 운영체제운영체제 설계설계 이슈이슈

–– 고장고장 관리관리

•• 높은높은 강요성의강요성의 클러스터클러스터: : 모든모든 자원이자원이 서비스에서비스에 있게있게 될될 확률을확률을높임높임높임높임

•• 결함허용결함허용 클러스터클러스터: : 모든모든 자원이자원이 항상항상 가용하다는가용하다는 것을것을 보장보장

–– 고장고장 극복극복(failover):(failover): 고장난고장난 시스템을시스템을 다른다른 대체대체 시스템으로시스템으로고장고장 극복극복(failover): (failover): 고장난고장난 시스템을시스템을 다른다른 대체대체 시스템으로시스템으로응용과응용과 자원을자원을 교체교체

–– 고장고장 회복회복(failback): (failback): 고장에서고장에서 회복한회복한 시스템으로시스템으로 응용이나응용이나데이터데이터 자원을자원을 복구하는복구하는 기능기능데이터데이터 자원을자원을 복구하는복구하는 기능기능

–– 부하부하 균등화균등화

•• 새로운새로운 컴퓨터가컴퓨터가 추가되는추가되는 경우에도경우에도 각각 시스템에시스템에 골고루골고루 부하를부하를새로운새로운 컴퓨터가컴퓨터가 추가되는추가되는 경우에도경우에도 각각 시스템에시스템에 골고루골고루 부하를부하를분배할분배할 수수 있어야있어야 한다한다..

33분산처리

클러스터클러스터

•• 운영체제운영체제 설계설계 이슈이슈

–– 병렬병렬 계산계산

•• 병렬병렬 컴파일러컴파일러: : 컴파일컴파일 시점에시점에 응용의응용의 어떤어떤 부분이부분이 병렬적으로병렬적으로수행될수행될 수수 있는지있는지 결정결정수행될수행될 수수 있는지있는지 결정결정

•• 병렬병렬 응용응용: : 프로그래머가프로그래머가 클러스터의클러스터의 각각 노드에노드에 응용이응용이 분할되어분할되어동작될동작될 수수 있도록있도록 작성작성

•• 매개변수적매개변수적(parametric) (parametric) 컴퓨팅컴퓨팅: : 응용의응용의 요소가요소가 수없이수없이 만ㅇ이만ㅇ이 실실행되고행되고 실행될실행될 때마다때마다 매번매번 시작시작 존건존건 또는또는 매개매개 변수를변수를 다르게다르게가지고가지고 수행되는수행되는 경우경우 사용사용가지가지 수행되수행되 경우경우 사용사용

34분산처리

Page 18: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클러스터클러스터

•• 클러스터클러스터 컴퓨터컴퓨터 구조구조

35분산처리

클러스터클러스터

•• 클러스터클러스터 미들웨어미들웨어 서비스와서비스와 기능기능

–– 단일단일 진입점진입점: : 개별개별 컴퓨터가컴퓨터가 아닌아닌 클러스터에클러스터에 로그인로그인

–– 단일단일 파일파일 계층계층 구조구조: : 사용자는사용자는 같은같은 류트류트 디렉토리에서디렉토리에서 단일단일디렉토리디렉토리 계층계층 구조를구조를 본다본다디렉토리디렉토리 계층계층 구조를구조를 본다본다..

–– 단일단일 제어점제어점: : 클러스터클러스터 관리와관리와 제어를제어를 위한위한 기본기본 노드노드 존재존재

단일단일 가상가상 네트워크네트워크 실제실제 클러스터가클러스터가 다중다중 상호연결상호연결 네트워네트워–– 단일단일 가상가상 네트워크네트워크: : 실제실제 클러스터가클러스터가 다중다중 상호연결상호연결 네트워네트워크로크로 연결되었더라도연결되었더라도 어떤어떤 노드도노드도 클러스터클러스터 내의내의 다른다른 노드에노드에접근할접근할 수수 있다있다..

–– 단일단일 메모리메모리 공간공간: : 분산분산 공유공유 메모리가메모리가 변수를변수를 공유할공유할 수수 있게있게한다한다..

–– 단일단일 작업작업 관리관리 시스템시스템: : 사용자가사용자가 업무를업무를 수행할수행할 노드를노드를 명시명시하지하지 않고도않고도 작업을작업을 수행시킬수행시킬 수수 있다있다..

36분산처리

Page 19: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클러스터클러스터

•• 클러스터클러스터 미들웨어미들웨어 서비스와서비스와 기능기능

–– 단일단일 사용자사용자 인터페이스인터페이스: : 모든모든 사용자는사용자는 공통공통 그래픽그래픽 인터페인터페이스를이스를 사용한다사용한다..

단일단일 입출력입출력 공간공간 물리적물리적 위치를위치를 알알 필요필요 없이없이 모든모든 입출력입출력–– 단일단일 입출력입출력 공간공간: : 물리적물리적 위치를위치를 알알 필요필요 없이없이 모든모든 입출력입출력장치에장치에 접근할접근할 수수 있다있다..

–– 단일단일 프로세스프로세스 공간공간:: 클러스터내에서는클러스터내에서는 동일한동일한 프로세스프로세스 식별식별단일단일 프로세스프로세스 공간공간: : 클러스터내에서는클러스터내에서는 동일한동일한 프로세스프로세스 식별식별기법이기법이 사용된다사용된다..

–– 검사점검사점(checkpoint): (checkpoint): 프로세스의프로세스의 상태와상태와 중간중간 계산계산 값을값을 주기주기적으로적으로 저장하여저장하여 고장시고장시 롤백롤백(rollback) (rollback) 회복이회복이 가능하게가능하게 한다한다..

–– 프로세스프로세스 이주이주: : 부하부하 균등화를균등화를 가능하게가능하게 한다한다..

37분산처리

클러스터클러스터

•• 클러스터와클러스터와 SMPSMP의의 비교비교

–– SMPSMP가가 클러스터보다클러스터보다 관리하고관리하고 구성하는데구성하는데 더더 쉽다쉽다..

–– SMPSMP가가 물리적인물리적인 공간과공간과 전원을전원을 덜덜 쓴다쓴다..

–– SMP SMP 제품이제품이 잘잘 정착되고정착되고 안정적이다안정적이다..

–– 클러스터는클러스터는 점진적인점진적인 확장성과확장성과 절대적인절대적인 확장성확장성 측면에서측면에서SMPSMP보다보다 우위에우위에 있다있다SMPSMP보다보다 우위에우위에 있다있다..

–– 클러스터가클러스터가 가용성가용성 측면에서측면에서 우위에우위에 있다있다..

38분산처리

Page 20: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클러스터클러스터

•• Windows Windows 클러스터클러스터

–– Windows Windows 클러스터클러스터 설계설계 개념개념

•• 클러스터클러스터 서비스서비스: : 각각 노드에서노드에서 모든모든 클러스터클러스터--특정특정 활동을활동을 관리관리하는하는 소프트웨어의소프트웨어의 집합집합하는하는 소프트웨어의소프트웨어의 집합집합

•• 자원자원: : 클러스터클러스터 서비스에서비스에 의하여의하여 관리되는관리되는 물리적인물리적인 논리적인논리적인 자자원원

•• 온라인온라인: : 자원이자원이 특정특정 노드에게노드에게 서비스를서비스를 제공할제공할 때때 그그 자원은자원은 그그노드에서노드에서 온라인이라고온라인이라고 한다한다..

•• 그룹그룹:: 단일단일 단위로서단위로서 관리되는관리되는 자원의자원의 집합집합•• 그룹그룹: : 단일단일 단위로서단위로서 관리되는관리되는 자원의자원의 집합집합

39분산처리

클러스터클러스터

•• Windows Windows 클러스터클러스터 서버서버

관리자관리자–– 노드노드 관리자관리자

•• 클러스터클러스터 내에내에 있는있는 노드노드 구성원을구성원을 유지하는유지하는 기능기능 수행수행

–– 구성구성 데이터베이스데이터베이스 관리자관리자구성구성 데이터베이스데이터베이스 관리자관리자

•• 클러스터클러스터 구성구성 데이터베이스를데이터베이스를 유지유지 관리한다관리한다..

–– 자원관리자자원관리자//고장극복관리자고장극복관리자

•• 자원자원 그룹에그룹에 관련된관련된 모든모든 결정을결정을 내리며내리며 시작시작, , 재설정재설정, , 고장고장 극복과극복과 같은같은적절한적절한 활동을활동을 수행한다수행한다..

–– 이벤트이벤트 처리기처리기이벤트이벤트 처리기처리기

•• 클러스터클러스터 서비스의서비스의 모든모든 요소와요소와 연결되어연결되어 있으며있으며, , 공통공통 동작을동작을 처리하고처리하고클러스터클러스터 서비스서비스 초기화를초기화를 제어한다제어한다..

통신관리자통신관리자–– 통신관리자통신관리자

•• 클러스터의클러스터의 다른다른 노드들과의노드들과의 메시지메시지 교환교환 기능을기능을 수행한다수행한다..

–– 전역전역 갱신갱신 관리자관리자

40

전역전역 갱신갱신 관리자관리자

•• 클러스터클러스터 서비스서비스 내에서내에서 다른다른 요소들에요소들에 의해서의해서 사용되는사용되는 서비스를서비스를 제공제공

분산처리

Page 21: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클러스터클러스터

•• Windows Windows 클러스터클러스터 서버서버

41분산처리

클러스터클러스터

•• Sun Sun 클러스터클러스터

–– Solaris Solaris 운영체제에운영체제에 운영되는운영되는 단일단일 컴퓨터컴퓨터 이미지를이미지를 기반으로기반으로확장된확장된 분산분산 운영체제운영체제

SS 클러스터의클러스터의 주요주요 요소요소–– Sun Sun 클러스터의클러스터의 주요주요 요소요소

•• 객체와객체와 통신통신 지원지원: : 객체객체 지향지향 방식으로방식으로 구현되었으며구현되었으며, CORBA , CORBA 객객체체 모델이모델이 사용된다사용된다..체체 이이 사용 다사용 다

•• 프로세스프로세스 관리관리: : 프로세스의프로세스의 위치가위치가 사용자에게사용자에게 투명투명(transparent)(transparent)하도록하도록 프로세스프로세스 동작을동작을 확장확장

네트워킹네트워킹 패켓패켓 필더를필더를 사용하여사용하여 외부적으로외부적으로 단일단일 IPIP 주소를주소를 가가•• 네트워킹네트워킹: : 패켓패켓 필더를필더를 사용하여사용하여 외부적으로외부적으로 단일단일 IP IP 주소를주소를 가가지는지는 것처럼것처럼 모이도록모이도록 한다한다..

•• 전역전역 파일파일 시스템시스템: : 클러스터클러스터 내의내의 분산된분산된 파일에파일에 대해서대해서 통일된통일된인터페이스를인터페이스를 제공한다제공한다..

42분산처리

Page 22: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클러스터클러스터

•• Sun Sun 클러스터클러스터 구조구조

43분산처리

클러스터클러스터

•• Sun Sun 클러스터클러스터 파일파일 시스템시스템 확장확장

44분산처리

Page 23: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

클러스터클러스터

•• BeowulfBeowulf와와 Linux Linux 클러스터클러스터

ff 의의 성성 컴 팅컴 팅 및및 신신 젝 의젝 의 일환일환–– Beowulf: 1994sus nasaBeowulf: 1994sus nasa의의 고성능고성능 컴퓨팅컴퓨팅 및및 통신통신 프로젝트의프로젝트의 일환으일환으로로 시작시작

–– 최소의최소의 비용으로비용으로 현재의현재의 워크스테이션워크스테이션 능력을능력을 뛰어넘는뛰어넘는 중요한중요한 계산계산최 의최 의 비용비용 현재의현재의 워 테이션워 테이션 능력을능력을 뛰어넘는뛰어넘는 중 한중 한 계산계산을을 수행하기수행하기 위한위한 클러스터클러스터 PCPC의의 잠재성을잠재성을 연구하기연구하기 위해위해 시작시작

–– BeowulfBeowulf의의 주요주요 특성특성

대량판매용대량판매용 구성요소구성요소•• 대량판매용대량판매용 구성요소구성요소

•• 전용처리기전용처리기

•• 전용의전용의 사설사설 네트워크네트워크

•• 맞춤화되지맞춤화되지 않은않은 구성요소구성요소

•• 다중다중 판매자로판매자로 부터의부터의 용이한용이한 복제복제

확장성확장성 있는있는 입출력입출력•• 확장성확장성 있는있는 입출력입출력

•• 자유롭게자유롭게 이용이용 가능한가능한 소프트웨어소프트웨어 기반기반

•• 최소한의최소한의 변경만이변경만이 요구되는요구되는 분산분산 컴퓨팅컴퓨팅 툴의툴의 사용사용

45

•• 설계와설계와 개량개량 기법의기법의 공동체로의공동체로의 환원환원

분산처리

클러스터클러스터

•• 일반적인일반적인 BeowulfBeowulf의의 구성구성

46분산처리

Page 24: 16장분산처리, 클라이언트/서버,, 클러스터mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/07-DistributedSystems.pdf · ••분산 분산응용응용고유의고유의병렬성을병렬성을완전히완전히이용하지이용하지못한다못한다

요요 약약

•• 클라이언트클라이언트//서버서버 컴퓨팅컴퓨팅

–– 클라이언트클라이언트//서버서버 컴퓨팅의컴퓨팅의 개념개념, , 응용응용, , 구조구조

•• 분산시스템의분산시스템의 22가지가지 주요주요 통신기법통신기법

–– 분산메시지전달분산메시지전달, , 원격프로시저호출원격프로시저호출 기법기법

•• 클러스터클러스터클러 터클러 터

–– 클러스터의클러스터의 개념개념, , 구성구성, , 설계설계 이슈이슈

•• Windows Sun LinuxWindows Sun Linux의의 클러스터링클러스터링 기법기법•• Windows, Sun, LinuxWindows, Sun, Linux의의 클러스터링클러스터링 기법기법

47분산처리