아이디어를 얻은 그래프
1700년 경 최석정이 발표한 구수략을 보면, 아래와 같은 규칙을 가진 RSN 그래프를 언급하며, 각 군집의 부분합이 같음을 강조한다.
여기까지만 보면 그저 그런 근세 연구 서적이라고 보여진다. 그러나 이 그래프가 특히 이 서적에서 발굴될 가치가 있는 까닭은 이 네트워크 구조가 링형 백본 공급망과 그 라우터 하위 장비를 이론화한 것과 매우 닮아 있기 때문이다.
기존에는 뒤집어진 4자로 보이던 관계가 깔끔한 링 구조로 재편되었다.
그렇다면 이것을 네트워크 라우터와 백본망이라고 가정하자.
- 링은 백본망이다.
- 각 클러스터의 중점, 즉 링 위를 지나는 노드는 보더 라우터라고 가정한다.
- 그 노드에 방사형으로 연결된 것은 전형적인 Star topology이다.
- 각 백본망의 노드 수는 모두 같아야 한다.
- 1번 백본망에 1개의 노드가 늘면, 나머지 백본망에도 모두 1개씩의 노드가 는다. (데이터 센터는 이런 토폴로지를 구성하는 경우가 종종 있다고 한다.)
- 위 예시처럼 보더 라우터가 다섯 개면, 항상 노드는 다섯 개씩 증가한다.
이것의 대칭 순서(Symmetry Order)와 라플라시안 최대 고유값(Laplacian Largest Eigenvalue)을 각각 토폴로지의 구조적 자유도, 그리고 노드가 각 1개씩 추가될 때 전체 네트워크에 미치는 영향도라고 가정하자.
여기서 말하는 대칭 순서는 엄밀히는 그래프의 자기동형 사상군(Automorphism Group)의 크기에 가깝다. 즉, 이 글에서는 대칭 순서를 “서로 구분되지 않는 배치가 얼마나 많은가”를 보여 주는 지표로 사용한다. 실무 네트워크의 관리 복잡도와 1:1로 대응한다는 뜻은 아니며, 토폴로지 자체가 허용하는 구조적 자유도가 얼마나 빠르게 커지는지를 보기 위한 대리 지표다.
처음에는 이 값을 스펙트럼 반경(Spectral Radius)이라고 불렀지만, Sage 코드를 직접 열어 보면 G.laplacian_matrix().eigenvalues()의 최댓값을 사용하고 있다. 따라서 이 글에서 다루는 값은 인접 행렬의 스펙트럼 반경이 아니라 라플라시안 최대 고유값이라고 부르는 편이 정확하다. 라플라시안 고유값은 그래프의 연결성, 확산, 컷, 동기화 난이도와 더 가까운 지표이므로, 여기서는 실제 트래픽 양 자체가 아니라 균일한 노드 확장이 토폴로지에 주는 상대적 충격을 읽기 위한 수학적 지표로 사용한다.
| n | Symmetry Order (Scientific Notation) | Laplacian λmax | Δ Laplacian λmax |
|---|---|---|---|
| 5 | 7.962624e+07 | 8.1754874092 | - |
| 6 | 2.488320e+11 | 9.2258722629 | 1.0503848537 |
| 7 | 1.934918e+15 | 10.2655911598 | 1.0397188969 |
| 8 | 3.252016e+19 | 11.2977913978 | 1.0322002380 |
| 9 | 1.065621e+24 | 12.3244688848 | 1.0266774870 |
| 10 | 6.292383e+28 | 13.3469584472 | 1.0224895624 |
| 11 | 6.292383e+33 | 14.3661903262 | 1.0192318790 |
| 12 | 1.013395e+39 | 15.3828345542 | 1.0166442280 |
| 13 | 2.521650e+44 | 16.3973870047 | 1.0145524505 |
| 14 | 9.362710e+49 | 17.4102230969 | 1.0128360922 |
| 15 | 5.035490e+55 | 18.4216326130 | 1.0114095161 |
| 16 | 3.823825e+61 | 19.4318430038 | 1.0102103908 |
| 17 | 4.009572e+67 | 20.4410354212 | 1.0091924174 |
| 18 | 5.693018e+73 | 21.4493560113 | 1.0083205901 |
| 19 | 1.075735e+80 | 22.4569240352 | 1.0075680239 |
| 20 | 2.663625e+86 | 23.4638378160 | 1.0069137808 |
| 21 | 8.523600e+92 | 24.4701791666 | 1.0063413506 |
| 22 | 3.481125e+99 | 25.4760167328 | 1.0058375662 |
| 23 | 1.794043e+106 | 26.4814085528 | 1.0053918200 |
| 24 | 1.154708e+113 | 27.4864040388 | 1.0049954860 |
이 때 대칭 순서는 폭발적으로 그 크기가 증가하지만, 라플라시안 최대 고유값의 변화량은 서서히 1로 수렴한다.
달리 해석하면 토폴로지는 기하급수적으로 복잡해짐에 반해, 노드가 각 1개씩 추가될 때마다 전체 네트워크에 미치는 영향도는 노드가 많아질 수록 1로 수렴한다는 것이다.
이 지점이 대형 인프라에서 1차 근사가 힘을 얻는 이유다. 작은 네트워크에서는 노드 하나의 추가가 전체 구조를 크게 흔들 수 있지만, 충분히 큰 균일 토폴로지에서는 추가 노드가 만드는 변화량이 거의 일정한 기울기로 나타난다. 따라서 모든 노드와 링크의 상태를 매번 정밀 계산하지 않아도, “이번 증설 단위가 라플라시안 지표를 대략 얼마만큼 밀어 올리는가”를 선형 모델로 먼저 잡을 수 있다.
Sage 코드를 다시 읽어 보면
SageCell 링크에 들어 있는 코드는 크게 세 일을 한다.
- 5개의 중심 노드를
C5링으로 연결한다. - 각 중심 노드마다
n-1개의 리프 노드를 붙여 5개의 스타 토폴로지를 만든다. automorphism_group().order()와laplacian_matrix().eigenvalues()의 최댓값을 출력한다.
이 구조에서는 대칭 순서도 우연히 커지는 것이 아니다. 각 스타 내부의 (n-1)개 리프는 서로 마음대로 순열을 바꿔도 그래프가 변하지 않고, 중심의 5각 링은 회전과 반사를 포함한 10개의 대칭을 갖는다. 따라서 대칭 순서는 다음처럼 볼 수 있다.
\[\lvert \operatorname{Aut}(G_n) \rvert = 10 \cdot ((n - 1)!)^5\]위 표의 값들이 갑자기 폭발하는 이유는 바로 이 팩토리얼 항 때문이다. 네트워크로 비유하면, 각 보더 라우터 아래에 같은 역할의 장비가 많아질수록 “서로 바꿔도 구조적으로 같은 배치”가 급격히 많아진다는 뜻이다.
라플라시안 최대 고유값도 단순한 피팅만으로 설명할 필요는 없다. 이 그래프는 5각 링 위에 같은 스타가 반복되는 구조이므로, 링의 라플라시안 모드와 스타의 중심-리프 모드를 분리해서 볼 수 있다. 5각 링의 가장 큰 라플라시안 고유값은 다음과 같다.
\[\mu = 2 - 2\cos\left(\frac{4\pi}{5}\right) = 3.618033988\ldots\]각 중심 노드에 붙은 리프 수를 (n-1)이라고 두면, 이 RSN 그래프의 라플라시안 최대 고유값은 다음 식으로 계산된다.
\[\lambda_{\max}(n) = \frac{n + \mu + \sqrt{(n + \mu)^2 - 4\mu}}{2}\]이 식에 (n=5)를 넣으면 (8.1754874092)가 나오고, 위 Sage 표의 첫 값과 일치한다. 더 중요한 점은 큰 (n)에서 다음처럼 움직인다는 것이다.
\[\lambda_{\max}(n) = n + \mu - \frac{\mu}{n + \mu} + O\left(\frac{1}{n^3}\right)\]즉 값 자체는 거의 n + 3.618 …처럼 증가하고, n이 1 증가할 때의 변화량은 1에 가까워진다. 앞의 실험 결과에서 Delta 값이 1로 다가가는 것은 피팅 함수가 우연히 잘 맞아서가 아니라, 이 반복 토폴로지의 라플라시안 구조에서 직접 나오는 현상이다.
다만, Sage 예시를 돌려 봐도 알 수 있듯이, n이 커질수록 일반적인 그래프에서 정확한 라플라시안 최대 고유값을 구하는 것은 점점 부담스러워진다. 이 RSN처럼 규칙적인 구조를 이용할 수 있을 때는 닫힌형 식이나 저차원 축약 모델을 만들 수 있지만, 실무 토폴로지는 장애 도메인, 비대칭 링크, 장비 세대 차이 때문에 이렇게 깨끗하게 떨어지지 않는다.
처음에는 이 닫힌형 식을 모른다고 가정하고, 위 변화량의 수렴 특성만 보고 근사 함수를 도출했다. 실행 결과
| n | Actual | Predicted | Residual |
|---|---|---|---|
| 5 | 8.175487 | 8.154770 | 0.0207169493 |
| 6 | 9.225872 | 9.222322 | 0.0035498240 |
| 7 | 10.265591 | 10.270574 | -0.0049826926 |
| 8 | 11.297791 | 11.306762 | -0.0089710147 |
| 9 | 12.324469 | 12.334909 | -0.0104401856 |
| 10 | 13.346958 | 13.357426 | -0.0104679496 |
| 11 | 14.366190 | 14.375850 | -0.0096593375 |
| 12 | 15.382835 | 15.391202 | -0.0083678320 |
| 13 | 16.397387 | 16.404193 | -0.0068061467 |
| 14 | 17.410223 | 17.415328 | -0.0051049961 |
| 15 | 18.421633 | 18.424978 | -0.0033457627 |
| 16 | 19.431843 | 19.433422 | -0.0015793693 |
| 17 | 20.441035 | 20.440873 | 0.0001624622 |
| 18 | 21.449356 | 21.447496 | 0.0018603093 |
| 19 | 22.456924 | 22.453421 | 0.0035027210 |
| 20 | 23.463838 | 23.458754 | 0.0050834508 |
| 21 | 24.470179 | 24.463580 | 0.0065996601 |
| 22 | 25.476017 | 25.467966 | 0.0080507341 |
| 23 | 26.481409 | 26.471971 | 0.0094374961 |
| 24 | 27.486404 | 27.475642 | 0.0107616789 |
이 근사 함수에서는 잔차는 n=17(Residual)일 때까지 절댓값이 줄어들다가, n=18부터 다시 증가하여 이 또한 n이 일정 지점을 지나면 오차가 다시 늘어나는 특성을 보인다.
이제는 이 잔차를 조금 다르게 읽어야 한다. 위의 닫힌형 식이 실제 구조를 더 잘 설명하므로, 이 잔차 증가는 RSN 자체가 특정 구간에서 불안정해진다는 뜻이 아니다. 오히려 제한된 형태의 피팅 함수가 실제 구조를 완전히 담지 못할 때, 어느 구간부터 오차가 다시 커질 수 있음을 보여 주는 예시다. 실무 인프라에서 더 위험한 것도 바로 이 지점이다. 데이터에 잘 맞아 보이는 근사식이 있어도, 그 식이 토폴로지의 구조를 제대로 반영하지 않으면 중간 규모나 경계 조건에서 판단을 틀릴 수 있다.
한 가지 더 재미있는 것은 이 토폴로지에서 라플라시안 최대 고유값의 증가분은 빠르게 1로 수렴하기 때문에, n=100 등 상황에서는 상수로 1씩 증가한다고 가정해도 무방한 수준이 된다는 것이다.
이것이 주는 재미있는 시각
다르게 생각해 보면, 이러한 유형의 네트워크에서는 각 보더 라우터 하위에 존재하는 노드의 수가 늘면 늘수록 오히려 노드 확장의 영향을 예측하기 쉬워지는 특성을 보인다.
보통 소규모 망에서는 트래픽을 예측하려 하는 등의 분석이 적게 이루어지는 편이나, 대규모 인프라의 경우 성능 최적화를 위한 엔지니어링 부서를 따로 두기도 한다.
다만 여기서 구분해야 할 것이 있다. “대규모 인프라는 예측 가능한 증설 단위, 표준화된 랙/클러스터, 반복 가능한 장애 도메인을 선호한다”는 것은 일반적인 설계 원칙에 가깝다. 반면 “그 설계가 이 글의 RSN 그래프와 같은 라플라시안 스펙트럼 성질을 의식적으로 겨냥한다”는 것은 아직 가설이다. 이 글의 목적은 후자를 사실로 단정하는 것이 아니라, 전자의 실무 원칙을 설명할 수 있는 하나의 수학적 관찰을 제시하는 데 있다.
예를 들어, 수십-수백만 개의 노드와 공급망이 깔린 구글의 데이터 센터를 생각해 보자. 특정 회사가 실제로 이 모델을 쓴다고 말할 수는 없지만, 그 정도 규모에서는 새 장비가 들어올 때마다 전체 그래프를 원점부터 다시 계산하는 방식은 현실적이지 않다. 대신 랙, 클러스터, 리전, 백본 구간처럼 반복 가능한 단위로 쪼갠 뒤, 각 증설 단위가 만드는 평균적인 부하 증가와 병목 이동을 근사해 보는 쪽이 훨씬 실용적이다. 만약 이들이 토폴로지 수준에서의 최적화를 고려하고 확장한다면, 이 글의 구조와 같지는 않더라도 예측 가능한 토폴로지를 구성하여 현실 세계의 더러운 데이터를 조금이라도 잘 제어하려 노력할 것이라는 가설을 세울 수 있다.
이 관점에서 보면, 충분히 작은 토폴로지나 애매하게 큰 토폴로지에서 빅 테크의 최적화 기법을 무작정 추종하는 것 역시 특정 상황에서는 한계가 있을 수 있다. 규모가 작을 때는 개별 링크, 특정 장비, 특정 고객 트래픽의 영향이 선형 근사를 압도할 수 있다. 반대로 규모가 아주 커지면 평균화 효과가 강해져 1차 근사가 꽤 잘 맞을 수 있다. 문제는 그 중간 구간이다.
특히 이런 단순한 RSN에서도 구조식을 쓰지 않고 제한된 피팅 함수만 쓰면 잔차가 다시 증가하는 구간이 나타난다. 그보다 복잡한 관계를 그리는 실무 인프라에서는 더더욱 “규모를 파악하고 엔지니어링하는 방법”을 고민할 필요가 있다. 단순히 데이터에 잘 맞는 곡선을 찾는 것과, 토폴로지의 반복 구조를 이해한 뒤 축약 모델을 만드는 것은 다른 일이다.
간단한 용량 산정 예시로 바꿔 보면 이렇다. 어떤 CDN 구간에서 보더 라우터 5개가 있고, 각 라우터 아래에 동일한 캐시 노드 묶음을 하나씩 추가한다고 하자. 작은 규모에서는 캐시 노드 5대를 넣었을 때 특정 링크의 피크 트래픽이 예상보다 크게 튈 수 있으므로 실측 기반 검증이 필요하다. 그러나 n이 충분히 커져 변화량이 거의 1에 가까워진 구간이라면, “증설 묶음 하나당 라플라시안 최대 고유값 증가량은 거의 1”이라는 근사를 먼저 두고, 여기에 실제 트래픽 계수와 안전 마진을 곱해 신규 장비 투입량이나 백본 여유 용량을 산정할 수 있다.
결국 이 모델이 주는 결론은 “대형 네트워크는 복잡하지 않다”가 아니다. 오히려 구조적 경우의 수는 폭발적으로 증가한다. 다만 일정한 대칭성과 반복 가능한 증설 단위를 갖춘 대형 네트워크에서는, 개별 구성 요소를 모두 정밀하게 다시 계산하지 않고도 전체 변화의 1차 효과를 읽을 수 있는 구간이 생긴다. 대규모 인프라 엔지니어링의 힘은 바로 그 예측 가능한 구간을 의도적으로 넓히는 데 있을지도 모른다.