벤더 확인:
"I think there are no changes in general from September, except for
the BGP. So they applied BGP for internal network, and they'll do it
for the external network this or next month."
주요 변경:
고객사 질문:
"is this optimal setup, or is there anything that they can, you know?"
핵심 확인사항:
1. 현재 네트워크 구성이 최적인가?
2. 개선 가능한 부분은 무엇인가?
3. 향후 확장 시 고려사항은?
구성요소:
회의 중 확인:
"right now for the bonds, you know, the east, west traffic,
everything is over Leaf switches only. There's no spine behind
those leaves... All of these, the north south is so that they
can talk."
고객사 현황:
"the port that's connected to spine from leaf for public,
it's 26 ports. Private, it's 28 ports."
포트 배분:
벤더 질문:
"if this 64 port switch space, which then they're using half
for public traffic, and then they have for [private]"
현재 상태:
"They have double, you know, two spines, which means they're
only utilizing half of [capacity]"
의미:
벤더 설명:
"oversubscribed could mean if they're have a spine switch where
they are splitting one port into two, and then they're taking both
parts into different like leaves. So now the leaves have 64, 64
but the spine only has..."
기술적 정의:
예시:
"let's say the spine has 64 port, 32 ports, and just splitting
them to 64 and 64 so that means every port is being used by two
different leaves."
결과:
"the total throughput the spine can provide is is already over
committed."
벤더 평가:
"as long as things are not oversubscribed... this design will stay.
Yes, is fine. It's stable enough, right? And there's no over
subscription or anything."
결론:
계획:
벤더 조언:
"if these are 64 port switches, there'll be plenty. You can stay
on, leave only, and connect on all the nodes. But if you're
planning to add another 54 nodes, you're definitely gonna need
spines."
필요 조치:
벤더 질문:
"if you actually have two separate fabrics, fabric for compute
and fabric for internal storage. That was my curiosity. But if
everything is connected on top of the same... leaf switches are
created to the same spine switches, then it's just one fabric."
현재 구성:
장점:
고객사 설명:
"we updated the network Kubernetes so we BGP for the gateway protocol
using that part so that main point is exposes the path IP is a switch
level. So faster than 3% before then before architecture."
적용 상태:
특징:
"main point is exposes the path IP is a switch level"
메커니즘:
벤더 설명:
"BGP might be blind to the latency that the service... every
node has [but] it will be continually checking... every
application will be like, [if a] node is slow, I'm not gonna
touch it"
특징:
벤더 설명:
"sidekick, we wrote to supplement spark. We work for Spark.
Because spark can only take one input, it cannot take a
collection of inputs."
개발 배경:
실시간 헬스체크:
"Sidekick will be continually checking... So every application
will be like, [this] node is slow. I'm not gonna touch it right.
So, but this slow, this node 54 is very fast, so I'll push through
that node"
특징:
1. 클라이언트 측 로직: 각 애플리케이션이 판단
2. 실시간 모니터링: 노드 성능 지속 체크
3. 동적 라우팅: 빠른 노드 우선 사용
| 항목 | BGP | Sidekick |
|---|---|---|
| 레벨 | 인프라/네트워크 | 애플리케이션/클라이언트 |
| 지연시간 인지 | 없음 (Latency-blind) | 있음 (실시간 체크) |
| 의사결정 주체 | 네트워크 장비 | 각 클라이언트 |
| 설정 변경 | 중앙집중식 | 분산형 (각 클라이언트) |
| 확장 시 | 간편 (클라이언트 재설정 불필요) | 복잡 (모든 클라이언트 재설정) |
| 단일 장애점 | Load Balancer 제거 | 없음 |
| 관리 복잡도 | 낮음 | 높음 |
벤더 경험:
"Tesla tried to go all the way. Tesla is [using] sidekick...
they try to send sidekick to the car. So the idea is Tesla is
uploading video, and they wanted to have the Tesla car see
1000 servers and then decide which one to go."
문제점:
"The problem was propagating configuration... if they go from
1200 nodes to 2400 nodes, [it's like] How do we propagate the
information?"
설정 전파 문제:
1. 1,200 노드 → 2,400 노드 확장
2. 모든 클라이언트(Tesla 차량)에 새 설정 전파 필요
3. 설정 배포 복잡도 급증
벤더 조언:
"Single IP address will always, like, hide a lot of complexity
for application. But if you [know] right now, we know it's 100
nodes, 54 nodes, we're going to make [108] nodes, and we're
going to put that configuration."
적합한 경우:
1. 대규모 환경: 노드 수 많음
2. 인프라 안정적: 네트워크 장비 신뢰 가능
3. 중앙 관리 선호: 단일 지점 설정 변경
4. 확장 빈번: 노드 추가/제거 자주 발생
벤더 평가:
"BGP [is] very fast as well, but of course, you have a component
that's taking care of the routing, right?"
적합한 경우:
1. 지연시간 민감: Latency-critical 애플리케이션
2. 소규모 환경: 노드 수 제한적
3. 예측 가능한 확장: 노드 변경 드뭄
4. 클라이언트 통제 가능: 설정 전파 가능
벤더 추천:
"[if you have] spark... sidekick [is good]. Every Spark job,
every driver, every worker, will be load balancing... it will
[choose] whoever has the best latency response"
질문:
"they have Trino and spark, right? So, like, and now that they
already have BGP. Like, maybe, is it better if, like, [Trino
uses] BGP and [Spark uses] sidekick?"
벤더 답변:
"Just experimentation, will just show them the results. I mean,
BGP [is] very fast as well... every application, every client,
is making the decision on how to route on their own, right?"
실험 권장:
BGP 이미 구축 완료:
"BGP will be there. You still recommend them to use sidecar?
No, you don't need sidekick. Yeah. They have BGP, one or the
other, yeah"
결론:
드라이브 구성:
벤더 언급:
"they can't even get it in the market... Lenovo and Cisco were
hoarding all the eight and 16 terabyte... eight and 15 terabyte
drives"
시장 상황:
현재:
벤더 평가:
"the average is consistent with the 40 gigabit... I've seen
[in 100Gbps environments] the size like 80, 90 gigs a second."
비교:
계획:
"for unit cluster... they will have 50 nodes, 30 terabyte NVMe,
24 [drives per node]. But the realistic issue is, there's no 30
terabyte NVMe. They're working on it."
사양:
현실적 문제:
GPU 노드:
"VT content has eight GPUs... Each of these GPUs is connected
into its own [NIC]... these ones are 400 [Gbps]"
사양:
스토리지 네트워크:
"if you have two 400 [Gbps NICs] per server with very few
[MinIO] nodes, you can satisfy [requirements]"
권장:
중요 경고:
"PCI Express, Gen four or better... Gen fives, you get smaller
than this, you're gonna go to Gen threes, and then they really
they just suck... you're gonna be running at half speed."
권장:
벤더 조언:
"Don't go dumpster diving. Don't look at the older stuff,
because you're just not gonna get any performance out of it."
벤더 제안:
"Depending on the size of the [NVMe] that you pick. If you
stick to seven terabyte volumes, you're going to need more
servers. But if you go to 15 terabyte volumes, 31 terabyte
volumes, even less nodes."
전략:
고려사항:
벤더 설명:
"So you'll run out of inode before you run up. You'll run out
of inode before you'll run out of objects... The Linux File
System is a bigger limitation."
기술적 배경:
"when you format XFS, one quarter is reserved for inodes...
If you're writing a lot of small files, you'll only see 60%
capacity available."
XFS 특성:
Pool 0 예시:
벤더 계산:
"It's about 10 million objects in the cluster, give or take,
and it's [based on] the limitation... based on the size of
the drives. So the more the larger the drives are, the more
inodes you have."
공식:
벤더 설명:
"In their case, as soon as they have another Pool, they get
another 4.5 billion [objects]."
Pool 1 추가 (3월):
권장:
"80% [disk usage is the] expansion trigger"
임계값:
벤더 설명:
"when you do [EC 8:3], let's assume initial set size equals four...
you'll only be reading four drives. So at the same time, either
these four nodes or these four nodes will be [reading] at the same
rate."
특징:
벤더 설명:
"So in MinIO, every node can take any request... out of 50 nodes,
54 nodes, five or eight can attend any request for the same file."
메커니즘:
1. 요청 수신: 54개 노드 중 아무 노드
2. 데이터 읽기: 8개 노드 중 5개에서
3. 네트워크 기여: 모든 노드의 NIC 활용
효과:
"the bandwidth their network cards will contribute... they'll
say, Okay, I'll receive your request and I'll start reading."
고객사 우려:
"if they're going to, like, read a very specific data... that
data set over and over and over, like, that'll hit the same pool,
like, same location of the disk, like, over and over and over."
시나리오:
벤더 설명:
"[Hot spot] only happens if it's the same file... as soon as
it's two objects, those are most likely going to be [in]
different erasure sets."
핵심:
GET + PUT 재배치:
"if you have data that's hot... you can just get put the file
in place, and MinIO automatically will move it to wherever there's
capacity."
Disney+ 사례:
Rebalancing이 필요한 경우:
"rebalances makes more sense if everything is continuously
being accessed."
벤더 제공:
"rebalancing 1.5 petabytes of data on their network should
take between six and 12 days."
현재 환경:
Rakuten 사례:
"Rakuten... the [final] rebalance... took like three weeks."
벤더 조언:
"rebalancing... is going to take a while, especially because
of the [consumption] of the network. So unless you already are
constrained by access pattern, I will not recommend rebalance"
이유:
1. 네트워크 부하: 장기간 대역폭 소모
2. 성능 영향: Rebalancing 중 서비스 저하
3. 자동 균등화: 신규 데이터는 자동 분산
대안:
"new files coming in will automatically start getting load
balanced... the weighted placement algorithm will start putting
the data wherever there's [no] space."
고객사 요청:
"they want to actually test if it really doesn't affect the
performance. So for example, like they can do like 12 nodes,
pool 0, 8 nodes [pool 1]"
사용 가능 자원:
벤더 권장:
"we do two warps, one small objects and one large objects on
the large 20 node pool, single pool... and then we destroy it.
And then we can do [multiple pools]"
방법론:
1. Single Pool (20 노드)
Multiple Pools
비교 분석
벤더 예상:
"single pool should be like this, and like multiple should be
slightly behind, but like pretty close, like one 2% difference,
mainly on the request per second. Throughput should be the same"
테스트:
"we even tested that with JP Morgan Chase. There was no there
was like, 1% performance difference between... an empty cluster
and a half cluster"
결과:
벤더 평가:
"It's like a rounding error. It's line noise. There's going to
be more of a degradation from moving data around... because you
think you need balance, versus actually just using [it]"
벤더 언급:
"Disney+/JPMC operations, Tesla... benchmarks prove identical
performance"
공통 결론:
Nvidia SuperPOD 사양:
"Nvidia says, take one of these [VT content with 8 GPUs] and
put 72 together, right? 72 [nodes], which [is] 576 GPUs."
네트워크 처리량:
벤더 계산:
"assuming MinIO has [2 × 400 gigabit NICs]... 72 nodes of
[VT content] for training alone will be four to six [MinIO nodes]"
KV Cache 처리:
"KB cache... between 18 gigabytes a second to 70 gigabytes"
단일 배치 (32 사용자):
벤더 경고:
"GPUs can consume very a lot of data, but if the networking
still stays at 40 gigabits... you got a lot of more, way more
storage nodes to satisfy that"
의미:
공식:
"what matters... is the overall throughput. And if you have
two 400 [Gbps NICs] per server with very few [MinIO] nodes,
you can satisfy [requirements]"
최적화:
확정 사항:
"they will use [400G] InfiniBand as backend... that's confirmed."
InfiniBand 특징:
트렌드 분석:
"Ethernet transition trend (Meta/xAI: complexity avoidance,
Tesla: standardized Ethernet adoption, InfiniBand vendor
lock-in avoidance)"
Ethernet 장점:
트레이드오프:
네트워크 최적화 가이드
성능 테스트 지원
하드웨어 권장사항
AI Factory 아키텍처 설계
확장 계획 지원
현재 네트워크 검증
BGP 완료
테스트 환경 준비
Pool 1 확장 준비
AI Factory 기획
Warp 벤치마크
BGP 성능 검증
Oversubscription 회피
이중화
성장 여력
중앙집중식
모니터링
문서화
✅ 결정: BGP 사용 (Sidekick 대신)
✅ 결정: Single Fabric 유지
✅ 결정: 당분간 불필요
✅ 결정: 400G InfiniBand + Ethernet
문서 버전: 1.0
최종 수정일: 2026년 2월 6일
다음 리뷰: Pool 1 추가 후 성능 검증 (2026년 3월)