알고리즘의 발전과 하드웨어의 속도 향상


14

지난 수십 년 동안 컴퓨터 프로그램에서 볼 수있는 대부분의 속도 향상은 더 빠른 하드웨어보다는 더 나은 알고리즘에 의한 것이라고 주장한 연구 나 기사를 본 적이 있습니다. 누구든지 연구 나 기사를 알고 있습니까?


8
아마도 cs.stackexchange에 더 적합합니다.
Yuval Filmus

실제로 지난 몇 년 동안 무어 법칙, 시계 속도 및 병렬 처리에 큰 패러다임 전환이 있었고 많은 기사 / 논문에서 다루어졌습니다 ....
vzn

답변:


8

이것은 의도하지 않은 복잡한 질문입니다. 소프트웨어 게인이 하드웨어 게인을 능가했다는이 아이디어는 실제 정부 보고서에 근거한 것이지만 (질문에 따르면) 오해 또는 오해로 인해 도시의 작은 전설 상태에 접근 할 수 있습니다. 요약 / 사운드 바이트 헤드 라인은 실제로 보고서에서 작성된 실제 요점과 일치하지 않습니다.

[1] 또는 [2] 참조

지난 12 월에 발표 된 백악관에 대한 독립적 인 과학 및 기술 고문 그룹의 보고서에 따르면, 소프트웨어 알고리즘의 개선으로 인한 컴퓨팅 작업 수행시 성능 향상이 더 빠른 프로세서로 인한 이익을 훨씬 능가하는 것으로 나타났습니다.
...
그러나 백악관 자문 보고서는 벤치 마크 생산 계획 작업에 대한 15 년 동안의 진행에 대한 연구를 포함한 연구를 인용했습니다. 그 동안 계산을 완료하는 속도가 4,400 만 배 향상되었습니다. 독일 과학자이자 수학자 인 Martin Grotschel의 연구에 따르면 전체적으로 약 1,000 배가 빠른 프로세서 속도 때문일 수 있습니다. 그러나 43,000의 요인은 소프트웨어 알고리즘의 효율성이 향상 되었기 때문입니다.

그러나 소프트웨어와 하드웨어의 문제는이 1 차원 단순화와는 훨씬 더 복잡하고 Lohrs 블로그는 더 정확합니다. 소프트웨어와 하드웨어는 일종의 음양 공생 융합을 형성하며 둘 다 매우 현저하게 발전했습니다. 수십 년.

경고 / 미세 인쇄 : 특정 소프트웨어 알고리즘에서 개별적인 이득을 얻을 수 없으며, 일부 경우에는 매우 중요하며 모든 알고리즘에서이를 일반화합니다.

보고서의 실제 견적은 71 페이지에 있습니다.

더 주목할 만하고 훨씬 덜 널리 이해되는 것은 많은 영역에서 알고리즘 개선으로 인한 성능 향상이 프로세서 속도 증가로 인한 극적인 성능 향상보다 훨씬 뛰어났다는 것입니다. 음성 인식, 자연어 번역, 체스 게임, 물류 계획에 오늘날 우리가 사용하는 알고리즘은 지난 10 년 동안 현저하게 발전했습니다. 그러나 개선 시간은 실행 시간만큼 품질 영역에 있기 때문에 개선을 정량화하기가 어렵습니다.

따라서이 정부 보고서는 고도로 연구되고 개선 되었으며, 일부 영역에서 이론적 소프트웨어 발전 으로 인한 막대한 이익의 기본 주장 은 정확하며 (이론적 / 알고리즘) 연구를 부분적으로 추진하고 있습니다.

그러나 최근 몇 가지 새로운 / 최근 기본 / 대규모 현상 / 트렌드 / 시프트가 있거나 Intels Grove가 하드웨어 대 소프트웨어 디자인에서 발생하는 "변곡점"이라고 부릅니다. 일명 "게임 체인저":

  • 하드웨어 확장 제약으로 인해 "Exascale"수퍼 컴퓨팅의 상승이 "Petascale"만큼 쉽게 달성되지 않을 수 있음
  • 이전 속도 게인의 주 구동 장치 인 클럭 속도가 정체되었습니다 (일부 열 / 냉각 제약으로 인해)
  • 하드웨어는 컴퓨팅 집약적이지 않고 에너지 효율적인 장치 (예 : 모바일, 데이터 센터 / 가상화 / 클라우드 등)로 대대적으로 전환되고 있습니다.
  • 따라서 소프트웨어 및 하드웨어 (예 : "멀티 코어")의 병렬 처리 개선은 성능 개선에있어 더욱 중요 해지고 있습니다 (이론은 알고리즘을 병렬화하는 방법에 대해 많은 의견을 제시합니다)

[1] skeptic.se, 알고리즘 진행률이 하드웨어 진행률 보다 높음

[2] 소프트웨어 발전 이 Lohr의 Moores law NYT 블로그를 능가합니다

[3] 디지털 미래를 설계하는 대통령 및 회의에보고 : 네트워킹 및 정보 기술에 대한 연방 기금 연구 및 개발 2010 년 12 월


추가. 아마도 수십 년 동안 구현의 효율성이 전혀 향상되지 않은 중요한 알고리즘의 좋은 (카운터) 예제가있을 것입니다. 아이디어? 하나의 후보 영역은 병렬화 할 수없는 매트릭스 알고리즘 또는 본질적으로 병렬화 할 수없는 것으로 보이는 다른 알고리즘 일 수 있습니다. 크기 입력 등 ... 예 : 행렬 곱셈?
vzn

1
이것은이다 멋진 대답을 - 세부, 뉘앙스, 그리고 지식이 토론 가득!
Joshua Grochow
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.