TSN 스케줄링 심층 분석 및 AI 제안

시간 민감형 네트워크(TSN)에서의 효율적인 트래픽 스케줄링, 특히 Gate Control List (GCL) 관리의 중요성과 당면 과제를 살펴봅니다.

TSN의 목표는?

산업 자동화, 자동차 등에서 일반 이더넷으로 결정론적 통신 (정해진 시간에 데이터 도착)을 가능하게 하는 것.

핵심 기술: TAS

Time-Aware Shaper (802.1Qbv): 트래픽 클래스별로 게이트(Gate)를 열고 닫아 전송 시점을 정밀 제어.

핵심 과제: GCL 스케줄링

이 게이트들의 On/Off 스케줄 목록인 Gate Control List (GCL)을 어떻게 최적으로 구성할 것인가? 이것이 핵심!

본 프레젠테이션은 Arestova et al. (2023) 논문을 중심으로 이 문제를 분석하고, AI 기반의 미래 방향을 제시합니다.

GCL 관리 접근법: 정적 vs 동적

Gate Control List (GCL)을 관리하는 스케줄링 전략은 크게 두 가지로 나뉩니다:

정적 (Static / Offline)

  • 언제? 네트워크 시작 전체 GCL 계산 완료.
  • 장점: 높은 예측 가능성, 결정론적 동작 보장.
  • 단점: 유연성 부족 (변경 시 전체 재계산 필요).
  • Arestova et al. 논문은 이 방식에 집중합니다.

동적 (Dynamic / Online)

  • 언제? 네트워크 운영 실시간 GCL 결정/조정.
  • 장점: 변화에 대한 유연한 대응 가능.
  • 단점: 최적성 보장 및 구현 어려움, 빠른 계산 필수.
  • 본 발표 후반부 AI 대안의 목표 지점입니다.

어떤 방식이 더 좋을까?

정적 방식은 안전이 최우선인 시스템에, 동적 방식은 변화가 잦은 환경에 유리할 수 있습니다. 이상적으로는 두 방식의 장점을 결합한 접근법이 필요할 수 있습니다.

논문 분석: 정적 스케줄링 심층 탐구

Arestova et al. (2023) - IEEE Access"Optimization of Bandwidth Utilization and Gate Control List Configuration in 802.1Qbv Networks"

이제 Arestova 연구팀의 논문을 통해 정적(Offline) GCL 스케줄링 방법론을 자세히 살펴보겠습니다. 이들은 다양한 알고리즘과 최적화 기법을 통해 다음 목표를 달성하고자 했습니다:

  • 스트림의 마감 시간(deadline) 준수 (가장 중요).
  • 전체 스케줄 길이(makespan) 최소화.
  • 효율적인 대역폭 활용 및 GCL 엔트리 수 최적화.

이어지는 내용 상세 안내

  1. GCL 기본 및 핵심 용어 정의 (논문 이해를 위한 기초)
  2. 논문의 핵심 방법론:
    • 스트림 주기 특성 및 GCL 주기 결정 방식 (GCD vs. HYPO)
    • 슬롯 할당 알고리즘 (1S 휴리스틱, 수식 포함)
    • 유전 알고리즘 (GA) 적용
    • GCL 최적화 기법 (병합, 압축)
  3. 논문의 주요 실험 결과 및 결론

Paper: GCL 기본 및 핵심 용어 정의

논문에서 Time-Aware Shaper (TAS)는 TDMA (Time Division Multiple Access) 원리로 동작합니다. 즉, 시간은 슬롯으로 나뉘고, 각 슬롯은 특정 트래픽 클래스에 예약될 수 있습니다. 이 정교한 시간 기반 스케줄은 Gate Control List (GCL)로 표현됩니다.

스트림의 스케줄링 시작 시간 (릴리즈 오프셋)은 종종 Φ (Phi, /faɪ/) 기호로 표현되며, 이는 특정 기준 시점(예: GCL 주기의 시작)으로부터의 시간 오프셋을 의미합니다.

GCL의 핵심 구성 요소

  • GCL 엔트리 (Gate Control List Entry):

    하나의 GCL 엔트리는 GCL 테이블의 한 행에 해당하는 구체적인 규칙입니다. 이 규칙은 다음 두 가지를 정의합니다:

    1. 시간 간격 (Time Interval Duration): 이 규칙이 얼마 동안 적용될지 (예: 10 마이크로초).
    2. 게이트 상태 (Gate States): 해당 시간 간격 동안 스위치 포트의 모든 8개 트래픽 큐(Queue) 각각의 게이트가 열릴지(Open) 닫힐지(Closed)를 나타내는 8비트 값. (논문 Fig 1a의 예: 10000000 = 최상위 우선순위 큐 7만 Open, 나머지는 Closed).
  • 게이트 동작 (Gate Operation): GCL 엔트리에 따라 특정 큐의 게이트가 열리면, 해당 큐에 대기 중이던 트래픽(프레임)의 전송이 허용됩니다. 만약 여러 큐의 게이트가 동시에 열리도록 설정된 엔트리가 있다면, IEEE 802.1Q 표준에 따라 일반적으로 더 높은 우선순위의 큐가 먼저 서비스됩니다 (Strict Priority).
  • GCL 주기 (GCL Cycle Time): GCL은 프로그래밍된 전체 엔트리 목록(즉, 전체 스케줄 테이블)을 실행한 후, 다시 처음부터 주기적으로 반복합니다. 이 반복되는 전체 GCL 스케줄의 길이를 GCL 주기라고 합니다.
  • GCL 엔트리 수 (Number of GCL Entries): 하나의 GCL 주기 동안 사용되는 총 GCL 엔트리(규칙)의 개수를 의미합니다. 하드웨어 스위치는 저장할 수 있는 GCL 엔트리 수에 제한이 있으므로 (예: 128개 또는 1024개), 이 수를 최소화하는 것이 중요합니다.
  • GCL 적용 단위 (Per-Egress-Port Basis): GCL은 각 TSN 스위치의 개별 Egress Port (나가는 포트) 마다 독립적으로 설정됩니다. 따라서 하나의 스트림이 여러 스위치(홉)를 거쳐 간다면, 각 스위치의 해당 Egress Port에 설정된 GCL에 의해 그 통과가 제어됩니다. 한 포트의 GCL 엔트리 수는 해당 포트를 통과하는 *모든* 스케줄된 스트림들을 관리하는 데 필요한 규칙의 복잡성에 따라 결정됩니다. (즉, 한 스트림의 홉 수가 직접 GCL 엔트리 수를 결정하는 것은 아닙니다.)
  • 가드 밴드 (Guard Bands): (논문 Fig 1b 참조) 중요 트래픽(예: Scheduled Traffic)을 위한 시간 슬롯이 끝나기 직전에 설정되는 짧은 보호 시간입니다. 이 시간 동안에는 비중요 트래픽(예: Best Effort)의 전송 시작이 금지되어, 비중요 트래픽이 중요 트래픽의 예약된 슬롯을 "침범"하는 것을 방지합니다. 논문에서는 고정 크기 가드 밴드가 때로 불필요한 대역폭 낭비를 유발할 수 있다고 지적합니다.

논문의 핵심 도전 과제

