다음은 몇 가지 데이터 요소입니다. 그것이 혁명으로 간주되는지 스스로 결정하십시오.
병렬화 된 하드웨어
2005 년경 인텔과 AMD는 약 3GHz의 클럭 속도로 2 코어 데스크탑 x86 CPU (Pentium D 및 Athlon 64)를 대량 생산하기 시작했습니다.
2006 년에 3.2GHz에서 8 + 1 코어의 셀 프로세서를 갖춘 PlayStation 3이 출시되었습니다.
2006 년 GeForce 8 시리즈가 출시되었습니다. 그래픽 관련 장치와 달리 많은 수 (~ 100)의 범용 '스트림 프로세서'로 구성됩니다. 2007 년경 CUDA 1.0 사양이 발표되어 일부 범용 NVidia 하드웨어에서 일부 범용 계산을 실행할 수 있습니다.
그 이후로 그 경향은 계속되었습니다.
이제 2013 년에 인텔과 AMD 모두 4, 8 및 16 코어 CPU를 제공하며 클록 속도는 4GHz보다 약간 높습니다. 듀얼 코어 및 쿼드 코어 설계는 랩톱 및 스마트 폰과 같은 저전력 장치에 일반적입니다.
이 모든 것은 대량 생산 된 소비자 급 일상적인 컴퓨터 하드웨어입니다.
소프트웨어
CUDA는 2007 년에 출시 된 후 2008 년에 OpenCL로 출시되어 일반 (그래픽이 아닌) 계산에서 대규모 병렬 GPU를 사용할 수 있습니다. 모델이 인기를 얻었습니다. 많은 호스팅 회사 (예 : Amazon)는 일반적인 컴퓨팅 작업을위한 GPU를 제공합니다.
Go 는 2009 년에 출시되어 매우 저렴한 선점 스레드 ( "goroutines")를 제공하며 동시에 동시 알고리즘을 효율적으로 표현할 수 있습니다.
Akka 툴킷 은 2009 년에 Java 및 Scala 용으로 릴리스되어 액터 기반 동시성을 허용합니다.
Erlang (동시 언어)은 사용량이 약간 증가합니다.
동시성 대 병렬 처리
병렬 하드웨어를 사용하기 위해서는 반드시 소프트웨어 동시성이 필요하지 않습니다 . 즉, 계산 내에서 실행 스레드로 저글링해야합니다. 각 프로세스가 전통적인 순차 프로그램 인 병렬 의 비 상호 작용 프로세스로 많은 문제가 해결됩니다 .
병렬 처리는 맵 축소 또는 MPC 또는 OpenMP와 같은보다 전통적인 언어 및 병렬 프레임 워크를 활용할 수 있습니다. 이러한 프레임 워크의 경우 동일한 CPU 크리스털에 여러 개의 코어가있는 것이 클러스터에 더 많은 CPU를 갖는 것과 개념적으로 크게 다르지 않습니다. 차이점은 주로 속도입니다.
지금까지 무료 점심 식사는 제공되지 않습니다
CPU 속도는 여전히 하이 엔드에서 약 5GHz로 유지됩니다. 그래 핀 트랜지스터와 같은 더 나은 기술을 사용하면 장래에 주파수가 다시 상승 할 수 있지만 조만간은 아닐 것입니다.