Mơ hình tính tốn

Một phần của tài liệu Các hệ vi xử lý tiên tiến (Trang 36 - 39)

Trong phát triển mơ hình tính tốn cho các hệ đa xử lý, chúng ta giả sử rằng một tính tốn nhất định có thể được chia thành các tác vụ đồng thời để thực hiện trên bộ đa xử lý. Vì thế, hai mơ hình tính tốn phát sinh.

3.1.1 Mơ hình khoảng thời gian bằng nhau

Trong mơ hình này, người ta giả sử rằng một tác vụ nhất định có thể được chia thành n tác vụ con như nhau, mỗi tác vụ này có thể được thực hiện bởi một bộ xử lý. Nếu ts là thời

gian thực hiện toàn bộ tác vụ sử dụng một bộ xử lý duy nhất, thì thời gian cần thiết để mỗi bộ xử lý thực hiện tác vụ con của nó là tm = ts / n. Vì, theo mơ hình này, tất cả các bộ vi xử lý thực hiện tác vụ con của chúng một cách đồng thời, thế thì thời gian cần thiết để thực hiện toàn bộ tác vụ là ts = tmx n.

Hệ số tăng tốc của một hệ thống song song có thể được định nghĩa là tỷ số giữa thời gian cần thiết để một bộ xử lý duy nhất xử lý (giải) một đối tượng bài toán nhất định và thời gian cần thiết để một hệ thống song song bao gồm n bộ vi xử lý xử lý đối tượng bài tốn đó (cùng một đối tượng bài tốn)

Phương trình trên cho thấy rằng, theo mơ hình khoảng thời gian bằng nhau, hệ số tăng tốc do việc sử dụng n bộ vi xử lý bằng với số bộ vi xử lý được sử dụng, n.

Một yếu tố quan trọng đã bị bỏ qua trong quá trình suy luận ở trên. Yếu tố này là phí tổn truyền thơng, đó là thời gian cần thiết để các bộ vi xử lý giao tiếp và có thể trao đổi dữ liệu trong khi thực hiện tác vụ con của chúng.

Giả sử rằng thời gian phát sinh do phí tổn truyền thơng được gọi là tc thì thời gian

thực tế để mỗi bộ xử lý thực hiện tác vụ con của nó là: S (n): hệ số tăng tốc với phí tổn truyền thơng

Phương trình trên chỉ ra rằng giá trị tương đối của ts và tc ảnh hưởng đến hệ số tăng tốc đạt được. Thế thì, sẽ có một số trường hợp xảy ra: (1) nếu ts >> tc thì hệ số tăng tốc tiềm

năng gần bằng n, (2) nếu ts << tc thì hệ số tăng tốc tiềm năng là ts/tc<<1, (3) nếu ts = tc thì hệ số tăng tốc tiềm năng là n / n + 1≈1, cho n >>1.

Để mở rộng hệ số tăng tốc đến một giá trị giữa 0 và 1, chúng ta chia nó cho số bộ vi xử lý, n. Đại lượng thu được gọi là hiệu suất, ξ. Hiệu suất là đại lượng đặc trưng cho sự tăng tốc mà một bộ vi xử lý đạt được. Theo mơ hình thời gian bằng nhau đơn giản, hiệu suất ξ. bằng 1 nếu các phí tổn truyền thơng được bỏ qua. Tuy nhiên, nếu xét đến các phí tổn truyền thơng, hiệu suất có thể được biểu diễn dưới dạng

Mặc dù đơn giản, mơ hình khoảng thời gian bằng nhau có vẻ khơng thực tế. Ngun nhân là do nó dựa trên giả thuyết rằng một tác vụ nhất định có thể được chia thành nhiều tác vụ con như nhau và các tác vụ con này có thể được thực hiện bởi nhiều bộ xử lý song song. Tuy nhiên, ở đây chúng ta có thể thấy rằng các thuật tốn thực có một số phần (liên tục) khơng thể được chia ra trong các bộ vi xử lý. Các phần (liên tục) này phải được thực hiện trên một bộ xử lý duy nhất. Chẳng hạn, xét ví dụ về các đoạn chương trình được đưa ra trong hình 3.1. Trong các đoạn chương trình này, giả sử rằng chúng ta bắt đầu với một giá trị từ một trong hai mảng (vector) a và b được lưu trữ trong một bộ xử lý của n bộ vi xử lý có sẵn. Khối chương trình đầu tiên (nằm trong hình vng) có thể được thực hiện song song, có nghĩa là, mỗi bộ xử lý có thể tính tốn một phần tử từ mảng (vector) c. Lúc này, các yếu tố của mảng c được phân phối giữa các bộ vi xử lý, và mỗi bộ xử lý có một phần tử. Các đoạn chương trình tiếp theo khơng thể được thực hiện song song. Khối này sẽ yêu cầu các yếu tố của mảng c giao tiếp với một bộ xử lý và được thêm vào (cộng vào) ở đó. Các đoạn chương trình cuối cùng có thể được thực hiện song song. Mỗi bộ xử lý có thể cập nhật các phần tử của a và b của nó.

