profile
그냥 기록하는 블로그
post-thumbnail

Bluefield

Bluefield Structure > BlueField는 네트워크 가속화 및 보안 기능을 갖춘 통합형 솔루션으로, Mellanox Technologies (이제는 NVIDIA의 일부분)에서 개발하고 있는 칩셋이다. BlueField 칩은 네트워크 기능과 프로세싱 기

2023년 5월 22일
·
0개의 댓글
·
post-thumbnail

Kernel Prefetching Size

커널이 prefetching 하는 page의 수를 어떻게 결정하는 지 알아보자.관련 개념\`커널이 prefetching을 동작할 때, prefetching page 수를 어떻게 정하는가?swapin_readahead()아래는 kernel 4.15.18 버전의 swapi

2023년 3월 29일
·
0개의 댓글
·
post-thumbnail

Container Migration

리눅스 컨테이너(Linux Container)는 리눅스 운영 체제에서 실행되는 프로세스를 격리된 환경에서 실행하도록 하는 경량 가상화 기술입니다. 컨테이너 기술은 프로세스 수준 가상화를 제공하며, 호스트 운영 체제와 하드웨어 자원을 공유하기 때문에 가상 머신에 비해 더

2023년 3월 16일
·
0개의 댓글
·
post-thumbnail

Stack Guard

커널은 메모리를 page를 단위로 다루며, 이와 관련된 메모리 API들이 있다.Page allocatorpage_address(page) => page의 가상 논리 주소 반환set_page_address(page, address) => 전달 받은 page의 가상 주소를

2023년 1월 10일
·
0개의 댓글
·
post-thumbnail

RB Trees

\*Red-Black Trees\*\*A red-black tree is one of self-balancing binary search tree.A red-black tree is a representation of a (2, 4) tree by means of a

2022년 12월 4일
·
0개의 댓글
·
post-thumbnail

Kernel Hash Table

커널 해시 테이블은 Linked List로 이루어진 해시 테이블과 유사하다. 키의 해싱을 통해 데이터를 호출하기 때문에 O(1)만에 데이터를 찾을 수 있는 장점이 있다.커널에서 Key의 배열은 hlist_head로 구현되어있다.각 키는 해싱 함수를 통해 hlist_no

2022년 10월 23일
·
0개의 댓글
·
post-thumbnail

터널링

연결해야 할 두 지점 간에 마치 터널이 뚫린 것처럼 통로를 생성하는 것터널링을 지원하는 프로토콜에서 사용하여 구현할 수 있으며, 사설망과 같은 보안 기능을 제공하게 된다.경유지를 통하지 않고 두 지점을 바로 연결하게 된다.데이터 스트림을 인터넷 상에서 가상의 파이프를

2022년 10월 3일
·
0개의 댓글
·
post-thumbnail

Infiniband

PCIprotocolnetwork인터넷 서비스의 증가로 대용량 데이터 전송이 늘어나고 기존의 이더넷 규격이 이러한 인터넷 환경에 부응하지 못함에 따라 InfiniBand라는 새로운 네트워크 규격이 고안되었다. RDMA를 지원해 낮은 지연시간과 최대 50Gbps의 높은

2022년 9월 28일
·
0개의 댓글
·
post-thumbnail

[Linux] Page Fault

Page Fault 처리과정리눅스 커널은 Physical memory를 관리하기 위해 Virtual Address를 사용한다. 각 Virtual Address는 Physical Address와 매핑 되어 Page Table에서 entry로 Physical Memory의

2022년 9월 14일
·
0개의 댓글
·
post-thumbnail

Bin-Packing

Bin-packingknapsack ProblemDPfractional Knapsack분할 가능 배낭 문제는 배낭에 넣을 수 있는 최대 무게가 N이라고 하고, 공들의 무게가 w1, w2, w3 … wi로 존재하며 배낭에 공들을 넣을 때, 공 한개의 무게를 쪼개서도 넣

2022년 9월 13일
·
0개의 댓글
·
post-thumbnail

위상 정렬

위상 정렬(Topological Sort)위상 정렬(topological sorting)은 유향 그래프의 꼭짓점들(vertex)을 변의 방향을 거스르지 않도록 나열하는 것을 의미한다. 위상정렬을 가장 잘 설명해 줄 수 있는 예로 대학의 선수과목(prerequisite)

2022년 9월 7일
·
0개의 댓글
·
post-thumbnail

Radix Tree

컴퓨터 과학에서 기수 트리 (기수 트리 또는 컴팩트 접두사 트리 또는 압축 트리)는 유일한 자식인 각 노드가 부모와 병합되는 공간 최적화 트리(접두사 트리) 를 나타내는 데이터 구조입니다. 결과는 모든 내부 노드의 자식 수는 기수 트리의 기수 r입니다. 여기서 r은 양

2022년 9월 6일
·
0개의 댓글
·
post-thumbnail

DOCA: Basic Manual & Running allreduce

Doca DeviceDOCA device 구성 요소ECPF: DOCA HW devRepresentor in DPU: DOCA Remote devFunction in HostDOCA dev: DOCA HW devDOCA에서는 2개의 Physical Device를 제공한다

2022년 8월 29일
·
0개의 댓글
·
post-thumbnail

Leap Code Analyze

Leap은 페이지가 캐싱되어 있지 않을 때, swapin_readahead 함수를 수행하는 부분에서 과반수 투표 알고리즘을 이용한 패턴 탐지와 prefetcher를 통한 스왑으로 기존 커널의 prefetching의 오버헤드를 감소시켰다.Leapswapin_readahe

2022년 8월 29일
·
0개의 댓글
·

[Linux] Swap Cache

작성 중리눅스가 디스크에서 버퍼링 되는 데이터를 위해 free 메모리를 사용하는 것처럼, 프로세스가 사용하는 페이지에 대한 free 메모리가 필요하다. 디스크 파일로 지원되는 페이지와 다르게 이러한 페이지는 추후에 사용될 수 있기 때문에 삭제되면 안 된다. 그래서 이러

2022년 8월 25일
·
0개의 댓글
·
post-thumbnail

[Linux] Page Fault

프로세스 선형 주소 공간의 페이지가 항상 메모리에 상주할 필요는 없다. 예를 들어, 공간이 vm_area_messages 내에서 예약되었기 때문에 프로세스를 대신하여 수행된 할당이 즉시 충족되지 않는다. 상주하지 않는 페이지의 다른 예로는 백업 저장소로 스왑 아웃된 페

2022년 8월 23일
·
0개의 댓글
·
post-thumbnail

Linux Kernel Memory

User Virtual Address사용자 공간에서 접근하는 주소, 사용자 프로세스가 접근하는 주소는 모두 가상 주소이다.Physical Address프로세서와 메모리 사이에서 사용하는 물리적인 주소Bus Address주변 장치와 메모리가 서로 데이터를 주고 받기 위해

2022년 8월 18일
·
0개의 댓글
·
post-thumbnail

배열과 트리의 시간복잡도

흔히들 배열에서 탐색의 시간 복잡도는 O(n)이고 트리는 탐색의 시간 복잡도가 O(log n)이라 한다.하지만 이런 원리에 대해 자세히 명세하는 곳이 잘 없어 이 부분에 대해 설명하려 한다.(사실 나의 뇌피셜에 가깝다.)배열의 구조에 대해 생각해보면 메모리 공간에 일정

2022년 8월 15일
·
0개의 댓글
·
post-thumbnail

Host NIC DMA

These platforms support the PCI DMA interface, but it is mostly a false front. There are no mapping registers in the bus interface, so scatterlists ca

2022년 8월 11일
·
0개의 댓글
·
post-thumbnail

# 다중 단계 페이징

다중단계 페이징 시스템이란, Page Directory로 영역을 구분하여, 그 중에 데이터가 있는 디렉터리만 페이지 테이블을 만들어 메모리 공간을 절약하는 개념이다.전체 페이지 32bit 중, 12bit는 원래대로 페이지 주소로부터의 변위를 나타내는 정보고, 나머지 2

2022년 8월 2일
·
0개의 댓글
·