[OS]다중처리 시스템 분류 — 어떻게 나뉘는가 - 21

2026. 4. 30. 10:18운영체제(OS)

다중처리 시스템과 분산처리 시스템 — 프로세서 모델, 네트워크 위상, 분산 OS

다중처리 시스템 분류 — 어떻게 나뉘는가

분산 시스템이 어떻게 구성되는지를 세 가지 관점(프로세서 모델, 네트워크 연결 구조, 운영체제 유형)으로 나눠 정리한다.

💡 핵심: 분산 시스템은 "누가 일을 하는가(프로세서 모델)", "어떻게 연결되어 있는가(네트워크 위상)", "OS가 자원을 어떻게 관리하는가(운영체제 유형)"로 분류된다.

1. 프로세서 모델에 따른 분류

분산 시스템에서 가장 먼저 따지는 건 "누가 실제 연산을 담당하는가"다. 크게 세 가지 모델로 나뉜다.

클라이언트/서버 모델 (Client/Server Model)

가장 보편적인 구조다. 요청하는 쪽을 클라이언트, 응답하고 처리하는 쪽을 서버라 한다. 클라이언트는 1RPC 형태로 서버에 요청을 보내고, 서버는 그 결과를 돌려준다. 사용자가 직접 마주하는 워크스테이션·PC가 클라이언트, 뒤에서 데이터를 처리하는 파일 서버나 DB 서버가 서버 역할을 맡는다.

공유된 다양한 자원과 기능을 여러 클라이언트에게 제공할 수 있고, 각 클라이언트는 성능이 우수한 서버의 자원을 빌려 쓰기 때문에 클라이언트 단말 자체의 사양이 낮아도 된다. 프로그램의 기능 분할과 유용성도 높일 수 있다.

클라이언트 (워크스테이션/PC)
→ RPC 요청 →
서버 (파일·DB·처리)
← 결과 반환 ←
클라이언트

유니티 개발 관점에서 보면, 게임 클라이언트(Unity 빌드)와 Dedicated Server가 정확히 이 구조다. Netcode for GameObjects의 [ServerRpc], [ClientRpc]가 RPC 호출의 현대적 구현이다. 현대에는 단일 서버 대신 마이크로서비스·쿠버네티스 클러스터로 서버를 구성하지만, 클라이언트가 요청하고 서버가 응답하는 본질은 동일하다.

프로세서 풀 모델 (Processor Pool Model)

하나 이상의 프로세서 풀(Pool)에 여러 워크스테이션, 서버가 연결된 형태다. 응용 프로그램(작업)은 클라이언트 단말이 아닌 풀의 프로세서에서 실행된다. 워크스테이션이나 터미널은 자원에 접근하는 수단만 제공할 뿐, 실제 연산은 풀이 담당한다. PAD2를 통해 데이터를 묶어 전송한다.

워크스테이션 / X 터미널
LAN
프로세서 Pool (실제 연산)

현대에서 이 모델은 AWS GameLift, Unity Multiplay 같은 게임 서버 인스턴스 풀로 구현된다. 클라이언트는 매칭 요청만 보내고, 실제 게임 로직은 할당된 서버 인스턴스(풀의 프로세서)에서 돌아간다.

혼합 모델

클라이언트/서버 모델과 프로세서 풀 모델을 합친 형태다. 사용자는 워크스테이션이나 터미널로 시스템에 접근하고, 여러 개의 프로세서 풀이 과부하 처리를 위해 할당되어 병렬 수행된다. 대규모 서비스에서 가장 일반적으로 사용되는 실무 구조이기도 하다.

모델연산 주체단말 역할현대 대응
클라이언트/서버서버요청·표시REST API, gRPC, WebSocket
프로세서 풀풀의 프로세서접근 수단만K8s Pod, GameLift Fleet
혼합양쪽 혼합상황에 따라대부분의 클라우드 아키텍처

2. 네트워크 위상(토폴로지)에 따른 분류

노드들이 물리적으로 어떻게 연결되어 있는지를 네트워크 위상(Topology)이라 한다. 연결 구조에 따라 비용, 신뢰성, 전송 속도가 달라진다.

🕸️ 완전 연결 (망형)
모든 노드가 직접 연결. 링크 수 n(n-1)/2. 신뢰성 최고.
⚠ 비용 최고
🌿 부분 연결
일부만 직접 연결. 비연결 노드는 다른 노드를 통해 접근.
⚠ 신뢰성 낮음
🌲 계층 (트리)
루트→부모→자식 구조. 통신비는 깊이에 비례.
⚠ 부모 고장 시 하위 분리
성형 (스타)
중앙 허브에 모두 연결. 구조 단순, 통신 응답 빠름.
⚠ 허브 병목·단일 장애점
🔄 환형 (링)
각 노드가 두 노드와만 연결(단일/이중). 통신비 높음.
⚠ 단방향 시 한 노드 고장=분리
🚌 버스
공유 버스에 모두 연결. 노드 추가/삭제 쉬움.
⚠ 버스 고장 시 전체 정지

완전 연결 구조 — 신뢰성 vs 비용