Ví dụ minh họa này biểu diễn một mơ hình tính tốn thực tế giả định sự tồn tại của các phần (liên tục) trong tác vụ nhất định (chương trình) khơng thể phân chia. Đây là cơ sở cho các mơ hình sau đây.

3.1.2 Tính tốn song song với mơ hình từng phần nối tiếp

Trong mơ hình tính tốn này, người ta giả sử rằng một phần nhỏ f của tác vụ đã cho (tính tốn) là khơng thể chia ra thành các tác vụ con đồng thời. Phần còn lại (1 - f) được giả sử là có thể chia ra thành các tác vụ con đồng thời. Thực hiện tương tự.

Hình 3.1 Các đoạn chương trình ví dụ (Các đoạn chương trình mẫu)

Việc rút ra những đại lượng này được thực hiện trong trường hợp mơ hình khoảng thời gian bằng nhau sẽ cho kết quả như sau.

Do đó, hệ số tăng tốc là

Theo cơng thức này, khả năng tăng tốc do việc sử dụng n bộ vi xử lý được xác định chủ yếu bởi các phần mã không thể phân chia. Nếu tác vụ (chương trình) hồn tồn liên tục, tức là, f = 1, thì khơng thể đạt được sự tăng tốc bất kể số bộ vi xử lý được sử dụng. Nguyên tắc này được gọi là định luật Amdahl. Ở đây, chúng ta thấy một điều thú vị là theo định luật này, hệ số tăng tốc cực đại sẽ là limn→∞ S(n) = 1/f . Do đó, theo định luật Amdahl, sự cải

thiện hiệu suất (tốc độ) của một thuật tốn song song trên một dãy tuần tự khơng bị giới hạn bởi số bộ vi xử lý sử dụng mà là do các phần của thuật tốn khơng thể được song song hố. Thoạt nhìn qua định luật Amdahl chúng ta có thể thấy rằng bất kể số bộ vi xử lý được sử dụng, luôn luôn tồn tại một giới hạn nội tại về tính hữu ích tiềm năng của việc sử dụng kiến trúc song song. Đôi khi sử dụng định luật Amdahl, các nhà nghiên cứu có thể đi đến quan điểm rằng sự gia tăng đáng kể hệ số tăng tốc sẽ không thể xảy ra bằng cách sử dụng kiến trúc song song. Chúng ta sẽ thảo luận về hiệu lực của phương pháp đó và các nguyên lý cơ bản trong phần tiếp theo. Tuy nhiên, chúng ta hãy chỉ ra ảnh hưởng của các phí tổn truyền thông đến các yếu tố tăng tốc, một phần nhất định, f, của tính tốn khơng thể song song hố. Như đã nói ở trên, các phí tổn truyền thơng nên được gộp vào trong thời gian xử lý. Xét thời gian phát sinh do phí tổn truyền thơng này, hệ số tăng tốc được tính bằng cơng thức

Hệ số tăng tốc tối đa trong những điều kiện như vậy là

Công thức trên cho thấy rằng hệ số tăng tốc tối đa không tùy thuộc vào số bộ xử lý song song được sử dụng mà phụ thuộc vào phần tính tốn khơng đồng thời (khơng được song song hố) và phí tổn truyền thơng.

Sau khi đã xem xét hệ số tăng tốc, bây giờ, chúng ta sẽ đề cập đến các đại lượng đặc trưng cho hiệu suất. Như chúng ta đã biết, hiệu suất được định nghĩa là tỷ số giữa hệ số tăng tốc và số bộ vi xử lý, n. Hiệu suất có thể được tính như sau:

Như vậy ở đây chúng ta thấy rằng trong một kiến trúc song song, các bộ vi xử lý phải duy trì một mức hiệu suất nhất định. Tuy nhiên, nếu số lượng các bộ vi xử lý tăng, thì khó có thể sử dụng các bộ vi xử lý này hiệu quả. Để duy trì một mức hiệu suất vi xử lý nhất định , thì chúng ta cần phải biết mối quan hệ giữa phần tính tốn nối tiếp, f, và các bộ vi xử lý được sử dụng (xem bài 6).

Sau khi giới thiệu hai mơ hình tính tốn ở trên, bây giờ chúng ta chuyển sang thảo luận một số định luật hiệu suất (các định đề) đã được phát biểu liên quan đến lợi ích tiềm năng của các kiến trúc song song. Các định luật này là định luật Grosch, Amdahl và định luật Gustafson-Brasis.

Một phần của tài liệu Các hệ vi xử lý tiên tiến (Trang 36 - 39)