kaistshadow / blockchain-sim

Scalable blockchain simulator/emulator running on shadow simulator
MIT License
9 stars 1 forks source link

add BLEEP, TPS, Latency regtest to develop branch #349

Closed tkdlqm2 closed 3 years ago

tkdlqm2 commented 3 years ago

hotfix branch로 관리하겠습니다.

tkdlqm2 commented 3 years ago

memory dedup issue : 기존에 잘 기능했던 memory dedup은 develop branch에서 개발하지 않고 317번 branch에서 개발을 하였습니다. 현재 공인인증 테스트 branch를 하나로 합치려는 이슈가 있어서 develop branch에서 memory dedup test를 개발할 때 shadow에서 freezing현상이 발생하였습니다.

원인 : develop branch에서 powBlock 에서 powBlock.str() 수행 과정에서 shadow context의locale이 사용이 됩니다. shadow에서 locale이 사용될 시 pthread_once -> futex_wait 프로세스 순으로 진행됩니다. 그렇기에 모든 thread가 futex_wait로 인해 멈춰버립니다.

해결 : 별도의 rawstr() 함수를 만들어서 우회하는 식으로 개발하였습니다. (현진씨가 해결)

tkdlqm2 commented 3 years ago

How to reproduce

[memory deduplication]

python setup.py --bitcoin; python setup.py --test
cd cert/memory
python ps_script.py

[TPS]

python setup.py --bitcoin; python setup.py --test
cd cert/perf/TPS
python cert_tps.py

[Latency]

python setup.py --bitcoin; python setup.py --test
cd cert/perf/Latency
python cert_latency.py