본문 바로가기
Computer Science

분산 시스템

by PROGRAMMER_황금돼지코 2023. 3. 29.
반응형

분산 시스템은 통신 네트워크를 통해 서로 약하게 결합된 일련의 프로세서로 구성됩니다. 

이러한 프로세서들은 메모리와 클록을 공유하지 않으며, 각각 로컬 메모리를 가지고 있습니다. 

 

이들은 LAN 또는 WAN과 같은 네트워크를 통해 서로 통신합니다. 

분산 시스템에서 하나의 프로세서 관점에서 볼 때, 해당 프로세서가 소유한 리소스는 로컬이며, 

그 프로세서와 해당 리소스 이외의 모든 다른 프로세서는 리모트입니다.

분산 시스템 내 프로세서는 크기와 기능은 다양하며, 마이크로프로세서, 워크스테이션, 미니컴퓨터, 대용량 일반용 컴퓨터 등이 될 수 있습니다. 시스템 환경에 따라 사이트, 노드, 컴퓨터, 머신, 호스트 등 다양한 용어로 불리게 됩니다. 사이트는 기계의 위치를 나타내며, 특정 사이트 내의 특정 기계를 나타내기 위해 호스트라는 용어를 자주 사용합니다. 일반적으로 한 사이트의 호스트 리소스가 다른 사이트의 호스트에서 사용될 때, 분산 시스템의 목표는 리소스 공유를 위한 효율적이고 편리한 환경을 제공합니다.


(1) 분산 시스템의 목적

분산 시스템을 구축하는 대표적인 네 가지 목적은 다음과 같습니다.

① 자원 공유

다른 기종의 여러 사이트가 서로 연결되어 있다면, 한 사이트의 사용자는 다른 사이트의 자원들을 사용할 수 있습니다. 예를 들어, 사이트 A의 사용자가 다른 사이트의 레이저 프린터를 사용할 수 있죠. 동시에 사이트 B의 사용자는 사이트
A에 있는 파일을 사용할 수 있습니다. 일반적으로, 분산 시스템의 자원 공유는 원격 사이트의 파일 공유, 분산 데이터베이스의 정보 처리, 원격 사이트에서의 파일 프 린팅, 원격의 전용 하드웨어(ex. 고속 배열 프로세서) 사용, 기타 연산 수행 등에 활 될 수 있습니다.

② 연산속도 향상

하나의 특정 연산이 동시에 처리될 수 있는 여러 개의 부분 연산으로 분할된다면, 분산 시스템의 여러 사이트에 그 연산을 분산시켜 처리할 수 있습니다. 이때 연산이 동시에 처리되므로 연산속도의 향상을 가져올 수 있습니다. 또한 특정 사이트가 처리할 작업들이 많아 과부하 상태에 들어갔을 때, 그 작업들을 상대적으로 부하가 낮은 사이트에 분배함으로써 전체 처리속도의 향상을 기대할 수 있습니다. 이러한 작업 분배를 부하 공유라고 하며, 대표적인 예로 로드밸런싱이 있겠습니다.

③ 신뢰성 향상

분산 시스템의 어떤 사이트에서 결함이 발생하더라도 나머지 사이트들은 동작을 계속할 수 있습니다. 즉, 높은 신뢰성을 의미합니다. 시스템이 여러 개의 대형 범용 컴퓨터로 구성되어 있다면 그것들 중 하나의 결함이 나머지에 아무런 영향도 미치지 말아야 합니다. 반면, 시스템이 소형 컴퓨터들로 구성되어 있고 각자가 중요 한 기능(ex. 터미널 10, 파일 시스템 등)을 맡고 있다면, 특정 컴퓨터에서 결함이 발생하는 경우 전체 시스템의 동작을 정지시킬 수 있습니다. 일반적으로 하드웨어나 데이터를 충분히 중복시키면 몇 개의 사이트가 결함을 일으키더라도 그 시스템은 동작을 계속할 수 있을 것입니다.

④ 통신의 용이성

