Skip to content

Commit

Permalink
update: 2025-01-27 ~ 2025-02-02 (#75)
Browse files Browse the repository at this point in the history
  • Loading branch information
haeramkeem authored Feb 3, 2025
1 parent abde334 commit ac6cde4
Show file tree
Hide file tree
Showing 63 changed files with 990 additions and 175 deletions.
13 changes: 13 additions & 0 deletions content/gardens/algorithm/draft/Page Rank (Algorithm).md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
tags:
- algorithm
- algorithm-graph
aliases:
- Page Rank
---
> [!info]- 참고한 것들
> - [조성문의 블로그](https://sungmooncho.com/2012/08/26/pagerank/)
> - [원본 논문](http://infolab.stanford.edu/pub/papers/google.pdf)
> [!fail]- 본 글은 #draft 상태입니다.
> - [ ] 내용 추가
19 changes: 10 additions & 9 deletions content/gardens/arch/(Garden) Computer Architectures, GPU.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,19 @@ date: 2024-07-29

### 용어집

- [[Control Dependence (Arch)|Control Dependence]]
- [[Data Dependence (Arch)|Data Dependence]]
- [[Dependence (Arch)|Dependence]]
- [[Endian (Arch)|Endian]]
- [[Intrinsic Function (Arch)|Intrinsic Function]]
- [[Program Counter, PC (Arch)|Program Counter, PC]]
- [[Scalar, Superscalar Processing (Arch)|Scalar, Superscalar Processing]]
- [[Single Instruction Multiple Data, SIMD (Arch)|Single Instruction Multiple Data, SIMD]]
- [[CPU Cache (Arch)|CPU Cache]]
- [[Cache Write Policy (CPU Cache)|Cache Write Policy]]
- [[Direct-mapped Cache (CPU Cache)|Direct-mapped Cache]]
- [[Fully Associative Cache (CPU Cache)|Fully Associative Cache]]
- [[Set Associative Cache (CPU Cache)|Set Associative Cache]]
- [[CUDA (NVIDIA CUDA)|CUDA]]
- [[CUDA Execution Model (NVIDIA CUDA)|CUDA Execution Model]]
- [[CUDA Execution Model (NVIDIA CUDA)|CUDA Execution Model]]
- [[Dependence (Arch)|Dependence]]
- [[Control Dependence (Arch)|Control Dependence]]
- [[Data Dependence (Arch)|Data Dependence]]
- [[Scalar, Superscalar Processing (Arch)|Scalar, Superscalar Processing]]
- [[Single Instruction Multiple Data, SIMD (Arch)|Single Instruction Multiple Data, SIMD]]
- [[Endian (Arch)|Endian]]
- [[Intrinsic Function (Arch)|Intrinsic Function]]
- [[Program Counter, PC (Arch)|Program Counter, PC]]
- [[Uncore (Intel Arch)|Uncore]]
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
tags:
- os
- paper-review
- os-memory
- arch
- arch-intel
aliases:
- HeMem
- Model-Specific Register
- MSR
---
> [!fail]- 본 글은 #draft 상태입니다.
> - [ ] 내용 추가
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
tags:
- arch
- arch-memory
aliases:
- Non-Uniform Memory Access
- NUMA
- ccNUMA
---
> [!info]- 참고한 것들
> - [어떤 블로그 글](https://brunch.co.kr/@dreaminz/4)
> [!fail]- 본 글은 #draft 상태입니다.
> - [ ] 내용 추가
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
tags:
- arch
- terms
- arch-ilp
aliases:
- ILP
- Scalar
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
tags:
- arch
- arch-ilp
date: 2024-07-23
aliases:
- SIMD
Expand Down
19 changes: 19 additions & 0 deletions content/gardens/arch/terms/Uncore (Intel Arch).md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
tags:
- arch
- arch-cpu
date: 2025-01-27
aliases:
- Uncore Frequency
- Ringbus Frequency
- Uncore
---
> [!info]- 참고한 것들
> - [어떤 커뮤니티](https://forums.tomshardware.com/threads/what-is-uncore-how-is-it-relevant-to-overclocking.2094084/post-14207130)
> - [위키](https://en.wikipedia.org/wiki/Uncore)
## Not-core

- 이놈은 CPU 에서 Core 와 분리된 component 들을 일컫는 Intel 의 용어이다.
- 대략 CPU 내의 [[L1, L2, L3 Cache (Arch)|L3 Cache]] 나, memory controller (만약에 이놈이 CPU 에 붙어있는 경우) 등이다.
- 그리고 이놈에 대한 frequency 를 *Uncore Frequency* 라고 부르는데, *Ringbus Frequency* 라고 부르기도 한다고 한다.
2 changes: 1 addition & 1 deletion content/gardens/database/(Garden) Database.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ date: 2024-07-29
- [[Transaction, ACID (Database)|Transaction, ACID]]
- [[Multiversion Concurrency Control, MVCC (Database Transaction)|Multiversion Concurrency Control, MVCC]]
- 논문들
- [[(논문) DIVA - Making MVCC Systems HTAP-Friendly|DIVA - Making MVCC Systems HTAP-Friendly (SIGMOD'22)]]
- [[DIVA - Making MVCC Systems HTAP-Friendly (SIGMOD'22)|DIVA - Making MVCC Systems HTAP-Friendly (SIGMOD'22)]]

### DBMS

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ tags:
- database
- db-benchmark
date: 2024-08-23
aliases:
- TPC-C
---
> [!info]- 참조한 것들
> - [TPC-C Spec](https://tpc.org/TPC_Documents_Current_Versions/pdf/tpc-c_v5.11.0.pdf)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ tags:
- database
- db-benchmark
date: 2024-08-23
aliases:
- TPC-H
---
> [!info]- 참조한 것들
> - [TPC-H Spec](https://www.tpc.org/tpc_documents_current_versions/pdf/tpc-h_v2.17.1.pdf)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ aliases:
- Diva
- diva
date: 2024-10-06
title: "(논문) DIVA: Making MVCC Systems HTAP-Friendly (SIGMOD'22)"
---
> [!info] DIVA 링크
> - [논문](https://dl.acm.org/doi/10.1145/3514221.3526135)
Expand Down Expand Up @@ -34,5 +35,5 @@ date: 2024-10-06

> [!fail] #draft Partial-ready 상태입니다.
- [[1. Introduction (DIVA, SIGMOD 22)|1. Introduction]]
- [[3. Design Overview of DIVA (DIVA, SIGMOD 22)|3. Design Overview of DIVA]]
- [[1. Introduction (DIVA, SIGMOD'22)|1. Introduction]]
- [[3. Design Overview of DIVA (DIVA, SIGMOD'22)|3. Design Overview of DIVA]]
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ tags:
- terms
- db-concurrency
- db-index
title: "(논문) DIVA: Making MVCC Systems HTAP-Friendly (1. Introduction)"
title: "(논문) DIVA: Making MVCC Systems HTAP-Friendly, SIGMOD'22 (1. Introduction)"
date: 2024-10-08
---
> [!info] 원본 논문
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ tags:
- terms
- db-concurrency
- db-index
title: "(논문) DIVA: Making MVCC Systems HTAP-Friendly (3. Design Overview of DIVA)"
title: "(논문) DIVA: Making MVCC Systems HTAP-Friendly, SIGMOD'22 (3. Design Overview of DIVA)"
date: 2024-10-09
---
> [!info] 원본 논문
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ date: 2024-10-08
### 4.1.1. Honoring tradition.

> [!tip] Summary for adopting UNIX Inode
> - [[3. Design Overview of DIVA (DIVA, SIGMOD 22)#3.3. Design rationale for version indexing.|Section 3.3.]] 에서 설명한 내용을 좀 끌고와 보자면,
> - [[3. Design Overview of DIVA (DIVA, SIGMOD'22)#3.3. Design rationale for version indexing.|Section 3.3.]] 에서 설명한 내용을 좀 끌고와 보자면,
> - Version 은 ephemeral 하기 때문에 이를 묶어주는 version index 가 차지하는 공간은 가변적으로 변하고,
> - 이런 가변 공간을 handling 하기에 inode 만한 자료구조가 없기 때문에 이것을 활용하는 것이다.
Expand Down Expand Up @@ -81,14 +81,4 @@ date: 2024-10-08

## 4.3. Managing Version Index Space

### 4.3.0. Prologue

- 여기에서는 *Provisional version index* 를 관리하는 방법들 (가령 index concurrency) 에 대해 살펴보자.

### 4.3.1. Resource allocation

-

### 4.3.2. Space compaction.

### 4.3.3. Managing concurrency.
> [!fail] #draft Partial-ready 상태입니다.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
tags:
- database
- db-transaction
aliases:
- Silo
title: (논문) Speedy transactions in multicore in-memory databases (SOSP'13)
---
> [!info] Silo 링크
> - [논문](https://dl.acm.org/doi/10.1145/2517349.2522713)
> - [코드](https://github.com/stephentu/silo)
> [!fail]- 본 글은 #draft 상태입니다.
> - [ ] 내용 추가
2 changes: 1 addition & 1 deletion content/gardens/os/(Garden) Operating Systems, Linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ date: 2024-07-29
- [[Virtual Address Space, VAS (Memory)|Virtual Address Space, VAS]]
- 논문
- [[(논문) Practical, Transparent Operating System Support for Superpages|(Draft) Juan Navarro et al. Practical, Transparent Operating System Support for Superpages (OSDI '02)]]
- [[(논문) Tiered Memory Management - Access Latency is the Key|Tiered Memory Management: Access Latency is the Key! (SOSP '24)]]
- [[Tiered Memory Management - Access Latency is the Key! (SOSP'24)|Tiered Memory Management: Access Latency is the Key! (SOSP '24)]]

### Process Filesystem (`procfs`)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ tags:
- 논문
- snu-aos24s
date: 2024-05-13
aliases:
- Transparent Hugepages
- THP
---
> [!info] 본 글은 Juan Navarro 의 논문 [Practical, Transparent Operating System Support for Superpages (OSDI'02)](https://www.usenix.org/conference/osdi-02/practical-transparent-operating-system-support-superpages) 를 읽고 정리한 글입니다.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ tags:
- os
- paper-review
- os-memory
date: 2025-01-14
title: "(논문) Tiered Memory Management: Access Latency is the Key!"
date: 2025-01-19
title: "(논문) Tiered Memory Management: Access Latency is the Key! (SOSP'24)"
aliases:
- Colloid
---
Expand All @@ -29,6 +29,13 @@ aliases:

## 목차

- [[1. Introduction (Colloid, SOSP 24)|1. Introduction]]
- [[2. Motivation (Colloid, SOSP 24)|2. Motivation]]
- [[3. Colloid (Colloid, SOSP 24)|3. Colloid]]
- [[1. Introduction (Colloid, SOSP'24)|1. Introduction]]
- [[2. Motivation (Colloid, SOSP'24)|2. Motivation]]
- [[3. Colloid (Colloid, SOSP'24)|3. Colloid]]
- [[4. Colloid with Existing Memory Tiering Systems (Colloid, SOSP'24)|4. Colloid with Existing Memory Tiering Systems]]
- [[5. Evaluation (Colloid, SOSP'24)|5. Evaluation]]
- [[6-7. Related Work and Conclusion (Colloid, SOSP'24)|6-7. Related Work and Conclusion]]

## Appendix

- [[Appendix. HeMem + Colloid Coderef (Colloid, SOSP'24)|Appendix. HeMem + Colloid Coderef]]
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ tags:
- os-memory
- paper-review
date: 2025-01-19
title: "(논문) Tiered Memory Management: Access Latency is the Key!, SOSP 2024 (1. Introduction)"
title: "(논문) Tiered Memory Management: Access Latency is the Key!, SOSP'24 (1. Introduction)"
---
> [!info] 본 글은 논문 [Tiered Memory Management: Access Latency is the Key! (SOSP 2024)](https://dl.acm.org/doi/10.1145/3694715.3695968) 를 읽고 정리한 글입니다.
> [!info] 별도의 명시가 없는 한, 본 글의 모든 그림은 위 논문에서 가져왔습니다.
> [!info]- 목차
> - [[1. Introduction (Colloid, SOSP 24)|1. Introduction (현재 글)]]
> - [[2. Motivation (Colloid, SOSP 24)|2. Motivation]]
> - [[3. Colloid (Colloid, SOSP 24)|3. Colloid]]
> - [[4. Colloid with Existing Memory Tiering Systems (Colloid, SOSP 24)|4. Colloid with Existing Memory Tiering Systems]]
> - [[5. Evaluation (Colloid, SOSP 24)|5. Evaluation]]
> - [[6-7. Related Work and Conclusion (Colloid, SOSP 24)|6-7. Related Work and Conclusion]]
> - [[1. Introduction (Colloid, SOSP'24)|1. Introduction (현재 글)]]
> - [[2. Motivation (Colloid, SOSP'24)|2. Motivation]]
> - [[3. Colloid (Colloid, SOSP'24)|3. Colloid]]
> - [[4. Colloid with Existing Memory Tiering Systems (Colloid, SOSP'24)|4. Colloid with Existing Memory Tiering Systems]]
> - [[5. Evaluation (Colloid, SOSP'24)|5. Evaluation]]
> - [[6-7. Related Work and Conclusion (Colloid, SOSP'24)|6-7. Related Work and Conclusion]]
> [!tip] NXSECTION
> - 이후에 등장하는 `1.x.` section 들은 논문 본문에는 없고 주인장이 임의로 자른것이다.
Expand All @@ -40,13 +40,13 @@ title: "(논문) Tiered Memory Management: Access Latency is the Key!, SOSP 2024

- 이런 tiered memory architecture 에서는 DDR 에 추가적으로 장착한 메모리의 경우에는 대역폭은 높지만 latency 는 길기 때문에, latency 가 짧은 DDR 와 같이 사용할 때 "어떻게 메모리를 할당해 줄 것인가" 가 성능에 큰 영향을 미치게 된다.
- 가령 자주 접근되는 hot page 의 경우에는 latency 가 짧은 쪽에 두는 것이 좋을거자나 그치?
- 그래서 이 "어떻게" 에 대한 연구가 많이 진행되어 왔는데, 이에 대한 최신의 SOTA 는 [[(논문) HeMem - Scalable Tiered Memory Management for Big Data Applications and Real NVM|HeMem]], [[(논문) MEMTIS - Efficient Memory Tiering with Dynamic Page Classification and Page Size Determination|MEMTIS]], 그리고 [[(논문) TPP - Transparent Page Placement for CXL-Enabled Tiered-Memory|TPP]] 이다.
- 그래서 이 "어떻게" 에 대한 연구가 많이 진행되어 왔는데, 이에 대한 최신의 SOTA 는 [[HeMem - Scalable Tiered Memory Management for Big Data Applications and Real NVM (SOSP'21)|HeMem]], [[(논문) MEMTIS - Efficient Memory Tiering with Dynamic Page Classification and Page Size Determination|MEMTIS]], 그리고 [[(논문) TPP - Transparent Page Placement for CXL-Enabled Tiered-Memory|TPP]] 이다.
- 이 연구들에서 공통적으로 가정하고 있는 것은 "hot page 는 default tier (즉, DDR 메모리) 에 두는 것이 가장 빠를 것이다" 이고, 따라서 hot page 를 최대한 많이 default tier 에 두려고 한다.
- 즉, default tier 는 항상 alternative tier 에 비해 빠를 것 (latency 가 작을 것) 이라는 것.
- 하지만 본 논문에서는 이 가정을 깨는 것에서 부터 시작한다: memory request 가 동시다발적으로 많이 날라가는 경우에는, default tier 의 latency 는 alternative tier 에 비해 커질 수 있다는 것이다.
- 심지어 bandwidth 가 아직 많이 남았음에도 이런 현상이 관측될 수 있다.
- 이런 현상을 논문에서는 *Memory Interconnect Contention* 이라고 부른다. 즉, CPU-memory 사이의 datapath 에 대한 contention 이라는 것.
- [[2. Motivation (Colloid, SOSP 24)|Section 2]] 에서 이에 대한 실험의 결과가 나오는데, 이러한 *Memory Interconnect Contention* 상황에서는 default tier 의 latency 는 기존의 5배까지 치솟을 수 있고, CXL 와 비교하면 이 latency 는 CXL 보다 2.5 배나 더 크다고 한다.
- [[2. Motivation (Colloid, SOSP'24)|Section 2]] 에서 이에 대한 실험의 결과가 나오는데, 이러한 *Memory Interconnect Contention* 상황에서는 default tier 의 latency 는 기존의 5배까지 치솟을 수 있고, CXL 와 비교하면 이 latency 는 CXL 보다 2.5 배나 더 크다고 한다.
- 따라서 기존의 연구들이 공통적으로 깔고 있던 가정이 깨지게 되었으므로, 이 상황 속에서는 기존의 연구들의 성능 또한 가난하게 나오게 된다: 구체적으로는, optimal 한 성능에 비해 2.3 배나 낮게 나온다고 한다.

## 1.3. Colloid
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,26 @@ tags:
- os-memory
- paper-review
date: 2025-01-19
title: "(논문) Tiered Memory Management: Access Latency is the Key!, SOSP 2024 (2. Motivation)"
title: "(논문) Tiered Memory Management: Access Latency is the Key!, SOSP'24 (2. Motivation)"
---
> [!info] 본 글은 논문 [Tiered Memory Management: Access Latency is the Key! (SOSP 2024)](https://dl.acm.org/doi/10.1145/3694715.3695968) 를 읽고 정리한 글입니다.
> [!info] 별도의 명시가 없는 한, 본 글의 모든 그림은 위 논문에서 가져왔습니다.
> [!info]- 목차
> - [[1. Introduction (Colloid, SOSP 24)|1. Introduction]]
> - [[2. Motivation (Colloid, SOSP 24)|2. Motivation (현재 글)]]
> - [[3. Colloid (Colloid, SOSP 24)|3. Colloid]]
> - [[4. Colloid with Existing Memory Tiering Systems (Colloid, SOSP 24)|4. Colloid with Existing Memory Tiering Systems]]
> - [[5. Evaluation (Colloid, SOSP 24)|5. Evaluation]]
> - [[6-7. Related Work and Conclusion (Colloid, SOSP 24)|6-7. Related Work and Conclusion]]
> - [[1. Introduction (Colloid, SOSP'24)|1. Introduction]]
> - [[2. Motivation (Colloid, SOSP'24)|2. Motivation (현재 글)]]
> - [[3. Colloid (Colloid, SOSP'24)|3. Colloid]]
> - [[4. Colloid with Existing Memory Tiering Systems (Colloid, SOSP'24)|4. Colloid with Existing Memory Tiering Systems]]
> - [[5. Evaluation (Colloid, SOSP'24)|5. Evaluation]]
> - [[6-7. Related Work and Conclusion (Colloid, SOSP'24)|6-7. Related Work and Conclusion]]
## 2.0 Overview

> [!tip] NXSECTION
> - `2.0` 은 overview 로, 논문에는 이런 section 은 없다.
-[[2. Motivation (Colloid, SOSP 24)|Section]] 에서는 SOTA 인 [[(논문) HeMem - Scalable Tiered Memory Management for Big Data Applications and Real NVM|HeMem]], [[(논문) MEMTIS - Efficient Memory Tiering with Dynamic Page Classification and Page Size Determination|MEMTIS]], 그리고 [[(논문) TPP - Transparent Page Placement for CXL-Enabled Tiered-Memory|TPP]] 를 분석하며 다음에 대한 demonstration 을 한다:
-[[2. Motivation (Colloid, SOSP'24)|Section]] 에서는 SOTA 인 [[HeMem - Scalable Tiered Memory Management for Big Data Applications and Real NVM (SOSP'21)|HeMem]], [[(논문) MEMTIS - Efficient Memory Tiering with Dynamic Page Classification and Page Size Determination|MEMTIS]], 그리고 [[(논문) TPP - Transparent Page Placement for CXL-Enabled Tiered-Memory|TPP]] 를 분석하며 다음에 대한 demonstration 을 한다:
- *Memory Interconnect Contention* 상황에서는, default tier 의 latency 는 5배까지 치솟을 수 있다는 것을 보인다.
- CXL 의 HW spec 에 따른 latency 와 비교하면 이것은 2.5 배정도 더 큰 수치라고 한다.
- 위의 SOTA 들은 그냥 무지성으로 hot page 들을 default tier 에 때려박는데, *Memory Interconnect Contention* 상황에서는 이렇게 하는 것이 비효율적임을 보인다.
Expand Down Expand Up @@ -77,7 +77,7 @@ title: "(논문) Tiered Memory Management: Access Latency is the Key!, SOSP 2024
### 2.2.0. Result

> [!tip] NXSECTION
> - `2.2.0`overview 로, 논문에는 이런 section 은 없다.
> - `2.2.0`실험 결과로, 논문에는 이런 section 은 없다.
![[Pasted image 20250119190642.png]]

Expand All @@ -101,7 +101,7 @@ title: "(논문) Tiered Memory Management: Access Latency is the Key!, SOSP 2024
- 이 graph 를 통해 본 논문이 주장하는 바가 확인됨을 알 수 있다: 보면, $1\times$ 상황에서부터 default tier 의 latency 가 alternative tier 의 latency 를 뛰어넘는다.
- 수치적으로는, default tier 는 unload latency 에 비해 $1\times$, $2\times$, $3\times$ 에서 각각 2.5배, 3.8배, 5배 증가하는 것을 볼 수 있고,
- Alternative tier 에 비해서는 각각 1.2배, 1.8배, 2.4배 증가한 것을 알 수 있다.
- 이 이유로는 BW 때문도 있지만 memory controller 의 queue occupancy 때문도 있다. 이에 대해서는 [[3. Colloid (Colloid, SOSP 24)|Section 3]] 에서 더 자세히 알아보자.
- 이 이유로는 BW 때문도 있지만 memory controller 의 queue occupancy 때문도 있다. 이에 대해서는 [[3. Colloid (Colloid, SOSP'24)|Section 3]] 에서 더 자세히 알아보자.

### 2.2.2. Existing systems continue to greedily place hottest pages in default tier under memory interconnect contention.

Expand Down
Loading

0 comments on commit ac6cde4

Please sign in to comment.