1 RocksDB의 필요성
ghOSt로 ULE를 구현하고, 사용자 공간에 적용시킬 계획이다. 그리고 적용시키기 전과 후의 성능을 테스트하기 위해 RocksDB를 사용할 예정이다. RockDB를 테스트에 이용하기로 한 이유는 일단 ghOSt 논문에서 활용한 방식이고, ULE 알고리즘 특성상 여러 task를 생성하는 RocksDB의 benchmark 방식이 적합할 것이라 생각했다.
2 설치 방법
2.1 의존성 설치하기
sudo apt-get install -y \
libgflags-dev \
libsnappy-dev \
zlib1g-dev \
libbz2-dev \
libzstd-dev \
liblz4-dev
의존성 설치하기
dpkg -s libgflags-dev | grep Version
gflags 버전확인
sudo apt update
sudo apt install cmake
git clone https://github.com/gflags/gflags.git
cd gflags
mkdir build && cd build
cmake ..
make
sudo make install
버전이 확인되지 않는다면, 위의 코드를 통해 적절한 저장소로 이동 후 gflags를 clone하고 설치합니다.
2.2 RocksDB 설치하기
git clone https://github.com/facebook/rocksdb.git
cd rocksdb
make static_lib db_bench
rockDB의 릴리즈 버전과 벤치마크 테스트를 위한 db_bench를 컴파일합니다.
3 성능 테스트하기
./db_bench --benchmarks=readrandom --num=10000000 --threads=20
1000만 개의 랜덤 read 요청을 20개의 스레드를 통해 처리하는 벤치마크 테스트 코드입니다.
- ghOSt를 적용하기 전 테스트 결과
- ghOSt를 적용한 후 테스트 결과
앞으로 ULE를 적용시켜서 이를 개선해보겠습니다!!
'Linux > 리눅스 자원관리 개선(사용자 영역)' 카테고리의 다른 글
[ghOSt-userspace] ghost namespace 분석 - lib/bash.h (0) | 2024.09.12 |
---|