Lựa chọn cấu hình mạng liên kết trên chip

Một phần của tài liệu Tối ưu hoá và đánh giá hiệu năng của tổ chức cache trong hệ thống vi xử lý thế hệ sau (Trang 114 - 119)

6. Cấu trúc của luận án

4.2. Lựa chọn cấu hình mạng liên kết trên chip

4.2.1. Khái quát

Mạng liên kết trên chip (OCIN) có ảnh hưởng rất lớn đến hiệu năng của CMP

đa luồng. Hiện nay, có nhiềucấu hình OCIN đang được sử dụng trên CMP đa luồng như: Ring, Crossbar, 2DMesh đã được giới thiệu trong mục 1.2.3, các cấu hình này

có trễ truyền thông lớndẫn đến làm suy giảm hiệu năng xử lý của chip và khả năng mở rộng bị hạn chế, do đó các cấu hình này chỉ phù hợp với các chip có quy mô nhỏ. Với xu hướng tiếp tục gia tăng của số lượng lõi và các thành phần trên CMP đa luồng, nhưng khi đó sẽlàm tăng tính phức tạp của các cấu hình OCIN [28, 51]. Các nhà nghiên cứu và sản xuất chip hiện nay đang tập trung nghiên cứu một số cấu

hình như 2DMesh, 3DMesh, 2DTorus, 3DTorus [44, 51, 55, 61, 71] nhưng các nghiên cứu này chưa đưa ra cấu hình OCIN nào phù hợp với CMP đa luồng.

Luận án tiến hành đánh giá một số cấu hình OCIN đang được quan tâm thông

qua trễ truyền thông và mức tăng tốc xử lý trên chip, để từ đó lựa chọn cấu hình mạng liên kết phù hợp với kiến trúc CMP đa luồng. Giải pháp này được công bố

trong công trình“Ảnh hưởng của tổ chức cache đa cấp và mạng liên kết đến hiệu năng của chip đa lõi”.Tạp chí Khoa học & Công nghệ, Đại học Đà Nẵng, (2014).

4.2.2. Đề xuất công thức tính trễ truyền thông trung bình cho mạng liên kết

trên chip

Hiệu năng của CMP đa luồngvới đa cấp cache chỉ được nâng cao đáng kể khi chúng được sử dụng cho các tính toán song song. Các ứng dụng song song thường

chia ra hai phần: phần thực hiện tuần tự vốn có và phần thực hiện song song. Khi đó, theo luật Amdahl [7, 19].

Mức tăng tốc tối đa khi bỏ qua trễ truyền thông được xác định: 1 S = f (1-f)+ n (4.1) Trong đó:

- f: tỷ lệ phần thực hiện song song.

- 1-f : tỷ lệ phần thực hiện tuần tự.

Mức tăng tốc S(p, n) khi tính đến trễ truyền thông được xác định:

seq par par seq O T (p) + T (p) S(p, n) = T (p) T (p) + + T (p, n) n (4.2) Trong đó: - p: kích thước chương trình, - n: số lõi xử lý,

- Tseq(p): thời gian thực hiện phần tuần tự,

- Tpar(p): thời gian thực hiện phần song song,

- TO(p,n):trễ truyền thông giữa các lõi xử lý.

Khi n (số lõi trên chip) lớn, thì:

seq par

seq O

T (p) + T (p)

S(p, n) =

T (p) + T (p, n) (4.3)

Ở đây, sử dụng công thức (4.3) để phân tích và xác định trễ truyền thông cho các cấu hình OCIN.

Nếu phần thực hiện song song gồm các luồng chạy song song trên từng lõi xử

lý thì mức tăng tốc phụ thuộc vào thời gian thực hiện phần tuần tự Tseq(p) và trễ

truyền thông TO(p, n) giữa các luồng chạy trên các lõi. Lập trình song song phải đảm bảo sao cho Tseq(p) và TO(p, n) tối thiểu nhất.

Tổng thời gian thực hiện chương trình trên chip đa lõi với tổ chức cache đa

Để xác định các thời gian thực hiện của CPU, có thểgiả định rằng một chương trình ứng dụng được biên dịch để chạy trên một máy tính với các thông số được cung cấp bao gồm:

- Tổng số lệnh trong một chương trình là I, được xác định bằng số lệnh/chương trình (instructions per program).

- Một lệnh trung bình cần một số chu kỳ đồng hồ để thực hiện là CPIexecution,

được xác định bằng số chu kỳ đồng hồ/lệnh (clock cycles per instruction).

- Trung bình với một lệnh số chu kỳ đồng hồ trì hoãn bộ nhớ là MSPI được xác định bằng số chu kỳ đồng hồ trì hoãn bộ nhớ/lệnh (memory stalls clock cycle per instruction).

- Thời gian của một chu kỳ đồng hồ là C = 1/tốc độ đồng hồ (1/clock rate),

được xác định bằng giây/chu kỳ (seconds/cycle).

Trong chương 3 đã phân tích lựa chọn kiến trúc của CMP đa luồng có 3 cấp

cache với L3 cache chia sẻ cho tất cả các lõi, và các lõi liên kết với nhau thông qua các thành phần chuyển mạch kết nối với L3 cache như hình 4.9. Do đó, sử dụng kiến trúc CMP đa luồng có 3 cấp cache này để xác định thời gian thực hiện chương trình của các CPU.

Hình 4.9: Chip đa lõi với tổ chức cache 3 cấp: L1I, L1D, L2 riêng cho mỗi lõi và L3 cache

chia sẻ cho tất cả các lõi.

Mặc định rằng một chương trình có các thông số sau: tổng số lệnh I =

