Tăng tốc từ tiến bộ thuật toán so với phần cứng


14

Tôi nhớ lại đã thấy một nghiên cứu hoặc bài báo trước đây tuyên bố rằng hầu hết các tốc độ được thấy trong các chương trình máy tính trong vài thập kỷ qua là từ các thuật toán tốt hơn thay vì phần cứng nhanh hơn. Có ai biết nghiên cứu hay bài báo?


8
Có lẽ là một sự phù hợp tốt hơn cho cs.stackexchange.
Yuval Filmus

thực sự có một sự thay đổi mô hình lớn trong vài năm qua luật pháp, tốc độ đồng hồ, và sự song song & đã được đề cập trong nhiều bài báo / bài báo ....
vzn

Câu trả lời:


8

đây là một câu hỏi vô tình phức tạp. ý tưởng này cho thấy lợi ích phần mềm đã vượt xa mức tăng phần cứng rõ ràng bắt nguồn từ một báo cáo chính phủ thực sự nhưng (như câu hỏi của bạn chỉ ra) có thể tiếp cận tình trạng truyền thuyết đô thị nhỏ do bị hiểu lầm hoặc giải thích sai. các tiêu đề tóm tắt / âm thanh không thực sự khớp với điểm thực tế được đưa ra trong báo cáo.

xem [1] hoặc [2] trạng thái

Một báo cáo của một nhóm cố vấn khoa học và công nghệ độc lập cho Nhà Trắng, được công bố vào tháng 12 năm ngoái, đã trích dẫn nghiên cứu cho thấy hiệu suất đạt được khi thực hiện các nhiệm vụ điện toán do cải tiến thuật toán phần mềm thường vượt xa lợi ích của bộ xử lý nhanh hơn.
...
Nhưng báo cáo tư vấn của Nhà Trắng đã trích dẫn nghiên cứu, bao gồm một nghiên cứu về sự tiến bộ trong khoảng thời gian 15 năm về một nhiệm vụ lập kế hoạch sản xuất chuẩn. Trong thời gian đó, tốc độ hoàn thành các tính toán được cải thiện với hệ số 43 triệu. Trong tổng số, một yếu tố khoảng 1.000 là do tốc độ xử lý nhanh hơn, theo nghiên cứu của Martin Grotschel, một nhà khoa học và nhà toán học người Đức. Tuy nhiên, một yếu tố của 43.000 là do sự cải thiện về hiệu quả của các thuật toán phần mềm.

nhưng vấn đề về phần mềm và phần cứng rất xa so với sự đơn giản hóa một chiều này, phức tạp hơn nhiều và blog Lohrs có phần mềm và phần cứng chính xác của Wap tạo thành một loại hợp nhất cộng sinh âm dương và cả hai đều tiến bộ rất đáng kể, thậm chí còn đáng kinh ngạc những thập kỷ.

báo trước / in đẹp: người ta không thể đạt được lợi ích cá nhân trong các thuật toán phần mềm cụ thể, trong một số trường hợp là rất đáng kể và khái quát hóa điều đó qua tất cả các thuật toán.

báo giá thực tế từ báo cáo nằm ở trang 71:

Thậm chí đáng chú ý hơn - và thậm chí ít được hiểu rộng rãi hơn - là trong nhiều lĩnh vực, hiệu suất tăng do cải tiến thuật toán đã vượt xa thậm chí tăng hiệu suất đáng kể do tốc độ xử lý tăng. Các thuật toán mà chúng ta sử dụng ngày nay để nhận dạng giọng nói, cho dịch ngôn ngữ tự nhiên, chơi cờ vua, để lập kế hoạch hậu cần, đã phát triển đáng kể trong thập kỷ qua. Tuy nhiên, thật khó để định lượng sự cải tiến, bởi vì nó có nhiều trong lĩnh vực chất lượng như thời gian thực hiện.

Vì vậy, báo cáo của chính phủ này được nghiên cứu và đánh bóng cao, tuyên bố cơ bản về lợi nhuận khổng lồ nhờ những tiến bộ phần mềm lý thuyết trong một số lĩnh vực là chính xác, và đang thúc đẩy nghiên cứu (lý thuyết / thuật toán) một phần trên cơ sở đó.

tuy nhiên, có một số hiện tượng / xu hướng / thay đổi mới / cơ bản gần đây trong những năm gần đây hoặc điều mà Intels Grove gọi là "điểm uốn" đang xảy ra trong phần cứng so với thiết kế phần mềm. còn gọi là "trò chơi điện tử":

  • sự gia tăng của siêu máy tính "Exascale" có thể không dễ dàng đạt được như "Petascale" do các hạn chế về quy mô phần cứng
  • tốc độ đồng hồ, một động lực chính của việc tăng tốc độ trước đó, đã bị giảm (một phần do các hạn chế về nhiệt / làm mát)
  • phần cứng đang trải qua một sự thay đổi lớn đối với các thiết bị ít tính toán hơn, tiết kiệm năng lượng hơn, ví dụ như thiết bị di động, trung tâm dữ liệu / ảo hóa / đám mây, v.v.
  • cải thiện tính song song trong phần mềm và phần cứng (ví dụ "đa lõi") vì thế trở nên quan trọng hơn đối với các cải tiến hiệu suất (trong đó lý thuyết có rất nhiều điều để nói về cách song song hóa các thuật toán)

[1] skeptic.se, không tiến bộ trong thuật toán đánh bại tiến trình trong phần cứng

[2] Tiến trình phần mềm đánh bại blog Moores luật NYT của Lohr

[3] BÁO CÁO CHO HIỆN TẠI VÀ THIẾT KẾ CÔNG CỤ TƯƠNG LAI KỸ THUẬT SỐ: LIÊN QUAN ĐẾN NGHIÊN CỨU VÀ PHÁT TRIỂN TRONG CÔNG NGHỆ MẠNG VÀ THÔNG TIN Tháng 12 năm 2010


phụ lục. có lẽ có một số ví dụ (phản biện) tốt về các thuật toán quan trọng chưa nâng cao hiệu quả của việc triển khai trong nhiều thập kỷ. ý tưởng? một khu vực ứng cử viên có thể là các thuật toán ma trận không thể song song hoặc các thuật toán khác dường như không song song ... cũng có thể, một số thuật toán đã trải qua các cải tiến về mặt lý thuyết về độ phức tạp ràng buộc thấp hơn nhưng các thuật toán không thực sự được thực hiện hoặc không khả thi đối với điển hình đầu vào kích thước vv ... ví dụ nhân ma trận?
vzn

1
Đây là một câu trả lời tuyệt vời - đầy đủ các chi tiết, sắc thái và thảo luận có hiểu biết!
Joshua Grochow
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.