본문 바로가기

분류 전체보기167

SmartNIC은 왜 데이터센터 CPU 부담을 줄여줄까 현대 데이터센터 구조를 공부하다 보면 어느 순간부터는 “CPU가 원래 해야 할 일이 너무 많아진 거 아닌가?”라는 생각이 들기 시작한다. 나도 예전에는 CPU는 그냥 계산만 하는 존재라고 생각했었다. 그런데 서버 구조를 조금씩 보다 보니까 실제 CPU는 네트워크 패킷 처리, 암호화, 방화벽, 가상화 관리, 스토리지 I/O 같은 엄청난 작업들을 동시에 처리하고 있다는 걸 알게 됐다. 특히 클라우드 데이터센터나 AI 서버 환경에서는 CPU가 단순 계산보다 “운영체제와 인프라 관리 작업” 때문에 훨씬 더 바빠지는 경우도 많다고 한다. 그리고 이런 문제를 해결하기 위해 등장한 대표적인 기술 중 하나가 바로 SmartNIC이다. 처음 이름만 들었을 때는 그냥 조금 더 똑똑한 네트워크 카드 정도로 생각했는데, 구조.. 2026. 5. 31.
RSS(Receive Side Scaling)는 왜 멀티코어 네트워크 처리에 중요할까 현대 서버 구조를 공부하다 보면 어느 순간부터는 “CPU 코어가 많다고 네트워크 처리도 자동으로 빨라지는 건 아니구나”라는 걸 느끼게 된다. 나도 예전에는 서버 CPU 코어 수만 많으면 네트워크 처리량도 그냥 비례해서 올라갈 줄 알았다. 실제로 멀티코어 CPU는 동시에 여러 작업을 처리할 수 있으니까 당연히 패킷 처리도 자연스럽게 분산될 것처럼 느껴졌기 때문이다. 그런데 NAPI, Interrupt Coalescing, DPDK 같은 구조들을 조금씩 이해하다 보니까 네트워크 패킷 처리에서는 “어떤 코어가 어떤 패킷을 처리하느냐” 자체가 굉장히 중요한 문제라는 걸 알게 됐다. 그리고 이런 흐름 속에서 등장한 핵심 기술 중 하나가 바로 RSS(Receive Side Scaling)다. 처음 이름만 들었을 때.. 2026. 5. 31.
False Sharing은 왜 멀티코어 성능을 떨어뜨릴까 멀티코어 CPU 구조를 공부하다 보면 어느 순간부터는 “스레드를 늘렸는데 왜 오히려 느려지지?” 같은 상황을 자주 보게 된다. 나도 처음에는 멀티스레드 프로그램은 CPU 코어를 많이 사용할수록 거의 무조건 빨라지는 줄 알았다. 실제로 코어가 여러 개면 동시에 일을 처리할 수 있으니까 당연히 성능이 올라갈 것처럼 느껴졌기 때문이다. 그런데 Cache Coherency 구조와 멀티코어 캐시 동기화 문제를 조금씩 이해하다 보니까, 현대 CPU는 단순 계산보다 “코어끼리 데이터를 공유하는 비용” 때문에 훨씬 복잡한 병목이 발생할 수 있다는 걸 알게 됐다. 그리고 그중에서도 굉장히 유명한 성능 문제 중 하나가 바로 False Sharing이다. 처음 이름만 들었을 때는 뭔가 잘못된 공유 메모리 문제인가 싶었는데,.. 2026. 5. 30.
Cache Coherency는 왜 멀티코어 CPU를 어렵게 만들까 멀티코어 CPU 구조를 공부하다 보면 어느 순간부터는 “코어가 많아지면 그냥 무조건 빨라지는 건 아닌가?”라는 의문이 들기 시작한다. 나도 예전에는 CPU 코어 수가 늘어나면 성능도 거의 비례해서 올라갈 거라고 생각했었다. 실제로 광고에서도 8코어, 16코어, 32코어 같은 숫자를 강조하니까 당연히 코어가 많을수록 무조건 좋은 줄 알았다. 그런데 NUMA 구조와 메모리 locality 같은 개념들을 보다 보니까 현대 CPU는 단순히 코어를 많이 넣는 것보다 “코어끼리 데이터를 어떻게 공유하고 동기화하느냐”가 훨씬 더 어려운 문제라는 걸 느끼게 됐다. 그리고 그 중심에 등장하는 핵심 개념 중 하나가 바로 Cache Coherency다. 처음 이름만 들었을 때는 그냥 CPU 캐시(Cache) 동기화 정도로 .. 2026. 5. 30.
NUMA는 왜 멀티소켓 서버에서 중요할까 서버 구조를 공부하다 보면 어느 순간부터는 “메모리도 거리 개념이 있다”는 이야기를 듣게 된다. 나도 처음에는 RAM은 그냥 어디서 접근하든 속도가 비슷한 줄 알았다. 실제로 일반 데스크톱 PC에서는 CPU 하나와 메모리 구조가 단순하기 때문에 그런 차이를 체감하기 어렵다. 그런데 데이터센터나 AI 서버처럼 CPU가 여러 개 들어가는 멀티소켓(Multi-Socket) 서버 환경에서는 이야기가 완전히 달라진다고 한다. 특히 최신 서버들은 CPU 코어 수가 엄청 많아지고 메모리 용량도 수백 GB~수 TB 수준까지 올라가면서, 단순히 “메모리가 많다”보다 CPU가 어느 메모리를 접근하느냐가 성능에 굉장히 큰 영향을 주기 시작했다고 한다. 그리고 이런 구조를 설명할 때 반드시 등장하는 개념이 바로 NUMA(No.. 2026. 5. 29.
Huge Page는 왜 서버 성능을 높여줄까 컴퓨터 성능을 이야기할 때 대부분은 CPU 속도나 RAM 용량부터 떠올리게 된다. 나도 예전에는 서버 성능이라는 게 결국 CPU가 얼마나 빠르게 계산하고 메모리가 얼마나 많은지만 중요하다고 생각했었다. 그런데 운영체제와 서버 구조를 조금씩 공부하다 보니까 현대 서버는 생각보다 “메모리 주소를 찾는 과정”에서도 엄청난 비용이 발생할 수 있다는 걸 알게 됐다. 특히 AI 서버, 데이터베이스 서버, 가상화 환경처럼 메모리를 엄청 많이 사용하는 시스템에서는 CPU가 실제 계산보다 메모리 주소 변환 때문에 더 바빠질 수도 있다고 한다. 그리고 이런 문제를 줄이기 위해 등장한 대표적인 메모리 최적화 기술 중 하나가 바로 Huge Page다. 처음 이름만 들었을 때는 그냥 메모리 페이지 크기 늘리는 기능 정도로 생각.. 2026. 5. 29.