Skip to content

pnucse-capstone/capstone-2023-1-47

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Zoned Namespace를 이용한 SSD 성능 Isolation 기법 연구

1. 프로젝트 소개

  • 프로젝트 명

    • Zoned Namespace를 이용한 SSD 성능 Isolation 기법 연구
  • 배경

    • ZNS SSD(Zoned Namespace SSD)는 메모리를 Zone 단위로 구별하여 사용하는 SSD로, 성능 및 공간 효율이 일반 SSD 보다 높다.
    • Linux Container란 운영체제 수준의 가상화 기술로 단일 리눅스 커널에서 동작하고 있는 각 프로세스를 격리시켜 독자적인 리눅스 시스템 환경을 구축하는 것이다.
  • 목표 image

    • Dm-zoned는 리눅스 커널에서 기존의 파일 시스템과 ZNS SSD를 연결해주는 역할을 하는 Device Mapper이다.
    • 기존의 Dm-zoned를 이용하면 컨테이너간의 Zone 격리가 일어나지 않아 I/O 간섭이 생긴다. -> 컨테이너간의 Zone 분리 할당 정책을 개발하여 I/O를 격리시키고 컨테이너의 성능을 향상 시키는 것이 본 과제의 목표이다.

2. 팀 소개

팀원 이메일 역할
윤건우 glove2275@gmail.com - dm-zoned 코드 분석 : bio, chunk
- Chunk – Group 매핑 알고리즘 설계
- I/O Isolation 성능 평가
황인욱 arheon2469@gmail.com - 리눅스 환경 설정
- dm-zoned 코드 분석 : 구조체, bio
- 구조체 및 알고리즘 테스트 및 디버깅
조준서 monstazo911@gmail.com - 커널 분석 환경 설정
- dm-zoned 코드 분석 : 구조체, chunk 관련
- Chunk – Group 매핑 구조체 설계

3. 구성도

청크-그룹 매핑 테이블

image
  • Chunk와 Cgroup 사이의 매핑 관계를 배열로 저장한다.
  • 특정 Cgroup에게 할당된 Chunk를 기억한 후, 다른 Cgroup은 해당 Chunk에 할당되지 않도록 한다.

Zone 할당 과정

image
  1. I/O를 실행하기 위해 컨테이너가 Dm-zoned에 요청
  2. 해당 컨테이너의 cgroup id를 확인
  3. 매핑 테이블을 확인하여, 해당 cgroup에 할당된 chunk가 없으면 새로운 chunk 할당 후 I/O 작업 요청
  4. 이미 할당된 chunk가 있다면 해당 chunk에 I/O 작업 요청
  5. chunk는 zone과 1:1 매핑되어 I/O 처리

4. 소개 및 시연 영상

video

5. 사용법

Environment

image

Requirement


1. FEMU 설치 및 실행

2. 리눅스 커널, dm-zoned 설치

3. 빌드 파일 다운로드 및 설치

  • linux-image-5.10.136_7.0_amd64.deb 다운로드

  • 빌드 파일 설치

sudo dpkg -i linux-image-5.10.136_1.0_amd64.deb
  • 재부팅
sudo shutdown now

About

capstone-2023-1-47 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published