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 .