10000000 lệnh, CPIexecution = 2,5 chu kỳ/lệnh, tốc độ đồng hồ CPU (CPU clock rate) = 2GHz. Giả sử trong 1000 lệnh tham chiếu bộ nhớ của CPU có 150 lệnh trượt L1

Interconnect L3 MM Memory Bus sw 2 CPU 2 L1I L1D L2 sw n CPU n L1I L1D L2 sw 1 CPU 1 L1I L1D L2

cache hay L1 miss rate = 0,15, thời gian trúng L1 cache (L1 hit time) = 2 chu kỳ đồng hồ; có 45 lệnh trượt L2 cache hay L2 miss rate = 0,3, L2 hit time = 6 chu kỳ đồng hồ; có 9 lệnh trượt L3 cache tham chiếu vào bộ nhớ chính hay L3 miss rate = 0,2; L3 hit time = 20 chu kỳ đồng hồ; L3 miss penalty = 96 chu kỳ đồng hồ; trong

một lệnh thời gian truy cập bộ nhớ (MAPI) = 1,5 chu kỳ đồng hồ.

Sử dụng các công thức (2.23a) xác định được MSPIL1L2L3:

L1L2L3 =

MSPI MAPI × L1 miss rate × (L2 hit time + L2 miss rate × (L3 hit time + L3 miss rate × L3 miss penalty))

= 1,5×0,15 (6× 0,3 (20× 0, 2× 96)) = 4 chu kỳ đồng hồ

Khi đó, thời gian thực hiện của CPU được xác định:

7 -9

L1L2L3 execution execution

CPU time = I× (CPI + MPSI ) × C

= (10 ) × (2, 5 + 4) × (0, 5 ×10 )

= 0, 033s

Suy ra:

CPUexecution time = Tseq(p) + Tpar(p) = 0,033s.

Để xác định ảnh hưởng của TO(p, n), cho rằng thời gian thực hiện tuần tự bằng

10% tổng CPUexecution time, do đó Tseq(p) = 0,003s. Khi đó.

O = + 0,033 S(p, n) 0,003 T (p,n) (4.4)

TO(p, n) phụ thuộc vào cấu hình mạng liên kết các lõi trên chip.

Bảng 4.2: Các thông số của các cấu hình mạng liên kết trên CMP đa luồng [15, 24].

Trong đó:

Mạng Degree (d) Aver. Hop count (H) Bisection width (B)

Ring 2 (N+1)/3 2

2DMesh 4 (2/3)N1/2 N1/2

2DTorus 4 (1/2)N1/2 2N1/2

3DMesh 6 N1/3 N2/3

- N = n: tổng số nút chuyển mạch trong mạng liên kết (chính là tổng số lõi

trên chip).

Để phân tích ảnh hưởng của OCIN đến hiệu năng của CMP đa luồng, ở đây chọn một số cấu hình OCIN phổ biến với các tham số đặc trưng được trình bày

trong bảng 4.1.

Luận án đề xuất công thức tính trễ truyền thông trung bình TO(p, n) trong

CMP đa luồng theo khoảng cách định tuyến trung bình giữa các nút (H) như sau:

syn sw Inter-switch sw O

T (p, n) = Hpw (t + t + t )π (4.5)

Trong đó:

- tInter-switch: trễ giữa các nút chuyển mạch.

- tsw: trễ của nút chuyển mạch.

- tsyn:trễ cho đồng bộ truyền thông giữa các nút gửi và nhận gói dữ liệu.

Cho rằng trễ tsw + tsyn = 1 chu kỳ đồng hồ, trễ tInter-switch = 1 chu kỳ đồng hồ, 1

chu kỳ đồng hồ được xác định bằng tốc độ đồng hồ của chip vì mạng liên kết các lõi

với L3 cache bên trong chip.

- w: kích thước của gói dữ liệu (bit).

- p :số lượng gói dữ liệu.

- πsw:xác suất định tuyến chuyển dữ liệu qua chuyển mạch mạng liên kết đến

lõi khác.

Thực tế, mỗi lõi đều có thể định tuyến lưu lượng đến cache cục bộ, vì vậy trễ

truyền thông trung bình giữa các nút chuyển mạch phải tính đến các xác suất định

tuyến lưu lượng của từng lõi πcore và xác suất định tuyến đến cấp cache chia sẻ πcache. Các xác suất này thỏa mãn điều kiện:

core cache sw

π + π + π = 1

(4.6)

Nếu tỷ số trúng L3 cache cao thì πsw sẽ nhỏ, khi đó TO cũng nhỏ theo.

TO = Hp(8)(2)(0,2) = 3,2Hp (4.7)

Để xác định các công thức tính độ trễ truyền thông trung bình cho các cấu

hình OCIN, ở đây kết hợp công thức (4.7) với các giá trịcủa H đã cho ở bảng 4.1.

Khi đó, trễ truyền thông trung bình của các cấu hình OCIN được xác định:

ORing O2DMesh O2DTorus O3DMesh O3DTorus 3, 2(n + 1) T = p (n + 1)p; 3 6, 4 T = p n 2,13p n ; 3 3, 2 T = p n = 1, 6p n ; 2 3 T = 3, 2p n ; 12, 6 3 3 T = p n = 3,15p n 4   (4.8)

4.2.3. Lựa chọn cấu hình mạng liên kết trên chip

Để đánh giá các cấu hình OCIN, luận án tiến hành mô phỏng so sánh trễ truyền thông trung bình và mức tăng tốc xử lý trên chipcủa các cấu hình OCIN, để từ đó đưa ra cấu hình OCIN phù hợp nhất với kiến trúc CMP đa luồng .

Một phần của tài liệu Tối ưu hoá và đánh giá hiệu năng của tổ chức cache trong hệ thống vi xử lý thế hệ sau (Trang 114 - 119)

Tải bản đầy đủ (PDF)

(153 trang)