개요

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

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