config - dlstkdals123/MDC-Multi-hop-Distributed-Computing GitHub Wiki

λ§ˆμ§€λ§‰ μˆ˜μ •μΌ: 2025-06-03

Home: :link: 맀뉴얼

config

λ‹€μ–‘ν•œ 정보λ₯Ό ν¬ν•¨ν•˜λŠ” κ°μ²΄λ“€μž…λ‹ˆλ‹€.
μ•„λž˜λŠ” μ˜ˆμ‹œμž…λ‹ˆλ‹€.

{
    "NetworkInfo": {
        "queue_name": "LRLO",
        "scheduling_algorithm": "scheduling/Dijkstra.py",
        "collect_garbage_job_time": 300,
        "jobs": {
            "test job 1": {
                "job_type": "dnn",
                "model_name": "yolov5",
                "warmup": "True",
                "warmup_input": [1, 3, 320, 320],
                "split_points": [
                    [0, 0],
                    [0, 1],
                    [1, 2],
                    [2, 3],
                    [3, 4]
                ],
                "source": "192.168.1.5",
                "destination": "192.168.1.8"
            }
        },
        "network": {
            "192.168.1.5": ["192.168.1.6"],
            "192.168.1.6": ["192.168.1.8"],
            "192.168.1.7": ["192.168.1.8"],
            "192.168.1.8": []
        },
        "router": [
            "192.168.1.5"
        ]
    },
    "Controller": {
        "experiment_name": "LRLO_JN_V_30000000",
        "sync_time": 1.0
    }
}

NetworkInfo

  • "queue_name": "LRLO": μ™ΈλΆ€ ν”„λ‘œμ„ΈμŠ€μ™€ 톡신할 λ•Œ ν•„μš”ν•œ named pipe의 μ΄λ¦„μž…λ‹ˆλ‹€.
  • "scheduling_algorithm": "scheduling/Dijkstra.py: μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜ 객체λ₯Ό λ‚˜νƒ€λ‚΄λŠ” κ²½λ‘œμž…λ‹ˆλ‹€.
  • "collect_garbage_job_time": 300: κ°€λΉ„μ§€ μ»¬λ ‰μ…˜ μž‘μ—… μ£ΌκΈ°μž…λ‹ˆλ‹€. λ‹¨μœ„λŠ” (λΆ„)μž…λ‹ˆλ‹€.

jobs

"jobs": {
    "test job 1": {
        "job_type": "dnn",
        "model_name": "yolov5",
        "warmup": "True",
        "warmup_input": [1, 3, 320, 320],
        "split_points": [
            [0, 0],
            [0, 1],
            [1, 2],
            [2, 3],
            [3, 4]
        ],
        "source": "192.168.1.5",
        "destination": "192.168.1.8"
    }
},

λ„€νŠΈμ›Œν¬μ— μžˆλŠ” μž‘μ—… μ •λ³΄μž…λ‹ˆλ‹€.

  • test job 1: μž‘μ—…μ˜ μ΄λ¦„μž…λ‹ˆλ‹€.
  • job_type: ν•΄λ‹Ή μž‘μ—…μ˜ μœ ν˜•μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
  • model_name: ν•΄λ‹Ή μž‘μ—…μ„ μ²˜λ¦¬ν•  λͺ¨λΈμž…λ‹ˆλ‹€. utils/utils.py의 load_model()에 μ •μ˜λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.
  • warmup: DNN의 warmup μ—¬λΆ€λ₯Ό κ²°μ •ν•©λ‹ˆλ‹€.
  • warmup_input: warmup의 크기λ₯Ό κ²°μ •ν•©λ‹ˆλ‹€.
  • split_points: DNN을 splitν•  ꡬ간을 κ²°μ •ν•©λ‹ˆλ‹€.
  • source: μž‘μ—…μ˜ μ‹œμž‘ μœ„μΉ˜λ₯Ό κ²°μ •ν•©λ‹ˆλ‹€.
  • destination: μž‘μ—…μ˜ μ™„λ£Œ μœ„μΉ˜λ₯Ό κ²°μ •ν•©λ‹ˆλ‹€.

network

"network": {
    "192.168.1.5": ["192.168.1.6"],
    "192.168.1.6": ["192.168.1.8"],
    "192.168.1.7": ["192.168.1.8"],
    "192.168.1.8": []
},

λ„€νŠΈμ›Œν¬ 정보λ₯Ό λ°©ν–₯ κ·Έλž˜ν”„λ‘œ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
결과적으둜 μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

router

"router": [
    "192.168.1.5"
],

router에 ν¬ν•¨λœ NodeλŠ” DNN을 κ³„μ‚°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  • sync_time: 동기화 μ‹œκ°„.

ControllerInfo

  • "experiment_name": "LRLO_JN_V_30000000": κ²°κ³Όλ₯Ό μ €μž₯ν•˜λŠ” 폴더 이름에 μ‚¬μš©λ©λ‹ˆλ‹€.
  • "sync_time": 1.0: 정보λ₯Ό μˆ˜μ§‘ν•˜λŠ” μ£ΌκΈ°μž…λ‹ˆλ‹€. backlog와 gpu μ‚¬μš©λŸ‰μ„ μΆ”μ ν•©λ‹ˆλ‹€.