CS
Lock vs Latch (w/ chatgpt)
나의 말스토리지 트랜잭션 처리에서 논리적 무결성은 lock 을 사용하고 물리적 무결성은 latch를 이용한대. latch 가 더 가벼운 방법이라는데, Latch 설명 부분에서는 B+트리 구조에 대한 잠금을 이야기하고 있어. 도대체 이 맥락에서는 latch가 뭐야?ChatGPT의 말:와, 이건 정말 수준 높은 질문이야! 🤓너무 좋다. 지금 너가 말한 건 DBMS(스토리지 엔진) 내부에서의 동시성 제어를 이야기하는 거고, 여기서 말하는 latch는 소프트웨어 동기화 도구 중에서도 DB 내부 자료구조 보호용 경량 잠금을 의미해. 같이 정리해보자:✅ 요점 먼저구분LockLatch목적논리적 무결성 보장 (트랜잭션 간 충돌 제어)물리적 무결성 보장 (자료구조 보호)수준트랜잭션 단위페이지/버퍼/인덱스 노드 단위사용..

멀티코어 확장성을 위한 Queue기반 Lock (w/ chatgpt)
🧠 왜 Queue 기반 락이 필요할까?기본적인 스핀락(spinlock)은 이렇게 생겼어:while (lock == 1) { // 락이 풀릴 때까지 busy-wait}문제점:여러 스레드가 같은 메모리 위치를 동시에 조회하고 수정하려고 함 → cache line bouncing특히 락 경합이 심할 때 성능이 급격히 떨어짐 😵💫해결책: 각 스레드가 자기만의 스핀 공간을 가지게 하고,앞의 스레드가 끝날 때까지 조용히 기다리자!바로 이게 Queue 기반 락의 핵심 개념이야.🔗 대표적인 Queue 기반 락✅ CLH 락 (Craig, Landin, and Hagersten Lock)특성설명Queue단일 연결 리스트 형태의 논리적 큐Spin 위치자기 전 노드의 상태를 스핀공유 변수 접근 최소화false ..
Spinlock 과 Blocking lock (w/ chatgpt)
나의 말:pthread mutex 는 스핀 락 형태야?ChatGPT의 말:좋은 질문! 핵심을 찌르는 포인트야. 👏pthread_mutex가 스핀락인지 아닌지를 이해하려면 내부 동작을 좀 들여다봐야 해. 정답부터 말하자면:✅ 정답 요약pthread_mutex는 기본적으로 "스핀 락"이 아니고, "커널 차원의 블로킹 락"이다.하지만 특정 설정(pthread_mutexattr_t)으로 "스핀 락처럼" 동작하게 만들 수도 있어.🔍 자세한 설명🔸 1. 기본 pthread_mutex는?*기본 설정 (PTHREAD_MUTEX_DEFAULT)**으로 생성한 mutex는:🔹 CPU를 낭비하지 않음. 대신 context switch 비용이 발생함.🔹 락을 획득할 수 없으면 → 커널에 의해 스레드가 sleep 상태..

Test-and-Set (TAS) 와 Compare-and-Swap (CAS) 차이점 (w/ chatgpt)
🔍 1. Compare-and-Swap (CAS)"값이 기대한 값이면 바꾸고, 아니면 바꾸지 마!"동작 방식:bool compare_and_swap(int* addr, int expected, int new_val) { if (*addr == expected) { *addr = new_val; return true; } return false;}addr == expected → true면 new_val로 바꿈아니면 아무 것도 하지 않음원자적으로 실행됨 (CPU instruction or atomic primitive)🧠 사용 예:lock-free 자료구조 (스택, 큐)atomic compare → 실패하면 retry loop예: std::atomic::comp..

멀티코어에서 캐시 일관성 프로토콜. (w/ chat-gpt)
🧠 왜 캐시 일관성이 필요할까?멀티코어 시스템에서는 각 CPU가 자기만의 캐시 (L1, L2 등)를 갖고 있고,공유 메모리(RAM)는 느리기 때문에 캐시에 데이터를 복사해서 작업함.근데! 문제가 발생할 수 있어:CPU1: 변수 x = 0 → 캐시에 복사CPU2: 변수 x = 0 → 캐시에 복사CPU1: x = 42 // 캐시에서 변경CPU2: x 를 읽음 → 여전히 0임?! ❌같은 주소인데 캐시마다 다른 값을 갖게 됨 → 일관성 깨짐이걸 방지하려고 등장한 게 바로 캐시 일관성 프로토콜!💡 대표적인 프로토콜: MESI 프로토콜가장 유명하고 널리 쓰이는 프로토콜이야.각 캐시 라인(cache line)이 가질 수 있는 상태를 정의함:상태의미Modified내가 가진 캐시가 최신이며, 메모리와는 다름 (di..
![[논문 리뷰] Pspray: Timing Side-Channel based Linux Kernel Heap Exploitation Technique](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FceVWRn%2FbtshbsyWHJX%2FAAAAAAAAAAAAAAAAAAAAAPpDDWfiwp5rkMtkVF9YJjJATZP5OzxPJlng8Fbh4T-r%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DZwuxH%252FQU1yw%252FRf3XmQIYPm5HZik%253D)
[논문 리뷰] Pspray: Timing Side-Channel based Linux Kernel Heap Exploitation Technique
Authors: Yoochan Lee and Jinhan Kwak, Seoul National University; Junesoo Kang and Yuseok Jeon, UNIST; Byoungyoung Lee, Seoul National University Journal/Conference: USENIX security '23 (open access) Source: https://www.usenix.org/conference/usenixsecurity23/presentation/lee Abstract The stealthiness of an attack is the most vital consideration for an attacker to reach their goals without being d..
![[논문 리뷰] Privbox: Faster System Calls Through Sandboxed Privileged Execution](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FoOTcF%2FbtshaUbpig9%2FAAAAAAAAAAAAAAAAAAAAAFGOtzcDj0UMkTiA-xdcri4mcrt40R5TDWiG_Wre7ZOg%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D4w%252FuAL4h4%252BuF0%252FXxdwoYfiLUETE%253D)
[논문 리뷰] Privbox: Faster System Calls Through Sandboxed Privileged Execution
Authors: Dmitry Kuznetsov and Adam Morrison, Tel Aviv University Journal/Conference: USENIX ATC 22' Source: https://www.usenix.org/conference/atc22/presentation/kuznetsov Presentation material: Abstract System calls are the main method for applications to request services from the operating system, but their invocation incurs considerable overhead, which has been aggravated by mitigation mechani..
![[논문 리뷰] IPLFS: Log-Structured File System without Garbage Collection](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcCEzAx%2FbtsgGlNTa7g%2FAAAAAAAAAAAAAAAAAAAAAANp2n4bgg65bGTYdkG_jEtzQzgegE7YC4VGVZPw0PBp%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DNa7KK6HkIe8ogAiI0gFPh2R%252Fc0k%253D)
[논문 리뷰] IPLFS: Log-Structured File System without Garbage Collection
Authors: Juwon Kim, Minsu Jang, Muhammad Danish Tehseen, Joontaek Oh, and YouJip Won, KAIST Journal/Conference: USENIX ATC '22 Source: https://www.usenix.org/conference/atc22/presentation/kim-juwon Abstract In this work, we develop the log-structured filesystem that is free from garbage collection. There are two key technical ingredients: \emph{IPLFS}, a log-structured filesystem for infinite pa..