Việc song song hĩa một chương trình nhằm làm cho chương trình đĩ chạy nhanh hơn, tuy nhiên chương trình đĩ sẽ chạy nhanh hơn bao nhiêu lần? Định luật Amdahl’s [] cho phép ta xác định điều này. Giả sử xét về khía cạnh thời gian chạy chương trình, một phần p của chương trình cĩ thể song song hĩa và phần 1-p cịn lại buộc phải chạy
tuần tự. Trong trường hợp lý tưởng, nếu thực thi chương trình sử dụng n bộ xử lý, thời gian chạy chương trình sẽ là:
1-p + p/n
của thời gian chạy chương trình một cách tuần tự. Đây là hệ quả trực tiếp của định luật Amdahl áp dụng cho trường hợp thực thi lý tưởng. Ví dụ: nếu 80% chương trình cĩ thể được song song hĩa, và ta cĩ 4 bộ xử lý, thời gian chạy song song sẽ là: 1 - 0.8 + 0.8/4 = 0.4 tức là bằng 40% thời gian chạy tuần tự.
Hình 3.6:Khả năng tăng tốc độ tính tốn, trường hợp lý tưởng.
Đối với chương trình trên, thời gian chạy song song sẽ khơng thể nào nhỏ hơn 20% thời gian chạy tuần tự cho dù ta sử dụng số lượng vơ cùng lớn các bộ xử lý. Định luật Amdahl đã nêu lên tầm quan trọng của việc xác định các thành phần của chương trình cĩ thể được song song hĩa để cực đại chúng. Hình xx thể hiện giới hạn trên của tỉ lệ tăng tốc độ chương trình (1/(1-p)) với các giá trị khác nhau của p.
Hình 3.7: Giới hạn trên của khả năng tăng tốc độ chạy chương trình.
Tuy nhiên ví dụ trên chỉ là trường hợp lý tưởng hĩa. Trên thực tế, khi chạy một chương trình song song, thường xuất hiện các chi phí truyền thơng và việc phân cơng cơng việc khơng cân bằng giữa các bộ xử lý. Do đĩ thời gian chạy chương trình sẽ là:
Hình 3.8:Khả năng tăng tốc độ: trường hợp thực tế.
- Tăng tỉ lệ (thành phần) được song song hĩa của chương trình.
- Phân cơng cơng việc một cách cơng bằng cho các bộ xử lý.
- Giảm tới mức tối thiểu thời gian truyền thơng.