2025 DKU Semiconductor Software Practices
lab1/: FTL ์๋ฎฌ๋ ์ดํฐ ๊ตฌํ ๊ณผ์
lab2/: OpenSSD ์ ๋ฎฌ๋ ์ด์
ํ๊ฒฝ์์ GreedyFTL ๊ฐ์
Ubuntu 22.04
gcc 11.4
make 4.3
sudo apt update && sudo apt install -y build-essential
cd lab1
make # ftl_sim ๋น๋
./myftl # ์คํ
make clean # ์ ๋ฆฌ
lab1/
โโ workload/ # ์ํฌ๋ก๋ ํ์ผ
โโ Makefile
โโ test.h
โโ test.c # ํ
์คํธ ์ฝ๋
โโ myftl.h # ์๋ฎฌ ํ๋ผ๋ฏธํฐ/์๋ฃ๊ตฌ์กฐ, FTL API ์ ์ธ
โโ myftl.c # FTL ๊ตฌํ(๋งคํ/ํ ๋น/GC)
cd lab2
make # cosmos_sim ๋น๋
./cosmos_sim # ๊ธฐ๋ณธ ์คํ
# ์ ๋ฆฌ: make clean
์คํ ์ธ์(์์ฝ)
-n, --nworkers <N>: ์์ปค ์ ์ค์ (์ต๋ 10). ํ์ ๋จผ์ ์ง์
-w, --worker "<pattern> <read%> <write%> <nblks>": ์์ปค๋ณ ํจํด/๋น์จ/๋ธ๋ก์(์ฌ๋ฌ ๋ฒ ์ง์ ๊ฐ๋ฅ). read%+write%=100
-s, --size "p1 p2 ...": ๊ฐ ์์ปค ํํฐ์
๋น์จ(%) ๋ชฉ๋ก. ๋ฏธ์ง์ ์ ๊ท ๋ฑ ๋ถ๋ฐฐ
-i, --inst <N>: ์ด ์์
์(operations)
-c, --condition: ์ฌ์ ์กฐ๊ฑดํ(preconditioning) ์ํ
-r, --report: ๋ก๊ทธ ํ์ผ ์ถ๋ ฅ ํ์ฑํ
-o, --outputdir <DIR>: ๋ก๊ทธ ์ถ๋ ฅ ๋๋ ํ ๋ฆฌ(๊ธฐ๋ณธ .). lat.csv, perf.csv ์์ฑ
์์
./cosmos_sim -n 2 \
-w " 0 70 30 4096" -w " 1 50 50 4096" \
-s " 60 40" -i 100000 -c -r -o ./out