Database - Concurrency control - Timestamp ordering
Timestamp ordering 1. 개요 Lock 없이 Timestamp만을 가지고 직렬화를 판단하는 방식을 말한다. 여기서 Timestamp는 system clock이 될수도, 논리적카운터가 될수도 혹은 그 외의 방식으로 구현된 시간 순에 따라 생성되는 고유한 값이다 2. Basic Timestamp Ordering 각 트랜잭션의 Times...
Timestamp ordering 1. 개요 Lock 없이 Timestamp만을 가지고 직렬화를 판단하는 방식을 말한다. 여기서 Timestamp는 system clock이 될수도, 논리적카운터가 될수도 혹은 그 외의 방식으로 구현된 시간 순에 따라 생성되는 고유한 값이다 2. Basic Timestamp Ordering 각 트랜잭션의 Times...
Locking 1. 개요 공유 자원의 접근 순서나 한번에 접근하는 수를 제한하기 위한 방법이다. 운영체제에서 멀티 스레드간 자원 동기화할때도 자주 쓰는 방법이기 때문에 새로울건 없다. 기본적인 Lock 타입은 총 두 가지이다. S-Lock : Shared lock의 줄임말로 읽을때 걸어두는 Lock이다. X-Lock : Exclusiv...
메모리 컨트롤러와 스케줄링 1. DRAM Controller 개요 DRAM Controller의 구조는 아래와 같다. DRAM Controller의 각각의 컴포넌트에 대한 설명은 아래에서 추가적으로 설명하기로 하고 크게보면 DRAM Controller는 아래와 같은 역할을 한다. 1) DRAM의 올바른 동작 보장 캐피시터 특성상 일정 시간이 지...
메모리 구조 어떤 종류의 컴퓨터이든 간에 컴퓨터는 어떤 정보를 연산 한 뒤에 저장할 공간이 필요하다. 이를 메모리라고 한다. 현대 컴퓨터에서 메모리라고하면 주 기억장치인 DRAM을 대부분 말한다. 이번 포스팅에서는 DRAM과 SRAM 약간에 대해서 알아보도록 하겠다. 1. 개요 흔히들 메모리라고하면 크게 종류가 두 개이다. 바로 DRAM과 SRAM...
저전력 컴퓨터 시스템 1. 개요 이 부분은 임베디드 시스템에 많이 사용되는 부분이다. 특히 모바일 기기의 경우 배터리 유지 시간이 매우 큰 이슈인데, 배터리 유지 시간을 늘리기 위해서는 배터리 자체 용량을 늘리는 것도 방법이 되겠지만 파워 사용량 자체를 줄이는게 더 낫다. 특히 파워를 줄이면 그에 따라 열 발산도 줄어들게 되고 여러모로 이득이 많다...
Database - Transaction 사실 이전에 각 DBMS에서 트랜잭션을 어떻게 걸고 어떻게 커밋하고 어떻게 롤백하는지에 대해서는 언급한적이 있지만 실질적으로 Transaction이 무엇인지에 대해서 언급한적은 없는거 같다. 그래서 오늘은 트랜잭션이 무엇인지에 대해서 포스팅 해보려 한다. 1. 개요 트랜잭션이란 DBMS에서 구동되는 명령어들...
텐서 코어(Tensor Core) 1. 개요 행렬연산에 특화되어있는 Nvidia에서 만든 코어이다. 기본적으로 이 텐서 코어는 D = A * B + C 와 같은 형태의 연산에 특화되어있는 코어이다. 딥러닝 연산의 대부분이 가중치와 편향 계산인 만큼 텐서코어의 이와 같은 특성은 AI에 특화되어있다고 볼 수 있다. 2. 구조 1) 지원하는 자료형 텐...
Matrix multiplication 예제분석 2차원 행렬 곱셈에 대한 GPU를 이용한 계산이다. 처음 2개의 함수는 HOST 즉 CPU를 이용한 함수이고, 뒤에 gpu~ 함수들은 모두 CUDA 코어를 사용한 함수이며 Tensor 코어를 사용한 계산은 이후에 포스팅할 예정이다. 1. hostmult0 예제 분석 int hostmult0(float...
Global Memory Coalescing 예제분석 1. 개요 아래의 예제는 행렬 A,B,C가 있을때 A의 i번째 값 제곱 더하기 B의 i번째 값 제곱 더하기 1을 해서 C의 i번째 값으로 나누는 연산이다. 어떻게 구현하는지에 따라 속도가 달라지며, 이는 Global Memory에 어떻게 엑세스하고 어떻게 캐싱되는지에 대한 내용이다. 오늘은 CPU로...
Vector DB - Quantization 사실 이걸 여기 넣어도 될까 싶은데, 그냥 데이터 Store전에 Pre-Processing이라고 한다면 이것도 Vector DB에서 논할거리가 될 것도 같고, 무엇보다 Code book의 경우 Quantization을 거친 데이터를 쓰기 때문에 여기 포함했다. 1. 개요 찾아보니 양자화(Quantizati...