여러 사이트들이 통신 네트워크를 통해 서로 연결되어 있을 때, 다른 사이트에 있는 사용자들 간에 정보 교환이 가능합니다. 하위 수준에서는 메시지들이 시스템 들 간에 전달됩니다. 사이트 간 메시지 전달이 가능하다면 단일 시스템의 모든 상위 수준 기능들이 분산 시스템에 그대로 적용될 수 있습니다. 파일 전송, 로그인, 메일, 웹 브라우징, 그리고 원격 프로시저 호출(Remote Procedure call, RPC) 등을 예로 들 수 있습니다.


(2) 분산 시스템의 네트워크 구성

각 구성은 장단점이 있으며, 다음과 같은 것들로 비교할 수 있다.

  • 구축비용 : 시스템 내의 사이트들을 물리적으로 연결하는 비용
  • 풍산비용 : 사이트 A에서 사이트 B로 메시지를 보내는 데 쓰이는 시간과 비용
  • 이용성 : 링크나 사이트의 고장에도 불구하고 데이터에 접근할 수 있는 경우를 말함

완전 연결 네트워크에서 각 사이트는 모든 다른 사이트에 직접 연결되어 있습니다. 그러나 사이트의 수가 늘어날수록 링크의 수도 높어나게 되고 결국 엄정난 구축 비용이 들게 됩니다. 그러므로 완전 연결 네트워크는 대규모 시스템에서는 비현실적인 방법입니다.

 

부분 연결 네트워크에서는 전부가 아니라 일부 몇몇사이트 쌍 사이에 직접 연결이 존재합니다. 그러므로 구축비용이 완전 연결 네트워크보다 저렴합니다. 그러나 노드 A와 노드 B가 직접 연결되지 않았다면, 양단간의 메시지는 일련의 통신 링크를 따라 전달되어야 하며, 높은 통신비용이 들게 됩니다. 만약 통신 링크에 오류가 발생한다면 이 링크를 따라 전송될 수 있는 메시지들은 다른 경로로 전송 되어야 합니다. 몇몇 경우에는 네트워크를 통해 다른 경로가 발견될 수 있고, 그 경로를 따라 메시지가 목적지에 도착할 수 있습니다. 또 어떠한 경우 오류가 몇몇사이트 쌍 간의 연결을 끊을 수도 있습니다. 하나의 시스템이 오류로 인해 둘 이상의 서브시스템으로 나뉘게 되어 서브시스템 사이에 서로 연결된 링크를 갖지 않을 경우, 이 시스템은 파티션되었다고 말합니다. 어기서 하나의 서브시스템은 하나의 노드로 이루어질 수도 있습니다.


부분 연결 네트워크 중에는 트리 구조 네트워크, 스타형 네트워크, 링형(환형) 네트워크, 버스형 네트워크 등이 있습니다. 이들 각각은 서로 다른 오류 특성과 구축 및 통신비용을 가지고 있으며,

 

트리 구조 네트워크는 비교적 구축비용과 통신비용 이 저렴합니다. 그러나 트리 구조 네트워크에서는 하나의 링크가 고장나면, 네트워크가 파티션되어 그 사이트의 자식들은 더 이상 그들을 제외한 다른 사이트와 통신할 수 없습니다.

 

스타형 네트워크에서는 하나의 링크 고장이 네트워크 파티션을 야기하게 되고, 이로 인해 생긴 파티션 중 하나는 단일 노드로 구성됩니다. 그러므로 이런 파티션은 하나의 사이트 고장으로 간주할 수 있습니다. 스타형 네트워크에서 각 사이트는 모든 다른 사이트와 최대 2개의 링크를 통하여 통신할 수 있기 때문에 통신비용이 저렴합니다. 그러나 중앙 사이트가 고장나면 시스템 내의 모든 사이트 가 단절상태가 됩니다.

 

링형 네트위크에서는 파티션이 발생하려면 적어도 두 링크가 고장나야만 합니다. 그렇지만 메시지가 여러 링크를 거치야 하기 때문에 통신비용이 더 높습니다.

 