이러한 GCL을 최소한의 엔트리 수로 구성하면서도, 모든 중요 트래픽의 마감 시간(deadline)을 철저히 준수하고, 동시에 네트워크 대역폭을 최대한 효율적으로 활용하는 최적의 스케줄링 방법을 찾는 것이 이 논문의 핵심 목표이자 주요 도전 과제입니다.

Paper Method: 스트림 주기 & GCL 주기 결정

논문은 스케줄링 알고리즘의 입력 데이터 특성과 GCL의 기본 주기 설정 방식을 중요한 요소로 다룹니다 (논문 Fig. 6 참조).

1. 스트림 주기 (Stream Period) 특성

  • 조화 (Harmonic) 주기: 모든 스트림 주기가 서로 정수배 관계이거나 특정 기본 주기의 배수인 경우. (예: 2ms, 4ms, 8ms는 모두 2ms의 배수).
    이론적으로 분석이 용이하지만, 실제 환경에서는 드물 수 있습니다.
  • 비조화 (Non-harmonic) 주기: 스트림 주기들이 서로 정수배 관계가 아닌 경우. (예: 2ms, 5ms, 7ms).
    실제 산업/차량 환경에서 더 일반적입니다.

2. GCL 주기 (GCL Cycle Time) 결정 방식 (논문 Fig. 7 참조)

GCL이 반복되는 전체 시간을 어떻게 설정할 것인지에 대한 두 가지 주요 전략입니다:

GCD (Greatest Common Divisor) 방식

(주로 조화 주기 스트림에 적용) 스트림 주기들의 최대공약수를 GCL 주기로 사용합니다.
analogy: GCL을 짧고 반복되는 "음악 루프" (예: 2ms 길이)라고 생각해보세요.

동작 원리 상세 설명 (예시):

  • 설정: GCL Cycle Time = GCD = 2ms. 스트림 SA (주기 pA=4ms), 스트림 SB (주기 pB=6ms).
  • SA (4ms 주기): pA / GCD = 4ms / 2ms = 2. 즉, SA는 매 2번째 2ms GCL 루프가 실행될 때마다 전송되어야 합니다.
    • SA의 "파트"는 2ms GCL 루프 내의 특정 상대적 오프셋 ΦA_rel (예: 0.5ms)에 배치됩니다.
    • 실제 전송 시간:
      - 0ms~2ms (1st 루프): SA 전송 (at 0.5ms).
      - 2ms~4ms (2nd 루프): SA 침묵 (주기는 4ms).
      - 4ms~6ms (3rd 루프): SA 전송 (at 4ms + 0.5ms = 4.5ms).
  • SB (6ms 주기): pB / GCD = 6ms / 2ms = 3. 즉, SB는 매 3번째 2ms GCL 루프가 실행될 때마다 전송되어야 합니다.
    • SB의 "파트"는 2ms GCL 루프 내의 특정 상대적 오프셋 ΦB_rel (예: 1.0ms)에 배치됩니다.
    • 실제 전송 시간:
      - 0ms~2ms (1st 루프): SB 전송 (at 1.0ms).
      - 2ms~4ms (2nd 루프): SB 침묵.
      - 4ms~6ms (3rd 루프): SB 침묵.
      - 6ms~8ms (4th 루프): SB 전송 (at 6ms + 1.0ms = 7.0ms).
  • 2ms GCL 테이블 구성: 스위치에 프로그램되는 GCL은 이 2ms "루프"입니다. 이 루프는 SA의 파트(0.5ms에 시작)와 SB의 파트(1.0ms에 시작)를 모두 포함해야 합니다 (겹치지 않도록). TAS 시스템은 현재 전체 시간과 각 스트림의 주기를 알고 있어, GCL 루프가 반복될 때마다 어떤 스트림의 "파트"를 실제로 활성화(게이트를 열지)할지 결정합니다.
  • GCL 엔트리 수: 이 짧은 2ms "루프" GCL 템플릿에 있는 총 규칙(행)의 수입니다.
  • 'Alternating (ALT)' 최적화: (논문 Fig. 7a 'ALTERNATED') SA의 두 번째 전송(원래 4-6ms 루프)을 더 일찍 (예: 2-4ms 루프)으로 옮길 수 있다면, 해당 루프가 덜 혼잡할 경우 그렇게 합니다. 이는 부하를 분산시키지만, 스트림의 절대 전송 시작 시간을 약간 변경할 수 있습니다 (주기는 유지).
  • 단점: 주기가 서로소에 가까우면 GCD가 매우 작아져(예: 1µs) GCL 루프가 극도로 짧아지고, 이를 관리하기 위한 엔트리 수가 폭증하거나 스케줄링이 비효율적일 수 있습니다.
HYPO (Hyperperiod) 방식

모든 스트림 주기의 최소공배수(Hyperperiod)를 GCL 주기로 사용합니다. 예를 들어 2ms, 5ms 스트림이 있다면 Hyperperiod는 10ms입니다. GCL은 10ms마다 반복됩니다.

동작 원리:

  • 모든 스트림의 전체 반복 패턴을 하나의 긴 GCL 주기(Hyperperiod)에 직접 명시적으로 모두 배치합니다.
  • 예시: 스트림 Sk (주기 pk), GCL 주기 = Hyperperiod. Sk는 Hyperperiod 내에 N = Hyperperiod / pk 번 나타납니다. 각 N개의 인스턴스에 대한 GCL 엔트리가 GCL 테이블에 명시적으로 존재합니다. (논문 Fig. 8: Hyperperiod=4ms, 스트림 S1 p1=2ms. S1은 이 4ms GCL 내에 0ms와 2ms에 두 번 스케줄됨).
  • 장점: 비조화 주기 처리 및 다양한 스트림 패턴 수용에 자연스럽고 유리합니다.
  • 단점: Hyperperiod가 매우 길어지면 (예: 주기가 많은 서로소 관계일 때), GCL 테이블의 길이가 엄청나게 길어져 GCL 엔트리 수가 과도하게 많아질 수 있습니다.

입력 데이터 순서의 영향

논문은 또한 스케줄링 알고리즘에 입력되는 스트림의 순서(무작위 순서 vs. 주기가 짧은 순서로 정렬 - Rate Monotonic과 유사)가 결과에 미치는 영향도 분석했습니다. 정렬은 일부 경우에 도움이 될 수 있지만 항상 우위를 보이지는 않았습니다.

Paper Method: 슬롯 할당 알고리즘 (1S 휴리스틱)

논문에서 제시된 1S(One-Shot) 휴리스틱(Heuristic) 알고리즘의 핵심은 각 TSN 스트림에 대해 적절한 전송 슬롯을 찾는 것입니다 (논문 Section V-B 및 [17] 참조). 휴리스틱이란, 항상 최적의 해를 보장하지는 않지만, 경험적 규칙이나 직관에 기반하여 합리적인 시간 내에 만족스러운 해를 찾는 방법론을 말합니다. 이 알고리즘은 다음 원칙에 따라 동작합니다:

1. No-Wait 원칙 (End-to-End)

