34 lines
2.2 KiB
Markdown
34 lines
2.2 KiB
Markdown
---
|
|
id: P-REINFORCE-AUTO-BLOC-002
|
|
category: "10_Wiki/💡 Topics/AI"
|
|
confidence_score: 0.94
|
|
tags: [auto-reinforced, blocking, synchronous, computation, resource-management, efficiency]
|
|
last_reinforced: 2026-04-20
|
|
---
|
|
|
|
# [[Blocking]]
|
|
|
|
## 📌 한 줄 통찰 (The Karpathy Summary)
|
|
> "멈춰버린 흐름: 특정 작업이 완료될 때까지 나머지 모든 프로세스가 진행되지 못하도록 막아버리는 동기식 처리 방식으로, 자원 활용의 효율성을 떨어뜨리는 병목의 주원인."
|
|
|
|
## 📖 구조화된 지식 (Synthesized Content)
|
|
블로킹(Blocking)은 작업이 완료될 때까지 제어권을 반환하지 않아 호출한 쪽이 다른 일을 하지 못하고 기다리게 만드는 현상입니다.
|
|
|
|
1. **동작 원리**:
|
|
* A라는 함수가 B라는 I/O 작업(파일 읽기, 네트워크 요청)을 호출함.
|
|
* B가 끝날 때까지 A는 멈춰 있음. (CPU는 놀고 있는데 작업은 진행 안 됨)
|
|
2. **Non-blocking과의 대비**:
|
|
* Non-blocking은 일단 일을 맡기고 바로 제어권을 돌려받아 다른 일을 하다가, 나중에 작업 완료 통보를 받는 방식임.
|
|
3. **시스템적 영향**:
|
|
* 사용자 인터페이스(UI)에서 블로킹이 발생하면 화면이 멈추는(Freezing) 현상이 일어남.
|
|
* 서버에서 블로킹이 잦으면 동시 접속자 처리가 급격히 느려짐. (Scalability 저하)
|
|
|
|
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
|
- **과거 데이터와의 충돌**: 과거의 순차적 프로그래밍 정책은 블로킹을 당연한 것으로 여겼으나, 현대의 고성능 시스템 정책은 모든 I/O를 비동기/논블로킹(Async/Wait) 정책으로 처리하여 응답성을 극대화함(RL Update).
|
|
- **정책 변화(RL Update)**: 대규모 언어 모델 추론 정책에서, 토큰 생성이 끝날 때까지 기다리지 않고 생성되는 즉시 화면에 뿌려주는 '스트리밍(Streaming) 정책'이 블로킹에 의한 사용자 경험 저하를 막는 핵심 설계 원칙이 됨.
|
|
|
|
## 🔗 지식 연결 (Graph)
|
|
- [[Bottlenecks]], [[Technical-Architecture]], [[Optimization]], [[Availability-and-Persistence]], [[Scalability]]
|
|
- **Modern Tech/Tools**: Async/Await, Node.js (Event Loop), Promise patterns.
|
|
---
|