목적과 장단점
- 여러 자원을 공유하고 속도 및 용량 등의 효율을 높이기 위한 시스템이다.
- 자원 사용 관점에는 모든 면에서 장점을 가지지만
- 구축의 난이도나 보안성, 비용적인 측면은 단점이다
투명성
투명성(Transparency) : 사용자가 분산된 여러 자원의 위치 정보를 알지 못하고 마치 하나의 커다란 시스템을 사용하는 것처럼 인식하도록 하는 것
- 위치 투명성 : 분산된 시스템이 어디 있는지는 알 필요 없다. 시스템적으로 알아서 통신해서 돌아가니깐
- 이주 투명성 : 내부적으로 데이터가 이동하는걸 사용자는 알 필요가 없다. 그냥 필요한걸 불러다 사용만 할 뿐
- 복제 투명성 : 내부적으로 데이터가 복제 되는걸 사용자는 알 필요가 없다. 그냥 필요한걸 불러다 사용만 할 뿐
- 병행 투명성 : 병행제어에 대해 딱히 고민하지 않아도 된다. 시스템 알아서 한다. 그냥 사용만 할뿐..
- 접근 투명성 : 어디서든 어디로든 접속 가능하다. 어디에서 어디로 접속하려면 어떻게 할지 신경 쓸 필요 없다.
- 성능 투명성 : 여러 부하에 의해 알아서 성능을 유지하기 위해 재구성이 이루어진다.
- 규모 투명성 : 규모에 대해선 신경쓸 필요가 없다. 늘리면 늘리는대로 성능이 좋아질 뿐.
- 고장 투명성 : 분산 처리니깐, 시스템 하나가 고장나도 작업은 완료할 수 있어야 한다.
분산 처리 구조
- 완전 연결(Fully Connection)형
- 각 사이트들이 시스템 내의 다른 모든 사이트들과 직접 연결됨
- 구축 비용은 많이 들지만 구축되고 나면 통신 비용은 적게들고 신뢰성이 높음
- 사이트 수가 n이면 링크 수는 n(n-1)/2 개
- 부분 연결(Partially Connection)형
- 시스템 내의 일부 사이트들 간의 직접연결이 형성되는 경우
- 직접 연결되지 않은 사이트 끼리는 다른 사이트를 경유해서 통신해야 한다.
- 비용은 좀더 싸지만 신뢰성은 좀더 떨어진다.
- 트리/계층(Tree/Hierarchy)형
- 분산 처리 시스템의 가장 대표적인 형태로 사이트들 끼리 트리 형태로 연결 되어 있다.
- 부분 연결형 보다 기본 비용은 적게 들고 통신 비용은 트리의 깊이에 비례해서 올라감
- 하위 사이트들은 상위 사이트를 통해서 통신을 해야 한다. 즉, 상위가 죽으면 하위는 통신 불가
- 스타(Star)형
- 모든 사이트가 하나의 중앙 사이트에만 연결 된 구조
- 기본 비용은 사이트 수에 비례하며 통신 비용은 적게 든다
- 중상 사이트 고장나면 큰일난다
- 링(Ring)형
- 시스템 내의 각 사이트가 인접하는 두 사이트와만 연결된 구조
- 정보는 단방향, 또는 양방향으로 이루어짐. 고리를 이룰수도 있고 선형일수도 있다.
- 기본 비용은 사이트 수에 비례하고 통신 비용은 비교적 크다
- 다중 접근 버스 연결(Multi Access Bus Connection)형
- 시스템 내의 모든 사이트들이 공유 버스에 연결된 구조
- 기본 비용은 사이트에 비례하고 통신 비용은 저렴한 편이다.
- 스타형과 비슷하게 버스가 고장나면 큰일난다.
- 사이트의 추가나 삭제가 용이하다.
프로세스 모델
- 클라이언트-서버 모델
- 프로세서 풀 모델
- 혼합 모델