버스형 네트워크도 스타 형 네트워크와 같이 하나의 링크가 고장나면 네트워크 파티션이 생기므로 이런 경우 하나의 사이트 고장으로 간주할 수 있습니다. 그러나 장애 발견과 관리가 이러우 며 중앙 버스에 장애가 생기는 경우 전체 네트워크에 영향을 주게 됩니다.


(3) 네트워크의 유형

네트워크에는 기본적으로 근거리 통신망(Local Area Network, LAN)과 원거리 통신망 (wide Area Network, VAN) 두 가지 형태가 있으며, 주된 차이점은 지리적인 분산형태에 있습니다. LAN은 하나의 빌딩 또는 인접된 빌딩 등과 같이 좁은 지역에 분산된 프로세서들로 구성됩니다. 반면, WAN은 넓은 지역에 분포된 프로세서들로 구성되며. 이러한 차이점은 통신 네트워크의 속도와 신뢰성에서의 차이를 의미하여 분산 운영체제의 설계에 영향을 미칩니다.

① LAN

많은 기업에서 1개의 대형 시스템보다 자체적으 로 응용 프로그램을 가지고 있는 여러 개의 소형 컴퓨터들로 시스템을 구성하는 것이 더 경제적이라고 판단했습니다. 각 소형 컴퓨터들은 디스크나 프린터와 같은 주 변장치들의 보완을 필요로 하고 기업 내에서 데이터 공유가 빈번하므로, 이런 소 형 시스템들을 네트워크로 서로 연결하는 것은 자연스러운 일입니다.
근거리 통신망인 IAN은 한 빌딩 또는 몇 개의 인접한 빌딩과 같은 비교적 협소 한 지역에 적합하게 설계되었고, 주로 사무실 형태의 환경에서 이용됩니다. 이러한 시스템 내의 모든 사이트는 서로 근접해 있기 때문에 통신 링크는 속도가 빠르고 에러 발생률이 낮은 경향이 있습니다. 이런 빠른 속도와 신뢰성은 양질의 값비싼 케이블을 필요로 하며 이들을 데이터 네트워크를 위한 전용 라인으로 사용할 수도 있습니다.
전형적인 LAN은 서버, 워크스테이션, 랩톱, 프린터, 게이트웨이 등 수많은 이 기종 컴퓨터들로 구성되며, 일반적으로 이더넷이 LAN을 구성하는 데 이용됩니다.
이더넷 네트워크에서는 다중 접근 버스를 사용하기 때문에 중앙 제어기가 따로 필요 없고 새로운 호스트를 네트워크에 추가하기가 쉽습니다.

② WAN

원거리 통신망인 WAN은 광범위한 사용자들이 하드웨어와 소프트웨어를 편리 하고 경제적으로 공유할 수 있도록 하며, 범세계적 네트워크인 인터넷 또는 기업 지점들을 연결하는 국제적인 사설 상업망 등이 해당합니다. 이러한 네트워크들은 사용자들에게 여러 종류의 하드웨어와 소프트웨어 자원들을 제공합니다.
WAN을 구성하는 각 사이트들은 지리적으로 넓게 분산되어 있기 때문에 보편 적으로 통신 링크들은 느리고 신뢰성이 낮습니다. 대표적인 링크로는 전화선, 마이크 로웨이브 링크와 위성 채널 등이 있으며, 이러한 통신 링크들은 전용 통신 프로세 서들에 의해 제어된, 이 프로세서들은 여러 사이트 간에 정보를 전송하는 역할뿐 아니라 네트워크상에서 통신하는 사이트들 간의 인터페이스를 정의해 주는 역할도 합니다.

반응형

'Computer Science' 카테고리의 다른 글

분산 메모리  (0) 2023.03.29
파일 관리  (0) 2023.03.26
순차접근 저장장치  (0) 2023.03.26
입출력 처리 유형  (0) 2023.03.26
데이터베이스 관리 시스템(DBMS)의 개요 및 목적  (0) 2023.03.26

댓글