모든 노드(사이트)가 시스템 내의 다른 노드와 직접 연결된 구조다. 두 노드 사이는 단 하나의 회선으로 연결되어 전송속도가 빠르고, 특정 노드나 회선이 고장나도 다른 경로를 통해 통신이 유지되므로 신뢰성이 높다. 노드가 n개일 때 필요한 링크(회선) 수는 n(n-1)/2개로, 노드가 늘수록 비용이 기하급수적으로 증가한다는 단점이 있다.

현대에서 물리적 완전 연결 구조는 데이터센터 내부 스파인-리프 아키텍처에서 부분적으로 활용된다. 게임 서버에서는 P2P 멀티플레이(Steam P2P 등)가 개념적으로 완전 연결에 가깝다.

성형(스타) 구조 — 중앙 집중의 트레이드오프

특정 노드가 중심 노드로서 모든 노드들과 연결되지만, 다른 노드들끼리는 직접적인 연결이 없는 구조다. 기본 비용은 노드 개수에 따라 비례하고 통신비는 낮다. 구조가 단순하고 유지보수가 쉬우며 중앙 노드와만 경유하므로 통신 응답도 빠르다. 단, 중심 노드에서 병목현상(Bottle Neck)3이 발생하기 쉽다.

Unity Relay 서비스가 정확히 이 구조다. 클라이언트들이 직접 연결하지 않고 Relay 서버(중심 노드)를 통해 통신한다. NAT 뒤에 있는 클라이언트들도 연결이 가능해지지만, Relay 서버에 트래픽이 몰리는 병목이 발생할 수 있다.

환형(링) 구조 — 단일 vs 이중 연결

각 노드는 두 개의 노드들과만 연결된다(단일 연결). 한 방향 또는 양방향으로 통신하는 방법이 있다. 기본비용은 노드 수에 비례하며, 통신비는 매우 높다. 단방향 구조에서는 한 노드 또는 한 회선의 고장으로도 시스템이 분리된다. 양방향 구조에서는 한 노드나 한 회선의 고장으로는 시스템이 분리되지 않는다(두 개 이상의 노드나 회선의 장애 발생 시 분리). 단방향 구조라도 이중 연결을 하면 시스템 분리를 막을 수 있다.

❌ 단일 연결 (단방향)
노드 A → B → C → D → A

C가 고장나면
A, B | D 로 네트워크 분리
✅ 이중 연결 (양방향)
A ↔ B ↔ C ↔ D ↔ A

C가 고장나도
A → D → B 우회 경로 유지

다중 접근 버스 구조

시스템 내의 모든 노드들은 공유 버스에 연결된다. 기본비용은 노드 수에 따라 비례하고, 병목현상이 없으면 통신비가 저렴한 편이다. 구조가 간단하고 노드의 추가와 삭제가 쉽다. 노드의 고장은 전체 시스템에 영향을 미치지 않지만, 버스 자체의 고장은 시스템을 정지시킨다.

이더넷(Ethernet)4이 대표적인 버스 구조 방식의 LAN이다. 현재는 스위치 기반으로 발전했지만, 초기 이더넷의 CSMA/CD 방식이 공유 버스 구조의 전형적인 예다.

혼성 네트워크

서로 다른 유형의 네트워크 위상들이 혼재되어 구성된 구조다. 예를 들어 특정 부분에는 이더넷(다중 접근 버스 구조)을 사용하고, 다른 노드들 간에는 계층 구조가 사용되는 등의 형태다. 실제 기업망이나 인터넷 자체가 혼성 네트워크의 대표적인 예다.

3. 분산 범위에 따른 분류 — LAN과 WAN

분산 시스템이 얼마나 넓은 지역에 걸쳐 있는지에 따라 LAN과 WAN으로 구분한다.

근거리 통신망 (LAN: Local Area Network)

일반적으로 10km 이내의 빌딩이나, 인접한 몇 개의 빌딩 등 좁은 지역에 분산된 프로세서들과 프린터 등 주변장치들이 하나의 시스템으로 결합되어 있는 네트워크다. 노드 간 거리가 짧아 전송 에러율이 낮고 전송속도가 빠르다. 전송 지연 시간도 비교적 짧고 고른 편이다.

메시지 전송 비용은 메시지 크기에 비례하고, 주로 공동 목표의식이 높은 조직 내의 구성으로 적합하며 자원의 공유목적이 강하다. LAN에는 주로 버스형, 링형, 성형 구조를 사용하며, WAN보다 통신 속도가 빨라야 한다. LAN 사이의 데이터 교환에는 브릿지(Bridge)를 사용한다. 브릿지는 데이터와 함께 전송되어 오는 주소를 판독하고 기록되어 있는 주소 목록과 대조하는 역할을 한다.

광대역 통신망 (WAN: Wide Area Network)

국가단위나 대륙간 등 지역적으로 넓게 분포된 노드(사이트)의 분산으로, 통신은 느린 편이고 신뢰성이 낮다. 일정 지역 내의 노드들은 LAN으로 연결된 후 이들을 다시 연결하는 방식이다. WAN의 통신회선들은 특정 통신 프로세서에 의해 제어되며, 노드간 정보 전송과 통신에 필요한 인터페이스가 되어준다.

