bigsys-gnu / mvcc-os

KhronOS, a scalable operating systems based on sv6 (MIT) with MV-RLU (multi-version concurrency control mechanism)
Other
1 stars 0 forks source link

MV-RLU kbench performance optimization #73

Open bigsys-gnu opened 2 years ago

bigsys-gnu commented 2 years ago
bigsys-gnu commented 2 years ago
MadPlayer commented 2 years ago

일단 scalefs가 20core에서 부팅이 되었으니 지금까지 sv6에 수정한 내용을 scalefs에 옮기고 추가로 수정해서 올리면 실험 부탁드립니다! @gitrvy2 @HanMinGyun

MadPlayer commented 2 years ago

일단 scalefs가 20core에서 부팅이 되었으니 지금까지 sv6에 수정한 내용을 scalefs에 옮기고 추가로 수정해서 올리면 실험 부탁드립니다! @gitrvy2 @HanMinGyun

https://github.com/MadPlayer/mvcc-os/tree/bench_opt

이 브렌치에 scalefs에는

memory 관련 문제로 생각되는 것은 아직 수정하지 않았습니다.

입니다.

HanMinGyun commented 2 years ago

scalefs HW에서 kbench 수행하니까 이렇게 나오고 멈춥니다. image

MadPlayer commented 2 years ago

scalefs HW에서 kbench 수행하니까 이렇게 나오고 멈춥니다.

20 core 머신인가요? mvrlu 실행시만 멈추었나요?

HanMinGyun commented 2 years ago

20코어 머신이고 kbench를 아무 옵션 없이 실행 했을때 멈췄어요.

MadPlayer commented 2 years ago

기존에 MV-RLU Repo에서 구현된 insert가 제가 구현한 insert와 다른점이 있어서 수정하겠습니다.

https://github.com/cosmoss-vt/mv-rlu/blob/84ab18acce44c3d641380631550386d8a9225739/benchmark/rlu/hash-list.c#L866-L874 이렇게 next의 값을 수정하지 않더라도 lock을 걸어서 복사본을 만들어야 합니다.

bigsys-gnu commented 2 years ago

기존에 MV-RLU Repo에서 구현된 insert가 제가 구현한 insert와 다른점이 있어서 수정하겠습니다.

https://github.com/cosmoss-vt/mv-rlu/blob/84ab18acce44c3d641380631550386d8a9225739/benchmark/rlu/hash-list.c#L866-L874 이렇게 next의 값을 수정하지 않더라도 lock을 걸어서 복사본을 만들어야 합니다.

이 부분 추가해주세요. pull request 있는 hlbench_performance_test에서 수정하면 될거 같아요. 이 부분이 반드시 들어가야 하는데 이상하군요. 수정후 성능 확인도 해주세요.