Skip to content

Concepts KO

elecbug edited this page Sep 24, 2026 · 3 revisions

공통 개념과 아키텍처

Wiki home › 한국어 문서 · 영어 원문

프로젝트 소개 · 개념 · 연구 · 출판·인용 · 문서 기준

버전이 바뀌어도 유지하는 설계 의도와 책임을 설명합니다. 실제 서비스·네트워크·장애 경계는 v3 구현 아키텍처에서 확인하십시오.

설계 원칙

원칙 의미
중앙 오케스트레이션 중앙 제어 영역에서 실험 실행, 피어 수명 주기와 결과 수집을 조정합니다.
다중 호스트 실행 호스트별 가용 용량과 배치 정책을 고려해 여러 서버에 피어 워크로드를 분산합니다.
탄력적인 실험 규모 실행 자원과 피어 집합을 조정하며, 요청한 실험 규모와 실제 배치·준비 상태를 함께 관측합니다.
실제 P2P 실행 피어를 모의 객체로만 표현하지 않고 실제 프로토콜 구현을 실행하여 네트워크 트래픽을 교환합니다.
피어별 컨테이너 격리 각 피어에 별도의 컨테이너와 네트워크 네임스페이스를 제공하여 개별 관리가 가능한 실험 단위로 만듭니다.

컨테이너 격리는 피어의 실행 환경과 네트워크 환경을 분리하지만, 전용 물리 자원을 제공하거나 같은 호스트의 자원 경합을 제거하지는 않습니다.

개념 아키텍처

테스트베드는 실험 제어, 분산 피어 실행, 관측이라는 세 가지 책임이 상호작용하는 구조입니다. 아래 그림은 특정 서비스 배치를 전제하지 않고 각 책임을 자세히 나타냅니다.

flowchart TB
    Researcher["연구자: 연구 질문과 비교 계획"]

    subgraph Control["중앙 실험 제어"]
        Definition["실험 정의: 피어 집합, 프로토콜, 워크로드, 조건"]
        Resources["호스트별 용량과 배치 정책"]
        Coordination["배치, 시간, 수명 주기, 워크로드 동작 조정"]
        State["실험 상태와 실행 진행 상황"]
        Definition --> Coordination
        Resources --> Coordination
        Coordination --> State
    end

    subgraph Execution["분산 실행: 호스트와 피어 연결의 예시"]
        direction LR
        subgraph HostA["실행 호스트 A"]
            LocalA["호스트별 워크로드 관리"]
            PeerA1["격리된 피어 A1: 프로토콜과 애플리케이션"]
            PeerA2["격리된 피어 A2: 프로토콜과 애플리케이션"]
            LocalA --> PeerA1
            LocalA --> PeerA2
        end
        subgraph HostB["실행 호스트 B"]
            LocalB["호스트별 워크로드 관리"]
            PeerB1["격리된 피어 B1: 프로토콜과 애플리케이션"]
            PeerB2["격리된 피어 B2: 프로토콜과 애플리케이션"]
            LocalB --> PeerB1
            LocalB --> PeerB2
        end
        PeerA1 <==>|"호스트 내 P2P 트래픽"| PeerA2
        PeerA2 <==>|"호스트 간 P2P 트래픽"| PeerB1
        PeerB1 <==>|"호스트 내 P2P 트래픽"| PeerB2
    end

    subgraph Observation["관측과 연구 분석"]
        Evidence["수명 주기, 토폴로지, 프로토콜, 전달 증거 수집"]
        Records["실험 입력과 관측 기록 보존"]
        Analysis["도달률, 지연, 중복, 오버헤드 해석"]
        Results["실행 결과 비교와 불확실성 보고"]
        Evidence --> Records --> Analysis --> Results
    end

    Researcher --> Definition
    Coordination -->|"작업과 조건 할당"| LocalA
    Coordination -->|"작업과 조건 할당"| LocalB
    LocalA -.->|"상태와 피어 관측"| Evidence
    LocalB -.->|"상태와 피어 관측"| Evidence
    Evidence -.->|"보고된 실행 상태"| State
    Definition -->|"실험 맥락"| Records
    State -.->|"진행 상황"| Researcher
    Results -->|"다음 실험에 반영"| Researcher
Loading

화살표 읽는 법. 가는 실선은 지시 또는 연구 작업 흐름, 굵은 양방향 화살표는 실험 P2P 트래픽, 점선은 관측을 나타냅니다. 그림의 호스트와 피어 연결은 예시이며, 필수 호스트 수나 고정 토폴로지 또는 완전 연결 구조를 뜻하지 않습니다. P2P 네트워크는 피어와 프로토콜 관계로 형성되며, 별도의 중앙 전달 서비스가 아닙니다.

책임 개념적 경계
실험 정의와 제어 의도한 피어 집합, 프로토콜 설정, 워크로드, 시간과 조건을 표현하고 실행을 조정하며 보고된 진행 상황을 추적합니다. 의도한 설정과 관측된 동작은 다를 수 있습니다.
호스트별 실행 할당된 작업을 개별 관리 가능한 피어 워크로드로 실행하고 로컬 실행 보고를 수집합니다. 구체적인 실행 수단과 배치 정책은 구현에 따라 달라집니다.
피어 프로토콜 실행 다른 피어를 탐색하고 연결하며, 프로토콜 관계를 유지하고 실험 메시지를 교환합니다. 중앙에서 요청한 워크로드 동작은 피어 활동을 시작하게 하지만, 제어기를 P2P 중계기로 만들지는 않습니다.
관측과 기록 실행과 프로토콜의 증거를 실험 맥락에 연결합니다. 보고가 지연되거나 누락될 수 있으므로 수집된 상태는 네트워크 전체에 대한 완전한 지식이 아닌 관측입니다.
연구 분석 측정값을 해석하고 실행 결과를 비교하며 가정과 불확실성을 보고합니다. 테스트베드 외부에서 수행하는 연구자의 작업도 포함하며, 자동 분석 서비스의 제공을 의미하지는 않습니다.

위 구분은 논리적입니다. 각 상자가 별도 프로세스, 컨테이너, 물리 네트워크 또는 장애 영역으로 분리된다는 뜻은 아닙니다. 네트워크 조건은 선택한 실험 범위의 트래픽에 작용하며, 공유 호스트 자원과 물리 연결망도 결과에 영향을 줍니다. 구체적인 서비스, 네트워크 연결, 지원 제어와 측정 한계는 v3 아키텍처 가이드를 참고하십시오.

용량과 워크로드 배치

실험의 목표 Peer 수, 호스트가 허용하는 Peer 수, 실제 ready Peer 수는 서로 다른 값입니다. 용량은 새 Peer의 생성 허용 범위이고, 배치 정책은 그 범위 안에서 실행할 호스트를 고릅니다. 생성 예약과 정리 중인 자원까지 어떤 상태를 점유로 세는지는 구현체가 정의합니다.

서로 다른 크기의 호스트에는 용량에 비례한 배치를 사용할 수 있습니다. Peer 수의 비율이 CPU·메모리 사용량의 비율을 보장하지는 않으므로, 역할과 워크로드별 자원 사용량도 함께 관측해야 합니다. 자원이 늘어나거나 줄어드는 상황에서도 목표 규모와 실제 배치·준비 상태를 구분해 기록하십시오. 탄력적 실행은 임의의 규모나 정확한 실행 간격을 보장한다는 뜻이 아닙니다.

v3의 기본값·Agent별 예외, 비례 배치 예제, 적용 시점과 기존 Peer 처리 규칙은 Agent 용량과 배치에서 정의합니다.

Clone this wiki locally