SMP에서 atomic operation에 관한 질문..
글쓴이: hanaban / 작성시간: 목, 2005/08/04 - 11:50오전
짧은 지식으로 atomic operation에 관해서 궁금한 내용이 있어서 고수분들의 답변을 부탁드립니다.
제 생각으로는 atomic operation의 구현이 아래와 같은 방법으로 되어 있을 것 같아서..
0. 특정 CPU의 atomic operation code 수행요청.
1. 전 CPU 중단
2. 해당 CPU의 atomic operation 수행
3. 전 CPU 다시 동작.
위 경우라면 SMP에서 atomic operation을 빈번하게 수행하는 프로세스가 하나 있다면 전체 시스템에 악영향을 미치게 되지 않을까 합니다.
예를 들어 a라는 프로세스는 초당 10만번, b라는 프로세스는 초당 10번이 필요하다고 하면 a 때문에 시스템의 모든 CPU가 10만번씩 멈춰야 하는 현상이 발생하지 않을까요?
만약 그렇다면 이에 대한 대안은 없나요?
제가 잘못 이해하고 있기를 바라며^^; 답변 부탁드립니다.
Forums:
혹시나 해서 먼저 atomic operation은 코드를 보호하는 것이
혹시나 해서 먼저 atomic operation은 코드를 보호하는 것이 아니라
데이터를 보호하는 것을 말하고 싶습니다.
위 경우라면 SMP에서 atomic operation을 빈번하게 수행하는 프로세스가 하나 있다면 전체 시스템에 악영향을 미치게 되지 않을까 합니다.
==> 맞습니다. 하지만 한 넘이 채 수정하기도 전에 다른 넘이 이전의 정보를
가지고 핸들링하면 다른 문제가 생길수 있겠지요. ^.^
NETFILTER의 러스티 러셀 혹은 선점형 커널의 로버트 러브의 문서를 보시면 Lock에 대한 이해를 높일 수 있겠네요.. 즐프하세요
댓글 달기