CLR 4에서 ThreadPool의 성능 향상 Parallel & Cloud

여러 글에서 .NET 4의 ThreadPool이 기존보다 2 ~ 5 배 이상 성능이 향상 (CPU Core, 32/64bit에 따라 달라짐) 이 되었다는 글을 많이 봤지만, 구체적으로 어떻게 개선되었는지, 자세히 설명한 글을 못 찾았었는데, New and Improved CLR 4 Thread Pool Engine 이란 글을 읽고, 완죤 이해되었습니다.
결국 병렬 프로그래밍과 관련되었고, Local Queue를 도입하여 동시성을 최대한 줄였기 때문이군요.

실제 성능 향상에 대한 글은 Scaling Up with Task Parallel Library (TPL) and CLR 4.0 Thread Pool 을 읽으면 되구요. 거기 대략 2~5배 이상 빨라진다고 수치가 나와 있네요. Core 가 많을수록 성능향상이 높으니, Core가 많은 서버에서는 정말 효과를 보겠네요.

동기화의 올바른 사용에 관한 글은 CLR Inside Out: Using concurrency for scalability 을 참고하시면 됩니다.


.NET CLR Thread Pool Internals 에서는 Thread Pool이 어떻게 작업하는지 아주 상세하게 나와 있네요.



전 안보지만 channel 9에 있는 CLR 4 - Inside the ThreadPool 도 한번 보심이... 비디오니까

그나저나 Windows 7이나 Windows 2008 R2에서는 256 개의 CPU까지 지원한답니다. 언제 이런 시스템을 사용해 볼까요?
지금 4개라도 행복합니다요...

요즘 유행하는 말로... "Core의 위엄" 이라 할 수 있겠군요^^