본문 바로가기
C.W.K.
Lesson 03 of 05 · published

예산과 속도 조절

~11 min · pacing, budget, planning, politeness

Level 0Kindling
0 XP0/32 lessons0/10 achievements
0/100 XP to next level100 XP to go0% complete

아카이브는 스프린트가 아니라 계절에 지어진다

기가바이트급 수입 물건 열둘의 큐는 하룻밤에 착지할 수 없고, 하려고도 하지 마. 순진한 계획(링크 최대로, 전부 당기고, 자기)은 현실과 접촉하며 실패해: 가정은 네트워크를 공유하고, 오래 포화된 전송은 자기 중단률을 올리고, 자원을 독점하는 폭발은 눈에 띄어 — 그리고 뽑혀. 아카이브의 계획은 수집을 속도가 조절되고, 예산이 붙고, 며칠에 걸친 캠페인으로 다뤄.

캠페인을 정의하는 두 노브:

  • 속도 상한 — 링크 천장의 검소한 비율(몇 MB/s가 흔한 아카이브 음역대야). 천장 아래에서는 중단이 드물고, 이어받기가 싸게 유지되고, 네트워크를 공유하는 나머지 전부가 계속 쓸 만해. 전송이 가구가 돼: 있고, 조용하고, 무시 가능하게.
  • 일일 예산 — 하루당 총 바이트 허용량(150 GB가 그럴듯한 가정 규모야), 재설정 경계와 함께. 예산은 어느 한 탐욕적인 하루가 저장소와 네트워크가 하는 나머지 전부를 밀어내지 못 하게 하고, 캠페인 산수를 정직하게 만들어: 예산에서는 1 TB 수집이 캠페인 날 기준 이레쯤이야 — 발견하는 게 아니라 계획할 수 있지.

함께 그들은 실패 프로파일을 바꿔: 방해받으면 안 되는 하나의 영웅적 전송 대신, 설계상 중단을 견디는 조용한 세션들의 연속. 인내는 야망의 부재가 아니야 — 야망에 속도를 매겨서 일주일을 살아남게 하는 거지.

계획 산수

노브가 정해지면 캠페인 계획은 머릿속으로 되는 정직한 산수야:

days = ceil(총_바이트 / 일일_예산)

그리고 파일당: hours ≈ 파일_바이트 / (속도_상한 × 3600). 2 MB/s에서 17 GB 샤드는 약 2.4시간. 1.5 MB/s에서 34 GB는 약 6.3시간. 그 숫자들이 예약하는 큐와 기습하는 큐의 차이야. 그리고 수집 우선순위에 먹여: 예산이 직렬화를 강제하면, 큐 순서를 장작더미의 이유로 매겨 — vessel 의존 먼저, 그냥 존중은 나중에.

중단이 저녁이 아니라 몇 분짜리가 되도록 캠페인에 속도를 매겨라. 속도 상한과 일일 예산은 보수주의가 아니야 — 이어받기 가능한 계절과 영웅적 실패를 가르는 차이지.

예의는 기계적인 면이 있다

천장 아래에서 돌고 재시도 백오프를 존중하는 건, 당기는 출처의 좋은 시민이 되게도 해줘: 허브 쪽의 레이트 리미터는 폭발적인 행동에 반응하고, 이어받기가 있는 속도 조절된 클라이언트는 거의 만나지 않지. 아카이브의 인내와 출처의 인내가 결국 같은 엔지니어링인 거야.

Code

캠페인 산수와 속도 조절된 풀·bash
# 정직한 플래너 (큐에 넣기 전에 이걸 해):
python3 - <<'EOF'
rate = 1.5e6        # 바이트/초 속도 상한 (너의 설정)
budget = 150e9      # 바이트/일 일일 예산 (너의 설정)
for name, size in [("model-a bf16", 34e9), ("model-b bf16", 17e9),
                   ("model-c gguf", 5e9)]:
    hours = size / (rate * 3600)
    print(f"{name:18} {size/1e9:5.0f} GB  상한에서 ~{hours:4.1f} h")
total = 34e9 + 17e9 + 5e9
print(f"큐 합계 {total/1e9:.0f} GB -> 예산에서 {total/budget:.1f} 일")
EOF

# 속도 조절된, 이어받기 가능한 풀 (curl 자체 리미터):
#   --limit-rate 1500K   처리량 상한 (~1.5 MB/s)
#   -C -                 .part가 남긴 곳에서 이어받기
curl -L -C - --fail --limit-rate 1500K -o file.part "$URL"

# 큐 스크립트에서 풀을 밤에 돌려; 예산 줄이 하루 몫이
# 소진되면 큐를 멈추고, 내일 실행이 바이트 카운터가
# 남긴 정확히 그곳에서 다시 시작해.

External links

Exercise

두 노브(속도 상한, 일일 예산)를 정하고 각각 한 문장의 근거와 함께 적어. 실제 위시리스트 세 개로 플래너를 돌려. 그다음 리미터를 켠 채 실제 파일 하나의 속도 조절 풀을 실행하고 예측 대비 실제 시간을 적어. 큐를 유지한다면 이유(vessel 먼저)로 재정렬하고 새 순서를 적어.
Hint
속도를 야망의 비율이 아니라 속도 측정의 비율로 골라 — 풀이 도는 동안 영상통화가 끊기면, 산수가 뭐라든 상한이 네 가정의 현실엔 너무 높은 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인 — 댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.