본문 바로가기

반응형

전체 글

(71)
분산시스템의 커뮤니케이션 프로세서간의 커뮤니케이션(통신모델)이 필요하다. 통신모델 ○ RPC(Remote Procedure Call): 원격 프로시저 호출 ○ MoM(Message Oriented Middleware): 메신저 ○ Streaming: Audio, Video 전송/처리 ○ MC(Multi Casting) Layered Protocols ○ OSI 7 Layer - 통신모델의 표준으로 채택 - 동등한 레벨끼리 통신 - 실제에서는 사용하지 않음 - 다른 모델의 참고(Reference) 모델 ▲ 7계층의 헤더 (식별필요) Encapsulation - 통신모델의 각 Layer별 데이터 구분/처리를 위해 Header 사용 - Header에서 가장 중요한 정보는 주소 - DataLink 계층은 데이터 오류검출을 위해 Trai..
분산시스템에서의 프로세스 Process는 분산시스템에서 중요환 관점이 될 수 있다. 클라이언트/서버 구조를 효율적으로 구현하기 위해서는 3가지 관점에서 보아야한다. 1. thread 2. 가상화 3. Client-Server 구성 Thread Usage in Non-distributed Systems ▲ 비분산시스템에서의 쓰레드사용 (Thread Usage in Non-distributed Systems) -A에서 작업하던 단일코어가 B로 할당: A에서 작업을 하다가 B로 넘어가기전 기존 A Context를 스택에 저장. 나중에 사용할 때 Restore 기존 프로세스는 서로 다른 Process간 전환 시(또는 정보교환시) Context Switching Overhead가 발생한다. Process 전환에 따른 PCB의 Load/S..
분산시스템의 구조 (ARCHITECTURES) 분산시스템의 구조는 크게보면 논리적구조(S/W) 그리고 물리적구조(시스템) 으로 나뉜다. 분산 시스템을 위한 중요한 아키텍처 스타일 (논리적구조) - Layered architectures 계층화 된 아키텍처 (네트워크 OSI 7계층 또는 인터넷의 5계층 구조) - Object-based architectures 객체 기반 아키텍처 - Data-centered architectures 데이터 중심 아키텍처 (pubsub방식: publish subscribe 방식) - Event-based 이벤트 기반 아키텍처 (pubsub방식: publish subscribe 방식) (a) 는 계층화된 구조로써, 위쪽으로는 User층 밑으로 갈 수록 Systems층을 이루고있다. 대표적으로 OSI 7layer 또는 TC..
분산시스템 유형(DCS/DIS/DES)과 예 분산시스템의 유형 DCS : Distributed Computing System – 컴퓨팅 파워를 분산하여 어떻게 태스크를 수용할 것인가. (DCS예: Cluster, Grid) DIS: Distributed Information System – 데이터 분산 (DIS예: TPS, EIA) DES: Distributed Embedded System – 사물인식 (DES예: Sensor Network) ▲ DCS: 클러스터 컴퓨팅 시스템의 예 클러스터특징: MASTER(마스터노드) 와 SLAVE(컴퓨터노드) 서버로 구성된다. 동일 기종, 동일 OS를 사용항여 구성한다. 평행하게 (Parallel) 연산할 수 있다. 마스터노드가 컴퓨터노드에게 태스크를 나눠준다. ▲ DCS: 그리드 컴퓨팅 시스템의 예 그리드미..
분산 시스템 개발 시 발생하는 문제 최초 개발자가 수행한 잘못된 가정: 네트워크는 신뢰할 만합니다. 네트워크가 안전합니다. 네트워크는 동적입니다. 토폴로지는 변경되지 않습니다. 지연 시간은 0입니다. 대역폭은 무한합니다. 전송 비용은 0입니다. 관리자는 한 명입니다.
분산시스템의 확장성 분산시스템에서는 확장성이 용이하여야 한다. 그러기 때문에 분산시스템을 하는 것이다. 아래는 확장성이 문제되는 (한계되는) 3가지 중앙집중식 서비스 (Centralized Service) 중앙집중식 데이터 (Centralized Data) 중앙집중식 알고리즘 (Centralized Algorithms) 비중앙 알고리즘의 특성 - 어떤 기계도 시스템 상태에 대한 완전한 정보를 가지고 있지 않다. - 기계는 자신이 가지고 있는 로컬 정보에만 근거하여 결정을 내린다. - 하나의 기계에 오류가 있어도 알고리즘이 손상되지 않는다. - 글로벌클럭이 있다는 암묵적 가정이 없다. 확장성을 위한 스캘링 기술 (Scaling Techniques) 크기 / 거리 / 관리 이 세가지 관점에서 보아야 한다. 크기: 시스템의 노드..
분산시스템의 투명성 (Transparency in Distributed System) 1. Access (접근성): 데이터 표현과 리소스 엑세스 방법의 차이를 숨겨야 한다. - 각각의 컴퓨터마다 표현방법이 다를 수 있다. 예) 인코딩 / 프로그램 타입 등등 하지만 유저는 기기나 OS 상관 없이 액세스를 할 수 있다. 단 액세스 방법의 차이를 숨겨야 한다. 2. Location (위치): 리소스가 있는 위치를 숨겨야 한다. - 객체가 물리적으로 어디에 위치된지 알 수 없다. 예를들어 URL/index.html 이 주어진다면 유저는 서버컴퓨터 어디에 위치한지 알 수 없어야 한다. 3. Migration (이동): 리소스가 다른 위치로 이동 하더라도 유저와는 상관이 없어야 한다. - 분산시스템에서 리소스가 어떻게 액세스 하는지 상관없이 리소스가 옮겨지더라도 유저는 상관 없어야 한다. 4. Re..
분산시스템의 정의 분산시스템은 독립적인 컴퓨터들이 모여있지만 단일적으로 일관되게 보이는 시스템 미들웨어로 구성된 분산시스템. 미들웨어 계층은 여러시스템으로 확장되며, 각 응용프로그램에 동일한 인터페이스를 제공한다.

반응형