Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- rfc5508
- 취약점
- ncurses
- wrefresh
- 풀이
- REDIS
- level trigger
- edge trigger
- Docker
- cbpf
- packet filter
- NAPT
- ioctl
- epoll_wait
- mvwin
- .net core 7
- 어셈블리어
- C언어
- doupdate
- epoll
- BOF
- vtable
- DOCKER-USER
- architecture
- wnourefresh
- LOB
- packet flow
- .nret core 배포
- iptables
- Compiler
Archives
- Today
- Total
Tuuna Computer Science
멀티 스레드 환경에서의 성능 최적화 본문
만약 멀티코어 환경에서 코어마다 스레드를 만들어서 실행한다는 가정과 첫 번째 스레드가 특정 메모리에 값을 설정하고 두 번째 스레드가 특정 메모리의 값을 가져온다고 했을 때 동일한 스레드였다면 L1캐시에서 값을 가져왔을 것이다. 하지만 이는 다른 스레드이기 때문에 L1캐시 접근하지 않고 L2캐시에 값이 있기를 믿어야한다. 없다면 L3, mem까지 접근해야해서 굉장히 느려진다.
결론은 동일한 데이터에 대한 접근은 동일한 코어에 해당하는 스레드가 담당하는 것이 성능적인 이슈면에서 좋은 효과를 발휘한다.
캐시에 대한 성능 체크 도구로는 oprofile, cachegrind 도구가 존재한다.
'OS' 카테고리의 다른 글
[OS] 페이징이란 무엇인가? (메모리 효울적으로 사용하기) (0) | 2018.11.27 |
---|---|
[OS]논리주소? 선형주소? 물리주소? 개념 이해하기 (1) | 2018.11.15 |
[OS 개발]보호모드의 하드웨어 인터럽트 처리과정 (0) | 2018.11.14 |
[OS]Protected Mode(보호모드)와 GDT (0) | 2018.11.10 |
Comments