Concurrency는 왜 중요한가

Tags:

http://www.gotw.ca/publications/concurrency-ddj.htm

Moore의 법칙은 한계에 도달할 것이며 이미 clock speed의 향상이 느려지고 있다. CPU개발자들은 이제 cache 또는 multicore에 의존한 성능 향상을 노리고 있으며, 이에따라 기존의 single thread, single process에 기반한 프로그래밍은 한계에 도달할 것이다. 90년대에 OOP가 구조적 프로그래밍을 대체하였듯이, 마찬가지로 concurrent programming이 기존의 패러다임을 대체하게 될것이다. 더구나 다른 하드웨어(네트워크, 디스크)보다 CPU가 더 빨리 성능 한계에 도달하고 있으므로 모든 프로그램이 CPU 사용을 최적화해야한다.

라는 Herb Sutter의 글입니다. 이런 사실을 2004-2005년에 이미 알아챈 때문인지 요즘엔 열심히 concurrent programming에 대한 글을 쓰고 계시죠. 마찬가지의 이유때문인지 C++0x 에서도 언어 내부로 메모리 모델, threading을 끌어안고 있습니다.