본문 바로가기
반응형

전체 글133

[AWS EFA] 인스턴스 사이 통신에서 커널을 건너뛴다는 게 무슨 뜻인가 HPC나 분산 학습 문서를 읽다 보면 EFA(Elastic Fabric Adapter)가 늘 "필수"로 나온다. 설명은 대개 "OS 커널을 바이패스해서 지연이 낮다"에서 끝난다. 그런데 커널을 건너뛴다는 게 정확히 무엇을 건너뛴다는 뜻인지, 그리고 그게 왜 노드를 늘릴 때 결과를 바꾸는지는 잘 안 나온다.이 글은 그 두 가지를 그림으로 풀고, 문서에 적힌 제약이 실제로 어떤 상황에서 발목을 잡는지까지 정리한다. AWS 기술 블로그의 EFA 소개 글[1]을 읽고 정리하면서, 거기 실린 2024년 기준 수치들을 지금 API로 다시 재봤다. 재보니 숫자 몇 개가 크게 달라져 있었고, 그 차이 자체가 이야깃거리였다.EC2에서 다중 노드 시뮬레이션이나 분산 학습을 올려볼 사람, 또는 EFA를 켜라는 말은 들었는데.. 2026. 8. 26.
[Redis] 내가 아는 Redis IO MultiFlexing # Redis I/O 멀티플렉싱: 스레드 하나로 수천 연결을 어떻게 보나[Redis 엔진 동작 원리](Redis_엔진_동작원리_움직이는_그림으로.md)를 정리하면서 한 가지를 얼버무리고 넘어갔다. "단일 스레드 이벤트 루프가 소켓 이벤트를 기다린다"고 썼는데, 스레드가 하나뿐인데 연결 수천 개를 동시에 어떻게 지켜보는지는 설명하지 않았다.답이 I/O 멀티플렉싱이다. 그리고 이걸 알아야 풀리는 실무 질문이 몇 개 있다. 연결을 많이 열어두면 메모리가 얼마나 드는지, `maxclients`를 왜 올려야 하는지, ElastiCache의 "I/O Multiplexing" 기능은 이것과 같은 건지 다른 건지.전부 로컬 Redis 8.10에 실제로 연결을 붙여 측정했다. Redis 내부가 궁금한 사람, 연결 수가 .. 2026. 8. 10.
[Redis] 내가 아는 Redis ## 한 문장 정의와 요약 Redis는 단일 스레드 이벤트 루프가 메모리 위의 자료구조를 조작하고, 그 변경을 디스크와 replica로 흘려보내는 엔진이다.이 문장에 다섯 축이 들어 있다. 이벤트 루프(어떻게 처리하나), 자료구조(어떻게 담나), 메모리 관리(어떻게 지우나), 영속성(어떻게 남기나), 복제(어떻게 퍼뜨리나). 아래는 이 순서다.기억할 건 세 가지다. 첫째, 스레드가 하나라서 락이 없는 대신 느린 명령 하나가 전부를 막는다. 둘째, 지우는 이유가 시간(만료)과 압박(축출) 두 가지고 서로 다른 메커니즘이다. 셋째, 저장과 복제는 fork와 스트리밍으로 서비스를 멈추지 않고 처리한다.## 왜 단일 스레드인가먼저 짚어야 할 게 있다. Redis가 단일 스레드라는 건 성능을 포기한 결과가 아니라.. 2026. 8. 7.
[DNS] 내가 아는 DNS 주소창에 도메인을 치면 페이지가 열린다. 그 사이에 일어나는 일을 "DNS가 이름을 IP로 바꿔준다" 한 줄로만 알고 있었다. 언젠가는 자세히 정리해보자 했던 시점 마침 시간이 나서 DNS 에서 질의 하나가 시작해서 끝날 때까지의 순서를 정리했다. TCP를 정리했을 때처럼 각 단계를 직접 만든 GIF로 붙였고, 나오는 수치와 출력은 전부 이 글을 쓰면서 실제로 조회한 값이다. 다만 IP와 TTL 값은 조회 시점에 따라 달라지니, 직접 따라 해보면 숫자는 다르게 나오는 게 정상이다. 봐야 할 건 숫자가 아니라 구조다.네트워크를 한 번쯤 훑었지만 DNS가 흐릿한 사람, 그리고 TTL이나 Alias 때문에 한 번 데어본 사람에게 맞는 글이다.DNS(Domain Name System)는 사람이 읽는 이름을 기계.. 2026. 8. 5.
[TCP] 내가 아는 TCP 네트워크를 한 번쯤 배웠지만 "그래서 실제로 어떻게 동작하는데?"가 흐릿한 사람, 면접이나 시험을 앞두고 TCP를 한 번에 훑고 싶은 사람에게 맞는 글이다.TCP 란?TCP(Transmission Control Protocol)는 신뢰할 수 없는 네트워크 위에서 신뢰할 수 있는 바이트 스트림을 만들어주는 프로토콜이다.기억할 건 세 가지다. 첫째, 데이터를 보내기 전에 연결을 맺고(handshake), 다 쓰면 닫는다. 둘째, 보낸 데이터가 잘 도착했는지 ACK로 확인하고 안 오면 다시 보낸다. 셋째, 상대와 네트워크가 감당할 만큼만 속도를 조절한다. 이 세 가지가 TCP의 전부다. 왜 TCP가 필요한가: TCP vs UDP 인터넷의 밑바탕인 IP는 "최선을 다해 배달은 하지만 도착은 보장 안 함"이 원칙.. 2026. 7. 30.
[면접 준비] AI 대학원 면접 준비 클라우드 엔지니어로 4년을 일하다 AI 대학원 면접을 준비하면서, 예상 기술 질문과 답을 한곳에 모았다. 처음엔 개념을 따로따로 외웠는데, 면접 답변으로 말해보니 "정의는 아는데 왜 그런지는 모르는" 구멍이 계속 드러났다. 이 글은 그 구멍을 메우며 정리한 기록이다. AI/ML 면접이나 개념 복습이 필요한 사람에게 도움이 될 것이다. 정리하면서 세운 기준은 하나였다. 한 줄로 정의할 수 있고, 왜 그렇게 되는지 한 문장 더 붙일 수 있으면 안다고 친다. 그게 안 되면 아직 모제대로 모르는 것으로 분류하였다. 1. 내가 만든 것부터 — LLM 보조 도구면접에서 가장 깊게 파고든 질문은 결국 "그래서 네가 직접 뭘 만들었냐"였다. 나는 두 가지를 만들었다.RAG 구조: 내가 과거 해결한 문제를 정리하여 벡터.. 2026. 7. 12.
선형대수학 Ch.15 — 고유값을 빠르게 구하는 평균-곱 트릭 (Quick Eigenvalues)📅 2026-04-13🎥 출처: A quick trick for computing eigenvalues (3Blue1Brown)평균-곱 트릭 핵심 개념 요약 📅 2026-04-13🎥 출처: A quick trick for computing eigenvalues (3Blue1Brown) 1. 문제 제기 — 기존 방식은 왜 번거로운가?Ch.14에서 고유값을 구하는 방법으로 특성방정식을 배웠다:det(A−λI)=02×2 행렬 $\begin{bmatrix} a & b \ c & d \end{bmatrix}$에 적용하면:det[a−λb cd−λ]=(a−λ)(d−λ)−bc=0λ2−(a+d)λ+(ad−bc)=0이를 근의 공식으로 풀면 답이 나오지만, 단계가 많고 실수가 잦다.새로운 질문: 이 이차방정식을 명시적으로 쓰지 않고, 행렬에서 바로 고유값을 읽어낼 수 있을까?2. 핵심 두 가지 사실 — 자취와 행렬식2×2 행렬의 두 고유값을 λ1, λ2라 할 때:사실 1: .. 2026. 4. 13.
선형대수학 Ch.14 — 고유벡터와 고유값 (Eigenvectors & Eigenvalues) 선형대수학의 본질 Ch.14 — 고유벡터와 고유값 (Eigenvectors & Eigenvalues)📅 2026-04-13🎥 출처: Essence of Linear Algebra – Chapter 14: Eigenvectors and eigenvalues (3Blue1Brown)1. 개요 — 왜 고유벡터/고유값인가?고유벡터(Eigenvector)와 고유값(Eigenvalue)은 선형대수학에서 "변환의 본질을 꿰뚫는 렌즈" 역할을 한다.대부분의 교과서는 행렬식 계산과 특성방정식 풀이에 집중하지만, 3Blue1Brown은 기하학적 직관을 먼저 강조한다:"선형 변환을 가했을 때, 방향이 바뀌지 않는 특별한 벡터가 있다."이 개념을 이해하려면 아래 개념들이 선행되어야 한다.선행 개념핵심 내용선형 변환과 행렬.. 2026. 4. 13.
반응형