스트림이 송신 노드(talker)에서 전송을 시작하면, 중간 노드들의 egress 큐에서 다른 스트림에 의해 대기하는 시간 없이 목적지(listener)까지 도달해야 합니다. 즉, 경로상의 모든 링크에서 스트림은 예약된 전용 슬롯을 사용하며, 큐잉 지연이 발생하지 않습니다.

2. 슬롯 탐색 및 배치 (논문 Fig. 8, 9, 10 참조)

주어진 스트림 Sk (주기 pk, 초기 릴리즈 오프셋 Φk_orig, 마감시간 dk, 프레임 길이 lk)에 대해, 실제 스케줄링 오프셋을 Φ'k (Phi prime)이라 합니다 (Φ'k ≥ Φk_orig).

  1. 초기 시도: 송신 노드에서 초기 스케줄링 오프셋 Φ'k = Φk_orig로 설정하고, 첫 번째 링크에서 이 시간에 스트림 Sk를 위한 슬롯을 찾습니다.
  2. 경로상 전파 (No-Wait 유지): 스트림이 경로의 현재 링크 (i,j)에서 전송을 완료하면, 다음 링크 (j,m)에서의 도착 시간은 다음과 같이 계산됩니다:
    도착시간(j,m) = 시작시간(i,j) + Dktrans,(i,j) + Dprop,(i,j) + Dproc,j
    이 계산된 도착 시간에 다음 링크 (j,m)에서 Sk를 위한 슬롯이 즉시 사용 가능해야 합니다. (논문 Fig. 4, 5 참조)
  3. 등간격 슬롯 (Equidistant Slots): 스트림 Sk가 GCL 주기 내에 여러 번 전송되어야 하는 경우 (즉, Hyperperiod / pk > 1), 각 인스턴스는 정확히 pk 시간 간격으로 배치되도록 합니다. 이는 지터(jitter, 전송 간격의 변동성) 감소에 도움을 줍니다. (논문 Fig. 8의 S1 예시)
    • HYPO 방식: Hyperperiod 내에서 pk 간격으로 빈 슬롯들을 탐색합니다.
    • GCD 방식: 스트림 주기가 GCD의 M배 (pk = M * GCD)인 경우, 첫 번째 인스턴스가 k번째 GCD 세그먼트에 배치되면, 다음 인스턴스는 (k+M)번째 GCD 세그먼트의 동일한 상대적 위치에 배치되도록 합니다. (논문 Fig. 9의 S2 예시: p2=4ms, GCD=2ms. S2가 GCD0에 배치되면 다음은 GCD2에 배치)
  4. 슬롯 충돌 시 오프셋 조정: 만약 경로상의 어떤 링크에서 필요한 시간에 슬롯을 찾을 수 없다면 (다른 스트림이 이미 사용 중), 송신 노드에서의 시작 오프셋 Φ'k를 약간 증가시켜 (예: 다음 가능한 시간 단위로) 슬롯 탐색 과정을 1단계부터 다시 시도합니다.
  5. 마감 시간 검증: 모든 경로에서 슬롯이 성공적으로 할당되면, 최종 종단 간 지연이 스트림의 마감 시간을 만족하는지 아래의 스케줄 가능성 조건으로 확인합니다. 만족하지 못하면 해당 Φ'k로는 스케줄링 실패입니다 (다른 Φ'k로 재시도 또는 스케줄 불가 처리).

3. 주요 수식 설명 (논문 참조)

종단 간 전송 지연 (End-to-End Transmission Delay) - e2ek (논문 Eq. 1)

