How is the Hierarchy Managed? 지금까지는 cache controller hardware를 통한 cache와 main memory사이의 관계를 살펴봤습니다. 이 글에서는 main memory와 disk 사이의 관계에 대해 살펴보겠습니다. 이는 OS에 의해 관리되며, TLB와 같은 hardware를 통해 mapping되기도 합니다. Virtual Memory 가상 메모리는 main memory를 secondary memory의 cache의 개념으로 사용하는 것입니다. 여러 프로그램 간의 효율적이고 안전한 메모리 공유를 가능하게 하기도 하고(virtual address space를 통해 program간의 메모리를 분리할 수 있습니다), physical memory보다 더 큰 프로그램을 ..
Review: Major Components of a Computer 컴퓨터는 다음과 같이 구성됩니다: 최근에는 processor의 DRAM의 clock per instruction의 차이가 점점 커지고있습니다: 이를 메모리 장벽(memory wall)이라고 부르며, 이는 전반적인 성능에 있어서 우수한 메모리 계층(cache)의 설계가 필수적임을 의미합니다. Why hierarchy works: Locality 메모리 계층(memory hierarchy)의 목표는 크고 저렴하며 빠른 메모리입니다. 이는 계층구조(hierarchy)와 병렬처리(parallelism)을 통해 달성됩니다. 이때 메모리 계층이 작동하는 원리는 locality입니다. 그리고 지역성은 크게 두 가지입니다: (1) tempora..
Background 프로그램은 실행을 위해 메모리에 있어야하지만, 프로그램의 전체가 사용되는 경우는 드뭅니다. 예를 들어 error code, unusual routine, large data structure들은 자주 사용되지 않아 반드시 메모리에 항상 있어야하는 것은 아닙니다. 즉, 부분적으로 load된 프로그램을 상상해볼 수 있다는 뜻입니다. 각 프로그램이 실행중에 사용하는 memory의 양이 줄어들어, 더 많은 프로그램이 동시에 실행될 수 있으며, 이는 response time이나 turnaround time을 바꾸지 않으면서 CPU 활용률과 throughput을 증가시킵니다. 또한 swap out/in 할 때 transfer하는 양이 줄어들기 때문에 swap 하는데 필요한 I/O가 줄어들어 각 ..
Failure Classifier Database system에서 발생할 수 있는 failure case는 다음과 같습니다:Transaction failure:Logical errors: transaction내부의 error condition으로 인해 transaction이 끝나지 않는 것을 말합니다.System errors: deadlock과 같이 error condition으로 인해 database system이 동작중인 transaction을 종료해야만 하는 상황을 말합니다.System crash: power failure나 다른 hardware/software failure로 인해 system이 crash가 발생한 상황을 말합니다.Fail-stop assumption: non-volatile st..
Timestamp-Based Protocols 각각의 Transaction Ti에 대해 unique한 timestamp TS(Ti)를 할당합니다. timestamp는 transaction이 사작될 때 할당되며, timestamp는 logical counter를 기반으로 할당해도 됩니다. *굳이 real-time일 필요는 없습니다. 그냥 Transaction들의 시작 시간을 구분할 수 있기만 하면 됩니다. 그리고 이 timestamp 순서대로 serialize하는 것이 목표입니다. Timstamp-Ordering Protocols TSO(TimeStamp Ordering protocols)는 데이터 항목 Q마다 W-timestamp(Q): 성공적으로 write(Q)를 실행한 가장 큰 timestamp, 즉..
Deadlock Handling system이 deadlocked되었다는 것은 일련의 transaction들이 서로 상대방이 lock을 해제하기를 무한정 기다리는 상황을 의미합니다. 대부분의 locking protocol에서는 deadlock의 발생가능성이 항상 있습니다.2025.06.06 - [[학교 수업]/[학교 수업] Database] - [Database] Concurrency Control [Database] Concurrency ControlConcurrency control Concurrency control의 목표는 DBMS가 Serializable하고 Recoverable하며 가급적이면 Cascadeless인 스케줄을 생성하도록 스케줄링 결정을 내리는 것입니다.2025.05.25 - [[..
Concurrency control Concurrency control의 목표는 DBMS가 Serializable하고 Recoverable하며 가급적이면 Cascadeless인 스케줄을 생성하도록 스케줄링 결정을 내리는 것입니다.2025.05.25 - [[학교 수업]/[학교 수업] Database] - [Database] Transaction [Database] TransactionTransaction Concept Transaction이란 프로그램의 실행 단위입니다. 예를 들어 $50을 A계좌에서 B계좌로 이동하는 Transaction은 다음과 같습니다: 이 과정에서 두 가지 issues가 있을 수 있습니다. (1) 만약 hardwahw-hk.tistory.com DBMS Scheduler는 높은 수준..
Instruction-Level Parallelism (ILP) ILP는 여러 instruction들을 동시에 실행하는 것을 의미합니다. 그리고 지금까지 공부했던 pipeline이 이에 해당합니다. ILP를 증가시키기 위해서는; (1) 더 깊은 pipeline: 각 단계에서 수행하는 작업량을 줄여 clock cycle을 단축합니다.(2) Multiple Issue: pipeline 단계를 복제하여 여러 pipeline을 만들고, 매 clock cycle마다 여러 명령어를 동시에 시작합니다. multiple issue의 경우 CPI가 1보다 작아지므로, IPC(Instruction per cycle)이라는 용어를 사용합니다. 예를 들어 4-way multiple issue를 사용하면 CPI = 0.25, ..