분류 전체보기 (73) 썸네일형 리스트형 분산시스템의 동기화(synchronization) 컴퓨터 또는 시스템간 동기가 필요하다. 서로 다른 프로그램 (컴파일러와 에디터)끼리의 로컬클록이 다르기에 동기가 필요하다. 컴파일러를 (A)머신, 에디터를 (B)머신에서 동작한다고 한다 A와 B머신의 로컬클럭은 2초차이가 난다. A의 로컬클럭은 2144 , 2145, 2146... B의 로컬클럭은 2142, 2143, 2144... A가 2초 늦다. B의 컴퓨터에서 2143초에 에디터를 사용하였다. 2143= B의 로컬클록 A는 2144에서 아웃풋을 하지만 되지 않는데. 2144초로써 더 이전이기 때문이다. ○ 시간(Clock or Time)의 중요성 - 컴퓨터에서 일어난 이벤트 발생시간 파악 - Data Consistency 유지 등 각종 시스템 알고리즘 구현에 이벤트 시간이 중요 ○ Clock Syn.. 분산시스템의 네이밍 Names, Identifiers, and Addresses ○ Name(이름) - 임의의 실체(Entity, Object 등)에 부여 - 실체를 구분하고 원하는 대상을 찾기 위함 ○ Identifier(ID, 식별자) - 동일한 이름을 가지는 실체를 구분 - 식별자와 실체는 1:1 관계 - 동일한 식별자는 항상 동일한 실체를 가리켜야 함 ○ Address(주소) - 실체에 Access 하는 방법 - Access Point Naming 방법 ○ Flat - Forwarding Pointer - HBA(Home-Based Address) - DHT(Distributed Hash Table) - HA(Hierarchical Approach) ○ Structured - NS(Name Space): File S.. 분산시스템의 커뮤니케이션 프로세서간의 커뮤니케이션(통신모델)이 필요하다. 통신모델 ○ 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) 크기 / 거리 / 관리 이 세가지 관점에서 보아야 한다. 크기: 시스템의 노드.. 이전 1 2 3 4 5 6 7 ··· 10 다음