스트림 Sk의 순수 전송 관련 지연 합계 (스케줄링 오프셋 Φ'k 제외). 경로 ptk의 각 링크 (i,j)(송신노드 i에서 수신노드 j로)에 대해:

e2ek = Σ(i,j) ∈ ptk (Dktrans,(i,j) + Dprop,(i,j)) + Σj ∈ intermediate_nodes (Dproc,j)

  • Dktrans,(i,j) (전송 지연): 링크 (i,j)에서 스트림 Sk의 프레임(lk 바이트)을 모두 전송하는 데 걸리는 시간. ((lk * 8 bits) / link_speed_in_bps).
  • Dprop,(i,j) (전파 지연): 링크 (i,j)를 통해 신호(첫 비트)가 물리적으로 전달되는 데 걸리는 시간. (케이블 길이 및 매체 종류에 따라 다름).
  • Dproc,j (처리 지연): 중간 스위치 노드 j에서 프레임을 수신하고, 처리하고, 다음 포트로 전달 준비하는 데 걸리는 고정 지연.

(논문에서는 수식이 약간 단순화되어 Dproc가 모든 링크에 포함된 것처럼 보일 수 있으나, 실제로는 스위치에서 발생합니다. 첫 송신 노드의 처리 지연은 보통 제외됩니다.)

스케줄 가능성 조건 (Schedulability Condition) - (논문 Eq. 2)

스트림 Sk는 최종 스케줄링 오프셋 Φ'k (송신 노드에서의 실제 전송 시작 시간)와 계산된 종단 간 지연 e2ek의 합이 마감시간 dk (이 논문에서는 주기가 마감시간과 같다고 가정, dk = pk) 이내여야 스케줄 가능합니다:

Φ'k + e2ek ≤ dk

이는 스트림이 마감시간 내에 목적지에 도착함을 보장하는 조건입니다.

1S 휴리스틱의 의미

이 슬롯 할당 알고리즘은 "1S (One-Shot)" 휴리스틱입니다. 즉, 주어진 스트림 순서에 대해 한 번의 시도로 스케줄을 찾으려고 합니다. 만약 특정 스트림 순서로 해를 찾지 못하면, 다른 순서를 시도해야 합니다 (이것이 GA가 하는 역할입니다). 논문에서는 이 기본 휴리스틱을 바탕으로 다양한 변형(입력 정렬, Alternating 전략 등)을 실험합니다.

Paper Method: 유전 알고리즘 (GA) 접근

1S 휴리스틱이 최적해를 찾지 못하거나 더 나은 스케줄을 탐색하기 위해, 논문은 유전 알고리즘(GA)을 사용합니다 (논문 Section II-B, V-E 참조). GA는 생물학적 진화 과정을 모방한 메타휴리스틱(Meta-heuristic) 탐색 기법입니다. 메타휴리스틱이란, 특정 문제에만 국한되지 않고 다양한 종류의 최적화 문제에 적용될 수 있는 상위 수준의 일반적인 문제 해결 전략이나 방법론을 의미합니다.

1. GA 기본 구성 요소

  • 개체 (Individual) 및 염색체 (Chromosome):
    • 각 개체는 하나의 잠재적 해(스케줄)를 나타냅니다.
    • 염색체는 이 해를 인코딩한 것으로, 본 논문에서는 스케줄링할 스트림들의 순서(permutation)로 표현됩니다. (논문 Fig. 2)
      (예: 염색체 [S1, S3, S2, S4]는 S1, S3, S2, S4 순서로 1S 휴리스틱을 적용하여 스케줄링 시도)
    • 염색체에서 각 스트림 ID (예: S1)가 유전자(Gene)이고, 스트림 ID 값 자체가 대립형질(Allele)입니다.
  • 적합도 함수 (Fitness Function):
    • 각 개체(즉, 특정 스트림 순서로 스케줄링한 결과)가 얼마나 좋은 해인지를 평가합니다.
    • 논문에서는 주로 makespan (모든 스트림의 전송이 완료되는 총 시간)을 최소화하는 것을 목표로 합니다. 마감 시간을 만족하지 못하는 스케줄은 매우 낮은 적합도를 갖거나 유효하지 않은 해로 간주됩니다.
  • 선택 (Selection): 적합도가 높은 개체들이 다음 세대로 생존하거나 번식(교차 연산의 부모로 선택)될 확률이 높아집니다. 논문에서는 엘리트주의적 접근(elitist approach)을 언급하며, 이는 현재 세대에서 가장 우수한 개체(들)이 다음 세대로 그대로 전달됨을 의미합니다.
  • 교차 (Crossover - 논문 Fig. 3의 PBX 예시):
    • 두 부모 개체의 염색체(스트림 순서) 일부를 조합하여 새로운 자식 개체를 생성합니다.
    • 논문에서는 PBX (Position-based Crossover, 위치 기반 교차)를 주로 사용합니다. PBX의 단계는 다음과 같습니다 (논문 Fig. 3 그림을 상상하며):
      1. 두 부모 염색체 P1, P2를 선택합니다. (예: P1=[S2,S3,S4,S5,S6,S1], P2=[S1,S2,S5,S3,S4,S6])
      2. 염색체 길이 내에서 무작위로 몇 개의 위치(position)를 선택합니다. (Fig. 3에서는 1번째와 4번째 위치 - 0부터 시작하는 인덱스로는 0과 3 - 를 선택했다고 가정할 수 있으나, 논문 그림은 1-based index로 {1, 4}를 사용하겠습니다.)
      3. 첫 번째 자식 염색체 O1을 만듭니다. 선택된 위치 {1, 4}에 있는 P1의 유전자(스트림)를 O1의 동일 위치에 복사합니다.
        (P1의 1번째는 S2, 4번째는 S5. 따라서 O1 = [S2, ?, ?, S5, ?, ?])
      4. O1의 나머지 빈칸을 채웁니다. P2의 유전자들을 P2에서의 순서대로 가져오되, O1에 아직 없는 유전자만 골라 빈칸에 순서대로 채웁니다.
        P2 순서: S1 (O1에 없음 -> O1[2]=S1), S2 (O1에 이미 있음 -> 건너뜀), S5 (O1에 이미 있음 -> 건너뜀), S3 (O1에 없음 -> O1[0]=S3. 어? 그림이랑 다르네. Fig 3 그림은 P1: [S2 S3 S4 S5 S6 S1], P2: [S1 S2 S5 S3 S4 S6] -> Selected Index {1,4} -> Offspring1: [S3 S2 S1 S5 S4 S6]. 이 그림대로 하려면, O1의 첫번째 빈칸 (index 0)은 P2의 첫번째 유전자(S1)가 아니고, P2에서 O1에 아직 없는 첫번째 유전자인 S3를 가져온다. 즉 P2: [S1, S2, S5, S3, S4, S6] -> O1의 index 0에 S3. O1: [S3, S2, ?, S5, ?, ?]. 다음 빈칸 index 2: P2의 다음 없는 유전자 S1 -> O1: [S3, S2, S1, S5, ?, ?]. 다음 빈칸 index 4: P2의 다음 없는 유전자 S4 -> O1: [S3, S2, S1, S5, S4, ?]. 다음 빈칸 index 5: P2의 다음 없는 유전자 S6 -> O1: [S3, S2, S1, S5, S4, S6]. 이것이 논문 그림과 일치합니다.)
      5. 두 번째 자식 염색체 O2는 P1과 P2의 역할을 바꿔 동일하게 생성합니다. (선택된 위치는 P2로부터, 나머지는 P1로부터)
  • 돌연변이 (Mutation):
    • 개체의 염색체(스트림 순서) 일부를 무작위로 변경하여 유전적 다양성을 유지하고 지역 최적해(local optimum)에 빠지는 것을 방지합니다.
    • 논문에서는 Swap Mutator (교환 돌연변이)를 사용합니다: 염색체 내에서 무작위로 두 유전자(스트림)의 위치를 서로 맞바꿉니다.
  • 반복 및 종료 조건: 위 선택, 교차, 돌연변이 과정을 여러 세대(generation) 동안 반복하거나, 미리 정의된 실행 시간 또는 적합도 개선이 없을 경우 종료합니다.

2. 정렬된 스트림을 위한 GA 조정 (논문 Fig. 14)

입력 스트림이 주기(period) 기준으로 미리 정렬된 경우(Sorted input), GA 연산 시 이 정렬 특성을 유지해야 합니다.

  • 하위 그룹 (Subgroups): 염색체 내에서 동일한 주기를 가진 스트림들은 하나의 하위 그룹으로 묶입니다 (Fig. 14: P1,P2=2ms / P3,P4=4ms / P5,P6=8ms 그룹). 이 하위 그룹들은 주기 오름차순으로 정렬된 상태를 유지합니다.
  • PBX-Sort 및 Swap-Sort: 기존 PBX와 Swap 연산을 수정하여, 교차와 돌연변이가 각 하위 그룹 내에서만 일어나도록 합니다. 전체 하위 그룹 간의 순서(즉, 주기 순서)는 변경되지 않습니다.

3. GA 파라미터 (논문 Table 1)

ParameterSetting
Population size (개체군 크기)30
Generation number (세대 수)20
Crossover method (교차 방법)PBX, PBX-Sort
Mutation method (돌연변이 방법)Swap, Swap-Sort
Crossover rate (교차율)0.7 (70%)
Mutation rate (돌연변이율)0.1 (10%)

이 파라미터들은 실험적으로 결정되었으며, GA의 탐색 성능과 실행 시간에 영향을 줍니다.

GA의 트레이드오프

GA는 1S 휴리스틱보다 더 넓은 해 공간을 탐색하여 잠재적으로 더 나은 솔루션을 찾을 수 있지만, 계산 시간이 훨씬 오래 걸립니다. 하나의 스케줄을 결정하기 위해 수 분이 소요될 수 있어, 빠른 응답이 필요한 환경에는 적합하지 않을 수 있습니다.

Paper Method: GCL 최적화 기법

스트림 스케줄이 성공적으로 결정된 후 (즉, 모든 스트림이 마감 시간을 만족하는 슬롯을 찾은 후), 논문은 GCL 자체의 효율성을 높이고 대역폭 낭비를 줄이기 위한 두 가지 최적화 기법을 적용합니다 (논문 Section V-C, V-D).

1. GCL 엔트리 병합 (Merging - 논문 Algorithm 1, Fig. 11, 12)

목표: TAS 하드웨어는 GCL 엔트리 수에 제한이 있으므로, 이 수를 최소화하는 것이 중요합니다. 이 알고리즘은 인접한 중요 트래픽 슬롯들 또는 슬롯과 GCL 경계 사이의 작은 간격을 병합하여 GCL 엔트리 수를 줄입니다.

Algorithm 1 (createCritGCLEntries) 주요 단계:

  1. maxTrans 정의 (라인 1): MTU(Maximum Transmission Unit, 최대 전송 단위) 크기 프레임의 전송 시간을 나타냅니다. 이 시간보다 작거나 같은 간격은 병합 대상으로 간주됩니다. 이렇게 병합하면 해당 간격에 다른 (best-effort) 프레임이 끼어들어 전송될 수 없도록 하여 중요 트래픽을 보호하지만, 그 간격은 낭비될 수 있습니다.
  2. 슬롯 정규화 (라인 2, GCD 방식 시): 모든 중요 트래픽 슬롯(C)의 시작/종료 시간을 GCL 주기(논문에서는 GCLPeriod로 표현, 여기서는 GCD 값) 기준으로 정규화합니다. (예: newStartTime = oldSlotStartTime % GCLPeriod). HYPO 방식에서는 이 단계가 필요 없습니다 (GCLPeriod 자체가 Hyperperiod이므로). (논문 Fig. 12b의 정규화된 슬롯들 참조)
  3. 슬롯 정렬 (라인 3): 정규화된 슬롯들(normSlots)을 시작 시간(start) 기준으로 오름차순 정렬합니다.
  4. 초기 참조 슬롯 설정 (라인 4-7): 정렬된 첫 번째 슬롯을 refSlot(참조 슬롯)으로 가져옵니다. 만약 refSlot.start가 GCL 주기 시작(0)과 maxTrans 사이라면 (즉, GCL 시작 부분에 작은 빈 공간이 있다면), 이 초기 간격도 refSlot에 병합하고 refSlot.start를 0으로 설정합니다 (이 간격은 낭비된 시간으로 기록).
  5. 병합 로직 루프 (라인 8-19): normSlots가 빌 때까지 반복:
    • 다음 슬롯(slot)을 가져옵니다 (라인 9).
    • refSlot.endslot.start 간의 시간 간격(diff)을 계산합니다 (라인 10).
    • If diff > maxTrans (라인 11-13): 간격이 충분히 크므로 (maxTrans보다 큼), 현재 refSlot에 대한 GCL 엔트리를 생성합니다 (하나의 규칙). 이 간격(diff)은 비임계 트래픽(best-effort)이 사용 가능합니다. 그리고 slot을 새로운 refSlot으로 설정하여 다음 반복을 준비합니다.
    • Else (diff ≤ maxTrans) (라인 14-18): 간격이 작으므로 (maxTrans 이하), refSlotslot을 병합합니다. diff만큼의 시간은 중요 트래픽이 사용하지 않지만 다른 트래픽도 사용할 수 없는 낭비된 시간(sumUpWasted())으로 기록됩니다. 병합된 새 refSlot의 시작 시간은 min(refSlot.start, slot.start) (일반적으로 refSlot.start 유지), 종료 시간은 max(refSlot.end, slot.end) (일반적으로 slot.end)가 됩니다. (논문 Fig. 12의 "Merged slot" 예시 참조)
  6. 마지막 슬롯 및 GCL 경계 처리 (라인 20-24): 루프 종료 후, 마지막 refSlot.end와 GCL 주기(GCLPeriod)의 끝 사이 간격(diff)도 maxTrans 기준으로 검사합니다. 작다면 이 간격도 낭비된 시간으로 기록하고 refSlot.endGCLPeriod로 확장합니다. 마지막으로 최종 refSlot에 대한 GCL 엔트리를 생성합니다.

(논문 Fig. 11은 단일 스트림의 경우 최소 2개의 GCL 엔트리(하나는 중요 트래픽용, 다른 하나는 나머지 시간 비임계 트래픽용)가 필요함을 보여줍니다. Fig. 12는 HYPO 방식에서는 9개 슬롯이 필요했지만, GCD 방식에서는 슬롯 정규화 및 병합 후 5개 슬롯으로 줄어드는 예시를 보여줍니다.)

2. 스케줄 압축 (Schedule Compression - 논문 Fig. 13)

목표: GCL 병합 후에도 여전히 스케줄된 중요 트래픽 슬롯들 사이에 존재할 수 있는 빈 공간(유휴 시간)을 줄여 대역폭 활용도를 높입니다.

압축 과정 주요 단계:

  1. 스트림 정렬: 모든 스케줄된 스트림을 실제 종단 간 지연(최종 스케줄링 오프셋 Φ'k 포함)이 큰 순서대로 (내림차순) 정렬합니다.
  2. 참조 스트림 선택: 정렬된 목록에서 가장 늦게 끝나는 스트림을 "참조 스트림(reference stream)"으로 선택합니다.
  3. 교차 스트림 이동 시도:
    • 정렬된 목록에서 다른 스트림들 중 현재 참조 스트림의 경로와 교차(하나 이상의 동일 링크를 공유)하는 스트림들을 찾습니다.
    • 이 교차 스트림들을 참조 스트림의 전송 시간 쪽으로 "더 가깝게" 이동(즉, 해당 스트림의 스케줄링 오프셋 Φ'k를 증가)시키려고 시도합니다. (논문 Fig. 13에서 S2가 S1 쪽으로 이동하는 예시, S1이 참조 스트림).
    • 이동 시, 해당 스트림의 마감 시간을 초과하거나 다른 이미 스케줄된 스트림과 경로상에서 충돌(슬롯 겹침)해서는 안 됩니다. 가능한 최대 이동 거리를 찾습니다.
  4. 반복: 다음으로 늦게 끝나는 스트림을 새로운 참조 스트림으로 선택하여 과정을 반복합니다.
  5. 최종 결정: 압축 후 전체 대역폭 활용도(또는 낭비된 대역폭 감소량)가 개선되었는지 확인합니다. 개선된 경우에만 압축된 스케줄을 채택하고, 그렇지 않으면 압축 전 스케줄을 유지합니다.

최적화의 트레이드오프

GCL 병합은 GCL 엔트리 수를 효과적으로 줄이지만, 병합된 슬롯 내에 실제 스트림이 사용하지 않는 낭비된 대역폭을 만들 수 있습니다. 스케줄 압축은 이러한 낭비된 대역폭을 일부 줄일 수 있지만, 추가적인 계산 시간이 필요하며 항상 큰 개선을 보장하지는 않습니다. 두 최적화 기법 모두 정교한 트레이드오프를 수반합니다.

Paper Evaluation: 실험 설정 및 주요 결과

논문은 제안된 16가지 스케줄링 알고리즘 변형들의 성능을 평가하기 위해 광범위한 시뮬레이션을 수행했습니다 (논문 Section VI). 알고리즘 조합은 Table 2에 요약되어 있으며 (H=Harmonic, NH=Non-Harmonic, GCD/HYPO, Rand/Sorted, ALT/Non-ALT, 1S/GA), 각 조합을 다른 네트워크 조건에서 테스트했습니다.

1. 실험 설정 (요약)

  • 테스트 환경: Intel Core i7-8550U @ 1.88 GHz, 24GB RAM.
  • 가변 파라미터:
    • 스위치 수: {3, 5, 10, 20, 30}
    • 엔드 스테이션 수: [스위치 수 * 1 또는 2] (각 스위치에 연결된 단말기 수)
    • 스트림 수: {50, 150, 200, 300, 500, 800}
    • 네트워크 토폴로지: Star, Ring, Meshed (무작위 경로 생성)
    • 링크 속도: 1 Gbps (표준)
  • 스트림 주기 세트:
    • 조화(Harmonic): {2, 4, 8, 16, 32} ms
    • 비조화(Non-harmonic): {2, 4, 5, 10, 20} ms (차량 내부 네트워크 환경 참조)
  • 실험 반복: 각 설정 조합(알고리즘, 스위치/스트림 수 등)에 대해 50회 실행하여 평균값 등을 사용.
  • 주요 평가지표: 실행 시간(Time Performance), 스케줄 성공률(Schedulability), 최대 GCL 엔트리 수, 대역폭 낭비율(Wasted Bandwidth), 사용 가능한 잔여 대역폭(Left-over Bandwidth), 총 스케줄 길이(Makespan).

2. 주요 결과 심층 분석 (논문 Figures 15-19, Tables 3-4)

Figure 15: 실행 시간 (Time Performance)

(a) 스트림 수에 따른 실행 시간: 1S 휴리스틱 알고리즘들은 스트림 수가 증가함에 따라 실행 시간이 선형적으로 완만하게 증가하여 매우 빨랐습니다 (대부분 30초 이내). 반면, GA(유전 알고리즘) 기반 알고리즘들은 스트림 수가 200개를 넘어가면서 실행 시간이 지수적으로 급격히 증가하여 수 분(수백 초)이 소요되었습니다. 이는 GA의 반복적 탐색 과정 때문입니다.

(b) 스위치 수에 따른 실행 시간: 스트림 수와 유사한 경향을 보였습니다. GA 알고리즘, 특히 HYPO(Hyperperiod) 방식을 사용하는 GA가 GCD 방식을 사용하는 GA보다 평균적으로 실행 시간이 더 길었습니다. 이는 HYPO의 GCL 주기가 더 길어 탐색 공간이 커지기 때문일 수 있습니다.

핵심: 1S는 빠르지만 해의 질이 낮을 수 있고, GA는 더 좋은 해를 찾을 수 있지만 매우 느립니다.

Figure 16: 스케줄 성공률 (Schedulability)

(a,b,c) 스위치 그룹별 성공률: 작은 규모 네트워크(스위치 3,5,10개 / 스트림 50-200개)에서는 대부분의 알고리즘이 100% 또는 거의 100%의 성공률(모든 스트림 마감시간 만족)을 보였습니다. 그러나 네트워크 규모가 커질수록(스위치 20, 30개 / 스트림 300-800개), 특히 비조화(NH) 주기 스트림을 HYPO 방식으로 처리하는 1S 휴리스틱(NH_HYPO_Rand_1S, NH_HYPO_Sorted_1S)의 성공률이 크게 감소했습니다 (800 스트림에서 60% 미만으로 떨어지기도 함). GA 변형들은 대체로 1S 휴리스틱보다 높은 성공률을 유지했으며, 이는 GA가 더 넓은 해 공간을 탐색하기 때문입니다. 입력 스트림 정렬(Sorted)은 비조화 주기 경우 성공률에 큰 이점을 보이지 않았습니다.

핵심: 복잡한 대규모 네트워크에서는 GA가 1S보다 안정적으로 해를 찾지만, 여전히 100%를 보장하진 못합니다.

Figure 17: 최대 GCL 엔트리 수 및 압축 효과

(a) 최대 GCL 엔트리 수: 이 값은 네트워크 전체 포트 중 가장 많은 GCL 엔트리를 가진 포트의 값으로, 하드웨어 자원 제약을 결정합니다. GCD 기반 알고리즘들, 특히 'Alternating' 전략 및 GA와 결합된 경우(예: H_GCD_Rand_ALT_GA), HYPO 기반 알고리즘들보다 훨씬 적은 GCL 엔트리 수를 보였습니다. 이는 GCD 주기가 HYPO 주기보다 훨씬 짧기 때문입니다. 비조화(NH) 주기 알고리즘들은 때때로 조화(H) 주기보다 GCL 엔트리가 적었는데, 이는 홀수 주기가 슬롯을 더 촘촘하게 채울 수 있기 때문일 수 있습니다.

(b) 압축 알고리즘 효과 (impGclMax%): GCL 병합 후 적용되는 스케줄 압축(D. Schedule Compression)은 GCD 기반 접근법에서 GCL 엔트리 수를 최대 약 4%까지 추가로 감소시켰습니다. HYPO의 경우 GCL 주기가 이미 길고 슬롯이 분산되어 있어 압축 효과가 미미했습니다.

핵심: GCL 엔트리 수를 줄이는 데는 GCD 방식이 유리하며, 특히 ALT 전략과 GA 조합이 효과적입니다. 압축은 GCD에 약간의 추가 개선을 제공합니다.

Figure 18: 대역폭 낭비 및 압축 효과

(a) 압축 전 대역폭 낭비 (wastedWC): GCL 병합(Algorithm 1)으로 인해 발생하는, 병합된 슬롯 내에서 실제 스트림이 차지하지 않는 시간의 비율입니다. HYPO 변형들이 (Alternating 전략이 없는) 순수 GCD 변형들보다 낭비가 적었습니다. GCD_ALT 변형들은 중간 정도의 낭비를 보였습니다.

(b) 압축 알고리즘 효과 (impWasted%): 스케줄 압축(D. Schedule Compression)은 H_GCD_Rand_ALT_1S 및 H_GCD_Rand_ALT_GA와 같은 특정 알고리즘에서 대역폭 낭비를 최대 7%까지 개선했습니다. 다른 알고리즘에서는 효과가 적거나 미미했습니다.

핵심: HYPO는 GCL 병합 시 낭비가 적고, 스케줄 압축은 특정 GCD+ALT 조합에서 낭비 개선에 가장 효과적입니다.

Figure 19: 사용 가능한 잔여 대역폭 (Left-over Bandwidth)

네트워크 전체에서 중요 트래픽에 할당되지 않고 남은 대역폭의 비율입니다. HYPO 기반 모든 알고리즘들이 가장 높은 잔여 대역폭(약 80-90%)을 보였으며, 그 다음으로 H_GCD_Rand_ALT_GA 및 H_GCD_Sorted_ALT_GA가 높은 값을 보였습니다. Alternating 전략이 없는 순수 GCD 알고리즘들은 가장 낮은 잔여 대역폭(약 70%대)을 보였습니다. 이는 GCL 엔트리가 적을수록 (즉, 병합이 많이 일어날수록) 중요 트래픽 슬롯이 커지고, 이로 인해 비임계 트래픽을 위한 시간이 줄어들 수 있음을 시사합니다. (논문은 이 잔여 대역폭이 실제 사용 가능한지는 추가 시뮬레이션이 필요하다고 언급).

핵심: HYPO 방식이 이론적으로 가장 많은 잔여 대역폭을 남기지만, GCL 엔트리 수가 매우 많다는 단점이 있습니다.

Tables 3 & 4: Makespan (총 스케줄 길이) 비교

Makespan은 모든 스트림의 전송이 완료될 때까지 걸리는 총 시간입니다. 이 값이 작을수록 효율적입니다.
Table 3 (조화 주기): H_GCD_Sorted_GA가 가장 짧은 makespan을 보였습니다 (기준). 'Alternating' 전략을 사용하는 알고리즘들은 이 기준보다 makespan이 30% 이상 길어졌습니다. 이는 ALT가 부하 분산을 위해 스트림을 더 늦은 세그먼트로 옮길 수 있기 때문입니다.

Table 4 (비조화 주기): NH_HYPO_Sorted_GA가 가장 짧은 makespan을 보였습니다 (기준). 다른 NH_HYPO 변형들은 이 기준보다 약간의 (최대 3.43%) makespan 증가를 보였습니다.

핵심: Makespan 최소화에는 Sorted_GA 조합이 유리하며, ALT 전략은 makespan을 희생하여 다른 지표(GCL 엔트리 수, 대역폭 낭비)를 개선합니다.

결과 요약의 복잡성

결론적으로, 어떤 단일 알고리즘 변형도 모든 평가지표에서 항상 우월하지는 않았습니다. 스케줄링의 특정 목표(예: 최소 GCL 엔트리 수, 최대 잔여 대역폭, 최소 makespan, 최고 성공률)에 따라 최적의 알고리즘 선택이 달라질 수 있음을 보여줍니다. 이는 정적 TSN 스케줄링 문제의 복잡한 트레이드오프 관계를 반영합니다.

Paper Conclusion (Arestova et al., 2023)

Arestova 연구팀은 자신들의 연구(Section VII)를 통해 다음과 같은 주요 결론을 도출했습니다:

  • 알고리즘 설계의 중요성: 스케줄링 알고리즘의 수정(입력 데이터 순서, 스케줄링 절차, GCL 구성 방식)은 네트워크 리소스 사용률, 특히 조화(Harmonic) 주기 알고리즘 클래스에 큰 영향을 미칩니다.
  • 휴리스틱의 효과: 정확하게 설계된 휴리스틱 알고리즘은 스케줄링 문제를 효과적으로 해결할 수 있으며, 그 이상의 복잡한 문제(GA가 다루는)에도 적합할 수 있습니다. (그러나 GA는 특정 상황에서 성공률을 높임)
  • 'Alternating' 전략의 유용성 (조화 주기 시): 마감 시간 준수가 충분하다면, 'Alternating' 접근법 (GCD 세그먼트 간 부하 분산)은 적은 GCL 엔트리 수와 낮은 대역폭 낭비를 달성하는 데 적합합니다.
  • GA와 'Alternating'의 시너지 (조화 주기 시): GA 변형과 'Alternating'을 결합하면 대역폭 통계 및 GCL 구성 측면에서 최상의 결과를 얻을 수 있습니다 (실행 시간은 길어짐).
  • HYPO의 장점 (대역폭): 'Alternating'이 없는 GCD 변형과 비교할 때, 조화 및 비조화 주기 모두에서 HYPO 접근법은 낭비되거나 남은 대역폭 측면에서 훨씬 더 나은 결과를 보였습니다. 그러나 GCL 엔트리 수가 많아질 수 있습니다.
  • 정렬의 제한적 효과: 입력 스트림을 정렬하는 것은 비정렬 방식에 비해 모든 경우에 뚜렷한 이점을 제공하지는 않았습니다.
  • 비조화 주기의 성공률: 비조화 주기 알고리즘 클래스는 대규모 토폴로지에서 다른 알고리즘에 비해 낮은 스케줄 성공률을 보였습니다. 이 경우 GA가 성공률을 높이는 데 도움이 됩니다.
  • 하드웨어 제약 고려: GCL 엔트리 수가 많은 경우(특히 HYPO), 실제 하드웨어 제한을 신중히 고려해야 하며, 슬롯 병합 접근 방식도 제한된 GCL 수를 고려하여 조정될 필요가 있습니다.

연구의 의의

본 논문은 정적 TSN 스케줄링에서 다양한 설계 선택 간의 복잡한 트레이드오프 관계를 보여주며, 특정 목표(예: GCL 최소화, 대역폭 최대화)에 따라 적합한 알고리즘 조합이 달라질 수 있음을 강조합니다. 이러한 고려 사항은 문헌에서 종종 간과되는 부분이라고 저자들은 언급합니다.

비판적 고찰: 정적 스케줄링과 논문의 한계

Arestova et al. 논문은 정적 TSN 스케줄링 분야에 중요한 분석을 제공하지만, 실제 적용 관점에서 몇 가지 한계점을 생각해볼 수 있습니다:

정적 스케줄링의 근본적 한계

가장 큰 지점은 논문이 다루는 모든 방법이 정적(오프라인) 스케줄링이라는 점입니다. 실제 산업 현장에서는 예측 불가능한 트래픽 변화, 네트워크 토폴로지 변경 등이 빈번합니다. 논문의 알고리즘들은 계산 시간이 길어 동적 환경 변화에 실시간 대응이 어렵습니다.

최적화 초점의 문제

TSN의 최우선 목표는 '실시간성 (마감 시간 준수)'입니다. 논문은 이를 만족한 후 '대역폭 효율성'이나 'GCL 엔트리 수' 같은 2차 지표 최적화에 집중합니다. 실제 환경에서는 대역폭 최적화보다 마감 시간 보장이 더 중요할 수 있습니다.

유전 알고리즘(GA)의 계산 비효율성

GA는 스케줄링 성공률을 높일 수 있지만, 상당한 계산 시간을 요구합니다 (수 분 소요). GCL 하나 계산에 이렇게 많은 시간을 쓰는 것은 빠른 프로토타이핑이나 동적 재구성이 필요한 환경에 부적합합니다.

가정의 현실성: 조화 주기 및 GCD

조화(Harmonic) 주기 가정: 실제 다양한 장치가 혼재하는 환경에서는 비조화적 주기가 더 일반적입니다. 조화 주기 최적화는 다소 이상적일 수 있습니다.

GCD 방식의 잠재적 비효율성: 스트림 주기가 다양하거나 서로소 관계면 GCD가 매우 작아져 GCL 엔트리 수가 급증하고 네트워크 활용률이 저하될 수 있습니다. Hyperperiod 방식이 더 현실적일 수 있습니다.

이러한 한계들은 더 유연하고 적응적인 스케줄링 방법의 필요성을 시사합니다.

AI 대안: 더 빠르고 유연한 TSN 스케줄링

새로운 가능성:딥러닝(GNN, RL)으로 동적 환경에 대응

정적 스케줄링의 한계를 넘어, 더 빠르고 유연하며 변화에 강인한 솔루션을 위해 AI, 특히 딥러닝(GNN, RL)의 적용을 제안합니다.

AI 기반 접근의 기대 효과

  • 압도적 추론 속도: 잘 학습된 모델은 수 밀리초(ms) 내에 새로운 스케줄링 결정을 내릴 수 있어, 동적 환경 변화에 실시간으로 대응할 잠재력을 가집니다.
  • 데이터 기반 자동 학습: 사람이 복잡한 휴리스틱 규칙을 직접 설계할 필요 없이, 데이터로부터 최적의 스케줄링 패턴과 정책을 스스로 학습합니다.
  • 우수한 일반화 성능: 학습 데이터에 없던 새로운 네트워크 상황이나 트래픽 패턴에 대해서도 준수한 성능을 보일 수 있도록 학습 가능합니다.

관련 핵심 연구 논문 소개

AI를 TSN 스케줄링에 적용하기 위한 아이디어는 다음 논문들에서 제시된 방법론과 성과로부터 큰 영감을 얻을 수 있습니다. 이 논문들은 각 접근법의 철학, 장단점, 그리고 TSN 스케줄링 문제에 대한 시사점을 명확히 보여줍니다.

1. GNN/RL 접근법: Joint Routing and Scheduling Optimization in Time-Sensitive Networks Using Graph-Convolutional-Network-Based Deep Reinforcement Learning

Y. Yang et al.

IEEE Internet of Things Journal, 2022

왜 좋은 논문인가?

문제 정의: "어떤 경로로 보낼지(라우팅)"와 "언제 보낼지(스케줄링)"를 분리된 문제가 아닌, 하나의 결합된 최적화 문제(Joint Optimization)로 정의합니다. 이는 현실에 더 가까운 접근 방식입니다.

핵심 기술: GCN(Graph Convolutional Network)을 사용하여 복잡한 네트워크 토폴로지 정보와 링크의 상태를 효과적으로 학습하고, 이를 DRL(Deep Reinforcement Learning) 에이전트의 '눈'으로 사용합니다. 에이전트는 GCN을 통해 네트워크 전체 상황을 '보고' 최적의 라우팅 및 스케줄링 '행동'을 학습합니다.

성과: 이 접근법을 통해 기존 휴리스틱 방식보다 높은 스케줄링 성공률(90% 이상)과 더 낮은 종단 간 지연 시간을 달성했음을 보여줍니다. 특히 네트워크 활용률이 높은 어려운 상황에서 강점을 보입니다.

핵심 개념: GNN으로 네트워크 상태를 '이해'하고, RL로 최적의 '결정'을 내리는 법을 학습하는, AI 기반 네트워크 자동화의 정석적인 프레임워크를 제시합니다.

2. SMT 접근법: Scheduling Real-Time Communication in IEEE 802.1Qbv Time Sensitive Networks

S. S. Craciunas, R. S. Oliver et al.

RTNS 2016

왜 좋은 논문인가?

선구자적 역할: TSN 스케줄링 문제를 SMT를 사용하여 공식화한 가장 대표적이고 많이 인용되는 '교과서' 같은 논문입니다.

정교한 모델링: 이 논문의 핵심은 TSN의 모든 제약 조건을 논리 수식으로 변환하는 과정에 있습니다. 프레임 간 겹침 방지, 경로 준수, 큐 모델, 시간 동기화 오차 등, IEEE 802.1Qbv 표준을 구현하는 데 필요한 거의 모든 제약 조건을 정교하게 모델링했습니다.

기준점 제시: 이 논문은 SMT 솔버(Z3)를 이용해 최적의 스케줄을 찾아냈고, 이를 통해 SMT 접근법의 강력함과 동시에 계산 시간이 오래 걸린다는 명확한 한계를 보여주었습니다. 이 한계가 바로 GNN이나 휴리스틱 같은 다른 연구들의 동기가 되었습니다.

핵심 개념: 복잡한 현실 세계의 엔지니어링 문제를 어떻게 엄밀하고 완전한 논리적 언어로 번역하여 컴퓨터가 풀게 할 수 있는지를 보여주는 최고의 사례입니다.

3. ILP 접근법: Development of Deterministic Communication for In-Vehicle Networks Based on Software-Defined Time-Sensitive Networking

Y. Wang et al.

MDPI Sensors, 2023 (저널명 확인 필요, MDPI는 출판사)

왜 좋은 논문인가?

실용적 문제 정의: 차량 내부 네트워크(In-Vehicle Network, IVN)라는 구체적인 시나리오를 대상으로, TAS(Time-Aware Shaper)의 현실적인 취약점을 보완하는 견고한(Robust) ILP 스케줄링 모델을 제안합니다.

명확한 최적화 목표: 단순히 가능한 해를 찾는 것을 넘어, 외부 영향에도 강건한 스케줄을 만드는 것을 목표로 합니다.

SDN과의 통합: 계산된 ILP 스케줄링 결과를 SDN(Software-Defined Networking) 아키텍처와 통합하여, 스위치 설정을 자동화하는 전체적인 프레임워크를 제시합니다. 이는 이론적인 모델링을 넘어 실제 시스템에 어떻게 적용될 수 있는지를 보여줍니다.

물리적 검증: 시뮬레이션뿐만 아니라, 실제 TSN 스위치 플랫폼 기반의 실험을 통해 제안한 ILP 알고리즘과 SD-TSN 아키텍처의 유효성을 검증하여 높은 신뢰도를 보여줍니다.

핵심 개념: ILP를 이용해 특정 산업 분야(차량)의 요구사항에 맞는 맞춤형 최적화 모델을 어떻게 설계하고, 이를 자동화된 관리 시스템(SDN)과 결합하여 실용적인 솔루션을 만드는지를 잘 보여주는 논문입니다.

AI 기반 TSN 스케줄링 핵심 아이디어: 하이브리드 접근

최적의 성능과 빠른 속도를 겸비한 AI 스케줄러 개발을 위해, 강화학습(RL)의 효율적 학습을 돕는 2단계 하이브리드 접근을 제안합니다:

  1. 1단계 (지도학습 기반 사전 훈련 - Imitation Learning):
    • 전문가 데이터 생성: SMT 또는 ILP와 같은 전통적 최적화 기법을 사용하여 다양한 TSN 시나리오에 대한 (준)최적의 GCL 스케줄 데이터셋을 생성합니다. (시간이 오래 걸리지만 오프라인에서 수행)
    • 신경망 모델 사전 훈련: 이 "전문가 시연" 데이터셋을 사용하여 신경망 모델(예: GNN 기반 정책망)을 지도학습 방식으로 사전 훈련합니다. 모델은 전문가의 스케줄링 방식을 모방하도록 학습합니다.
  2. 2단계 (강화학습 기반 미세 조정 - Reinforcement Learning):
    • 초기 정책 활용: 사전 훈련된 모델을 강화학습 에이전트의 초기 정책(policy)으로 사용합니다. 이를 통해 RL 탐색 공간을 줄이고 학습을 가속화합니다.
    • 환경과의 상호작용: 에이전트는 실제 TSN 네트워크 시뮬레이션 환경과 상호작용하며 (상태 관찰 -> 행동(스케줄링) 수행 -> 보상 획득) 정책을 점진적으로 개선합니다. 이를 통해 사전 훈련 데이터에 없던 상황에 대한 일반화 능력과 적응성을 향상시킵니다.

이 하이브리드 접근은 SMT/ILP의 정교함과 정확성 (데이터 생성)을 활용하여 AI 모델의 초기 성능을 확보하고, RL을 통해 AI 모델이 더 빠르고, 동적인 상황에 강인하며, 지속적으로 개선될 수 있는 스케줄링 정책을 학습하도록 합니다.

감사합니다

Q & A

TSN 스케줄링의 미래는 정교한 알고리즘과 AI 기반 접근법의 융합을 통해 더욱 발전할 것입니다.

본 발표가 TSN 스케줄링 문제 이해와 새로운 해결책 모색에 도움이 되었기를 바랍니다.