CS/아키텍쳐 & 분산시스템


Communication분산 시스템에서 공통적으로 접근하는 Shared Data에 대한 동기화(Synchronization)를 위해서 필요하다.이를 위해서 분산 시스템 간의 의사소통이 필요하기 때문에 Communication의 방법론들이 탄생하게 되었다. 두 가지 Communitcation 방법Shared Memory : 직접 메모리 엑세스(스레드), 매핑된 메모리(프로세스)물리적으로 메모리를 공유할 수는 없음Message : OS의 IPC, 네트워크를 통한 통신Latency(지연 시간) 발생Failure 확률 상승Heterogeneity로 인한 비호환성 발생 가능 분산시스템의 Communication 종류1. Message-oriented Communication2. RPC (Remote Proced..


Architecture(아키텍처) 시스템 아키텍쳐컴퓨터(머신)의 배치 방법, 머신에 소프트웨어의 배치 방법소프트웨어 아키텍쳐소프트웨어 컴포넌트의 논리적 구성 및 역할에 대한 구성이벤트 중심 , 레이어, 객체지향 아키텍쳐 등등 레이어 아키텍쳐(Layerd Architecture)기능을 계층으로 쪼개어 각자의 기능에 충실하게 함각 레이어는 이전 레이어를 사용하여 상위 레이어로 Export 되도록 → 상위, 하위 계층과만 교류가 가능하도록 제약조건을 걸음예를 들어 TCP는 4계층하나의 계층이 문제가 생기면 Bottleneck(병목 현상) 발생 가능, Single Point of Failure 객체 기반 아키텍쳐(Object-based) Client-Server Architecture(클라어언트..


Multiprocessors vs Multicomputers Shared Memory(Multiprocessors)Shared Memory 아키텍처는 여러 프로세스 또는 스레드가 단일 공유 메모리에 접근하는 컴퓨팅 시스템. 모든 프로세서가 동일한 주소 공간에 접근할 수 있으며, 데이터 공유 및 통신이 용이하다.동시에 공유 메모리에 접근하는 경우 경쟁 조건과 동기화 문제가 발생할 수 있음.Private Memory(Multicomputer)각 프로세서가 자체 독립적인 메모리를 가지고 있으며, 데이터 공유와 프로세서 간의 통신은 네트워크를 통해 이루어진다.확장성과 동기화 문제가 감소한다. Bus-based Architecture프로세서 및 메모리 간의 통신에 Bus(공유 데이터 경로)를 사용.버스는 모든 프..


분산 시스템이란? 네트워크로 연결되어 있음어떤 목표를 달성하기 위해 함께 작동하는 독립적인 컴퓨터들의 집합소프트웨어 : 사용자에게는 하나의 싱글 시스템처럼 보이게됨(분산 인식을 잘 모름)하드웨어 : 자율 컴퓨터 → OS/메모리/클럭를 공유하지 않고 자기만의 것을 가지고 있음.(상이한 성질의 서버 컴퓨터들이라고 보면 분산 환경을 운영하기 어려움 → 미들웨어) Flynn의 분산 시스템 체계 Flynn의 분산 시스템을 분류하기 위한 방법으로 다음 네 가지 주요 유형으로 정의하였다.SISD (Single Instruction, Single Data)하나의 처리기(CPU)가 하나의 명령어를 실행하고 하나의 데이터를 처리한다.병렬 처리의 이점을 제공하지 않는다.SIMD (Single Instruction, M..