인터넷 WAN은 LAN의 호스트(Host)간 상호 통신을 제공하며, 호스트 컴퓨터들은 형태, 속도, 워드길이, 운영체제 등이 서로 다를 수 있다. LAN은 글로벌 네트워크와 접속하기 위해 라우터(Router)를 이용하며, 라우터는 네트워크상에 전송되는 메시지의 통신 경로를 제어해 준다.

LAN
범위: 건물·캠퍼스 (10km↓)
속도: 빠름
에러율: 낮음
위상: 버스·링·성형
연결 장치: 브릿지
WAN
범위: 국가·대륙
속도: 느림
신뢰성: 낮음
위상: 혼성
연결 장치: 라우터

4. 운영체제 유형에 따른 분류

분산 시스템의 자원을 어떻게 관리하느냐에 따라 네트워크 운영체제와 분산 운영체제로 나뉜다.

네트워크 운영체제

각 노드는 독자적인 운영체제를 가지고 수행하다가, 필요한 경우만 다른 노드와 통신하기 위해 원격 노드로의 로그인을 하거나, 원격 시스템으로부터 필요한 자원을 전달받는다. 사용자는 시스템의 각 장치에 대하여 알고 있어야 한다. 네트워크 운영체제는 사용자에게 원격으로 로그인할 수 있게 한다. 인터넷은 이를 위해 텔넷 기능을 제공한다.

지역적으로 멀리 떨어져 있는 대규모 시스템에 적합하나, 자원공유가 복잡하다. 구현이 쉽고, 장애 발생 시 해당 작업만 잃는다. 현재의 SSH 접속, 원격 서버 관리가 이 개념의 연장선이다.

분산 운영체제

하나의 운영체제가 전체 시스템(모든 노드들)의 자원을 관리한다. 사용이 쉽고, 원격의 자원도 지역자원과 같이 쉽게 접근한다. 네트워크 운영체제에 비하여 많은 노력이 필요하지만 네트워크 관리, 유지·보수 등이 쉽다. 자원이나 프로세스를 요청한 컴퓨터에게 이주시켜 줌으로써 자원을 사용할 수 있게 해준다.

분산 OS — 이주(Migration) 3종류

데이터 이주 (Data Migration)
데이터를 요청한 컴퓨터로, 요청 받은 컴퓨터는 해당 데이터의 복사본을 전송한다. 사용자 컴퓨터에서 더 이상 데이터가 필요하지 않으면, 데이터의 복사본을 원래의 컴퓨터로 보낸다.

연산 이주 (Computation Migration)
요청한 데이터를 지니고 있는 컴퓨터에서 데이터를 처리하여 그 결과를 요청한 컴퓨터에게 전송해 주는 방식이다. 프로세스가 특정 노드에 접근하면, 원격 프로시저 호출을 통해 이동한다. 전송할 데이터가 많은 요청은 데이터를 직접 전송하는 것보다, 요청 받은 컴퓨터에서 데이터를 처리하여 그 결과만 전송시키는 것으로 효율성이 높다.

프로세스 이주 (Process Migration)
연산 이주에 대한 논리적 이주가 프로세스 이주다. 전체 프로세스 또는 일부의 프로세스를 다른 컴퓨터에서 실행되도록 하는 방식으로, 전체 구성 시스템의 부하를 균등화하고, 연산속도를 향상시키며, 프로세스를 실행하는 하드웨어가 더 적합한 컴퓨터에게 작업을 의뢰하는 등의 장점이 있다.

현대의 Docker 컨테이너 마이그레이션, 서버리스(Lambda) 함수 실행이 프로세스/연산 이주의 구현이다. 쿠버네티스에서 Pod를 다른 노드로 옮기는 것도 프로세스 이주의 현대적 형태다.

구분네트워크 OS분산 OS
자원 관리각 노드 독자 OS단일 OS가 전체 관리
사용자 인식각 장치를 알아야 함단일 시스템처럼 투명
구현 난이도쉬움어려움
원격 자원 접근로그인 필요지역자원처럼 접근
현대 예시SSH, 원격 데스크톱K8s, 분산 파일 시스템

📎 용어 설명

  1. RPC (Remote Procedure Call) — 원격 절차 호출, 원격 프로시저 호출. 네트워크를 통해 다른 컴퓨터의 함수를 마치 로컬 함수처럼 호출하는 방식
  2. PAD (Packet Assembler Disassembler) — 각종 데이터를 일정량 묶어 전송하는 장비
  3. 병목현상 (Bottle Neck) — 시스템의 가용 자원 중, 특정 부분에 부하가 많이 걸려 전체 시스템 효율을 저하시키는 현상
  4. 이더넷 (Ethernet) — 가장 대표적인 버스 구조 방식의 근거리통신망(LAN)
운영체제 분산시스템 네트워크 클라이언트서버 네트워크위상 LAN WAN 분산OS Unity