Work stealing

Ahn9807 (토론 | 기여)님의 2024년 5월 22일 (수) 07:14 판 (새 문서: 분류: 동시성 프로그래밍 == 개요 == Work stealing은 멀티 스레딩 환경에서 스케쥴링전략으로, 각 스레드(프로세스)들이 Idle일 경우, 다른 스레드의 Work를 가져와(훔쳐와) 실행하는 전략을 말한다. 이 작업은 Idle 스레드가 없도록 스케쥴링 작업을 분산시키며, 모든 스레드가 작업을 수행하는 한 스케줄링 오버헤드가 발생하지 않는다. Work stealing은 Process migration양...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)


개요

Work stealing은 멀티 스레딩 환경에서 스케쥴링전략으로, 각 스레드(프로세스)들이 Idle일 경우, 다른 스레드의 Work를 가져와(훔쳐와) 실행하는 전략을 말한다. 이 작업은 Idle 스레드가 없도록 스케쥴링 작업을 분산시키며, 모든 스레드가 작업을 수행하는 한 스케줄링 오버헤드가 발생하지 않는다.

Work stealing은 Process migration양을 줄일 수 있다는 장점이 있다. 이는 모든 스레드가 작업을 수행중일 경우, 마이그레이션이 발생하지 않기 떄문이다. 많은 운영체제프로그래밍 언어에서 Work stealing의 개념을 차용하여 스케줄러를 디자인하고 있다.