쓰레드가 64개 정도 돌면서 데이터 받아서 처리하고 공유메모리에 올리는작업을 하는데
이 작업의 규격이 초당 30번이라고 할게 근데 쓰레드가 1개일때는 이정도 속도가 나오는데
쓰레드가 4개 6개 혹은 그 이상으로 가면 급격하게 그 수가 10번~20번(아마 더 늘리면 더 줄어들겠지) 사이가 되버림.. 참고로 서버의 코어수는 충분해서 걱정 할필요가 없거든
그래서 cpu 프로파일링을 해보면 코어 몇개만 바쁘고 나머지는 노는것 같은데 보통 쓰레드가 늘어나면 직접 코어를 할당해줘야함?
개발환경은 ubuntu 18.04 / g++
4개의 댓글
무분별한 사용은 차단될 수 있습니다.
이거달려고가입함
하이퍼쓰레딩을 끄십시오
Mojave
쓰레드들이 공유메모리에 접근할 때 병목이 생기는거 아닐까
뱀고기
SMT 꺼라 하등 쓸모없는 기술
Curriculum
공유 메모리 꼭 써야함? 쓰레드 간 데이터 쉐어링은 크리티컬 섹션 유발하고 병목 현상은 피할 수 없움