Tính toán song song trên dữ liệu – Phần 1 : Điểm xuất phát

Tiếp theo phần giới thiệu hôm trước, hôm nay tôi sẽ tóm tắt tiếp phần 1 có tựa đề là “A bit of background” trong bài báo của Chas. Tôi đặt lại tựa phần này là “Điểm xuất phát” cho dễ hiểu.

Ở đây để giảng giải lý do cần thiết cho tính khuếch trương của một phần mềm hiện đại, Chas đã chỉ ra rằng:

  • Sự phát triển hiệu năng của bộ xử lý bị giới hạn bởi các quy luật vật lý cơ bản. Với những quy luật này, trong thập niên 90 của thế kỷ 20, chúng ta đã được chứng kiến nhiều cải tiến kỹ thuật cho bộ xử lý, ví dụ như tăng số cổng trên mỗi chip, rồi tăng tốc độ đồng hồ hệ thống, hay kỹ thuật tạo xử lý song song ở mức chỉ thị máy (instruction-level parallelism, viết tắt là ILP). Tuy nhiên những năm gần đây (kể từ 2003 trở đi), cũng chính các quy luật vật lý đó đã dần dần đặt dấu chấm hết cho những cải tiến như vậy, chẳng hạn như:
    • Với kỹ thuật tăng tốc đồng hồ hệ thống: các giới hạn về năng lượng và nhiệt đã gần đạt đến mức không thể chấp nhận được. Điều này có nghĩa là chúng ta sẽ không còn thấy nhiều sự nhảy vọt ở mức GHz như đối với MHz nhiều năm về trước. Hiện tại bộ xử lý đang dậm chân trong khoảng từ 3 ~ 5GHz về mặt tốc độ.
    • Với kỹ thuật tạo xử lý song song ở mức chỉ thị máy: các giới hạn về diện tích chip khiến việc gia tăng xử lý kiểu này thông qua dự đoán rẻ nhánh (branch prediction) hay thực thi kiểu đầu cơ (speculative execution) hay nhiều thứ hay ho cao siêu khác nữa đã trở thành dĩ vãng.
  • Còn một yếu tố duy nhất có thể cải tiến là số lượng cổng trên chip. Càng có nhiều cổng trên một chip có nghĩa là càng có nhiều nhân hay lõi được tạo ra. Số lượng nhân trên mỗi chip được dự đoán sẽ lại tăng gấp đôi sau mỗi 2 năm, tức là khoảng 2012 chúng ta sẽ thấy CPU có 32 nhân. Dĩ nhiên là người dùng sẽ rất hạnh phúc, vì cùng với một khoảng tiền như trước, họ có nhiều CPU con trong máy hơn. Tuy nhiên, tất cả đều chỉ sẽ thật sự hạnh phúc khi phần mềm cũng có khả năng mở rộng hiệu năng theo đà phát triển đó, và mọi chuyện lại sẽ như ngày xưa, khi chúng ta chỉ cần đổi máy mới hay nâng cấp máy là mọi thứ sẽ chạy ngon lành hơn trước.