"멀티프로세서 프로그래밍의 기술"의 치명적인 결함: futex 무시

2025-08-19

이 글은 호평받는 교과서 "멀티프로세서 프로그래밍의 기술"을 비판적으로 검토합니다. 핵심 주장은 이 책이 현대 병렬 프로그래밍에서 중요한 기술인 futex를 무시하고 있다는 것이며, 따라서 내용이 시대에 뒤떨어지고 실용적이지 않다는 것입니다. futex는 효율적인 뮤텍스 구현을 가능하게 하여 병렬 처리 성능을 크게 향상시키며, Linux, Windows, macOS 등의 운영 체제에서 널리 사용됩니다. 이 글에서는 futex의 기능을 자세히 설명하고, futex를 사용하여 스핀락, 비재귀 뮤텍스, 재귀 뮤텍스 등 고성능 뮤텍스를 구축하는 방법을 보여주는 코드 예제를 제공합니다. 저자는 futex와 같은 중요한 기술을 다루지 않고 있기 때문에 이 책은 현대 병렬 프로그래밍의 요구 사항에는 부족하다고 결론짓습니다.