전체 글11 AI 서빙의 병목: 컨텍스트 스위칭 오버헤드와 모델 로딩 1. LLM 서빙이 일반 서버와 다른 이유우리가 흔히 만드는 일반적인 API 서버의 흐름은 단순하다. 유저의 요청이 들어오면 서버는 디스크나 DB를 조회하고, 비즈니스 로직을 거쳐 응답을 반환한다.[유저 요청] ──> [API 서버 (Express/Spring/FastAPI)] ──> [DB 조회] ──> [몇 ms 만에 응답 완료]대부분의 로직은 수 밀리초(ms) 단위로 끝나며, 가벼운 프로세스나 스레드가 메모리에 상주하면서 수천 개의 동시 요청을 가볍게 웅변한다. CPU나 메모리가 병목이 되기보다는 I/O에서 대기하는 시간이 대부분이다.반면 LLM 서버의 현실은 처참할 정도로 무겁다.압도적인 아티팩트 크기: GPT-3 수준의 모델은 가중치(Weights) 파일만 약 350GB에 달하며, 상대적으로 가.. 2026. 5. 31. [CS] OSI 7계층과 TCP/IP 핸드셰이크의 신뢰성 이번 스터디의 목표: 데이터가 네트워크를 통해 전달되는 과정을 분석하고, 특히 TCP의 혼잡 제어가 대용량 데이터 전송 시 성능에 미치는 영향을 기술합니다. OSI 7계층OSI 7계층 모델은 1984년 ISO가 만든 것으로, 데이터가 네트워크를 통해 전달되는 과정의 표준 참조 모델이다. 그림을 보면, 우리가 택배보내려고 포장하고 송장 붙이듯이 7계층에서 내려갈때 계층의 정보가 들어있는 헤더가 붙는다.계층이름핵심 역할프로토콜택배비유7응용사용자와 직접 맞닿는 인터페이스HTTP, DNS, FTP고객이 쇼핑몰에서 "이 상품 주문하기" 버튼을 누르는 행위 자체6표현인코딩·압축·암호화TLS, JPEG내용물을 뽁뽁이로 감싸고, 외부에서 못 보도록 불투명 봉투에 넣는 포장 작업5세션연결 수립·유지·종료TLS 세션택배사.. 2026. 5. 31. [CS] 공유 자원의 늪: Race Condition과 교착상태 단일 스레드와 멀티 스레드단일 스레드단일 스레드는 하나의 작업이 끝나면 다음 작업이 시작된다. 따라서 다른 작업이 기다리는 시간이 길어지고 작업을 처리하는 총 시간도 같이 길어지는 문제가 있다. node.js와 javascript가 단일 스레드 형태로 되어 있다.멀티 스레드반면 멀티 스레드는 작업이 동시/병렬적으로 처리된다. Java 서버, 웹 브라우저 렌더링이 이에 해당된다.멀티 스레드 환경에서 자원 공유 시 발생하는 문제점1. 경쟁 상태(Race Condition)경쟁상태란, 하나의 프로세스 안에서 여러 스레드가 공통된 자원에 접근하면서 동시에 읽고 수정이 벌어져 예기치 않은 결과가 나오는 현상이다.만약에 통장 잔고가 5000원이 남아있고, 두 스레드가 동시에 1000원씩 가져간다고 가정해보자.① 읽.. 2026. 5. 28. [CS] 가상 메모리와 페이지 폴트의 메커니즘 들어가며 맥북으로 활성 상태 보기를 실행하면 보이는 화면이다.여기서 주목할 부분은 가장 아래쪽에 위치해 있는 스왑 공간이다. 이건 도대체 무엇이고, 왜 필요한 걸까? 한정된 메모리에서 효율적이고 안정적으로 여러 개의 프로그램을 실행할 수 있도록 하는 방법이 바로 ‘가상 메모리’다.가상 메모리가 필요한 이유모든 PC는 폰 노이만 구조로, 프로그램 코드는 모두 메모리에 올려서 실행된다. 하지만 물리 메모리만으로 시스템을 운영하면 여러 가지 문제가 발생한다. 1. 한정된 메모리 용량프로세스는 충분한 메모리를 할당받아서 실행해야한다. 리눅스는 하나에 4GB인데, 통상적인 메모리는 8GB 또는 16GB다. 만약에 메신저, 게임, 브라우저가 동시에 실행하면 빠르게 부족할 수 있다. 즉, 멀티태스킹을 할 수가 없다.. 2026. 5. 23. [AI/CS] SIMD와 병렬성: CPU와 GPU의 연산 방식 차이 SIMD란?SIMD(Single Interaction Multiple Data)는 하나의 명령어로 여러개의 데이터를 처리하는 방식을 의미한다.명령어와 데이터의 흐름 방식을 분류한 '플린의 분류(Flynn's Taxonomy)' 중 하나이다. 하드웨어 구조로 보는 CPU vs GPUCPU와 GPU는 제어장치(Control), 연산장치(ALU), 캐시(Cache)가 차지하는 면적의 비율부터 다르게 구상되어 있다.Control: CPU는 언제 들어올지 모르는 명령어의 순서를 바꿔서 실행하거나, 다음 명령어를 예측하는 복잡한 제어 로직을 처리해야한다.ALU: 복잡한 계산을 빠르게 처리할 수 있도록 설계되어 있다.Cache: 데이터가 느린 메모리에 가기 전에 저장할 수 있도록 하여 데이터 접근 시간을 최소화한다... 2026. 5. 21. [CS] 폰 노이만 구조와 메모리 병목 현상(Wall) 심층 분석 들어가며컴퓨터는 1946년에 등장해 역사가 100년도 안된 발명품이다.우리가 사용하는 컴퓨터, 핸드폰 등 현대의 컴퓨터들은 모두 '폰 노이만 구조'로 설계되어있다. 그렇다면 폰 노이만 구조는 무엇이며, 왜 생겨난 것일까?폰 노이만 구조 배경[초기]계산기처럼 간단한 연산기계만이 필요했다. [1940년대~1950년대]제 2차 세계대전 발발 후, 복잡한 탄도 계산이 필요해지면서 최초의 컴퓨터인 'ENIAC' 탄생했다.연산로직이 바뀌면 수만개의 전선을 다시 재조립해야했으며, 이에 따라 계산을 준비하는 세팅에만 시간을 많이 소요하는 문제가 있었다. 이러한 ENIAC의 비효율을 수학자 존 폰 노이만이 새로운 대안을 제시했고, 현대 컴퓨터까지 적용되고 있다.ENIAC 대항마: 폰 노이만 구조유명 컴퓨터과학자 존 폰 .. 2026. 5. 20. 이전 1 2 다음