Tải bản đầy đủ (.pdf) (27 trang)

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 (tóm tắt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (798.48 KB, 27 trang )





BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI






HỒ VĂN PHI




TỐI ƯU HÓA VÀ ĐÁNH GIÁ HIỆU NĂNG CỦA
TỔ CHỨC CACHE TRONG HỆ THỐNG VI XỬ
LÝ THẾ HỆ SAU


Chuyên ngành: Kỹ thuật Viễn thông
Mã số: 62520208

TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT VIỄN THÔNG







Hà Nội - 2014




Công trình này được hoàn thành tại:
Trường Đại học Bách khoa Hà Nội

Người hướng dẫn khoa học:
1. TS. Hồ Khánh Lâm
2. TS. Nguyễn Viết Nguyên



Phản biện 1. PGS. TS. Trần Đình Quế
Phản biện 2. PGS. TS. Nguyễn Quang Hoan
Phản biện 3. PGS. TS. Nguyễn Thị Việt Hương




Luận án sẽ được bảo vệ trước Hội đồng chấm luận án tiến sĩ
cấp Trường họp tại Trường Đại học Bách khoa Hà Nội

Vào hồi… giờ, ngày….tháng….năm….



Có thể tìm hiểu luận án tại thư viện:

1. Thư viện Tạ Quang Bửu - Trường ĐHBK Hà Nội
2. Thư viện Quốc gia

1

MỞ ĐẦU
1. Tính cấp thiết của luận án
Các kiến trúc chip đa xử lý (CMP) đa luồng và các cấu hình
mạng liên kết trên chip (OCIN) hiện nay chỉ phù hợp cho các
chip đa lõi có quy mô nhỏ, có độ trễ truyền thông cao và khả
năng mở rộng thấp. Khi số lượng lõi trên chip tăng sẽ gây ra trễ
truyền thông quá lớn, mức tăng tốc giảm gây ra nghẽn nút cổ
chai làm suy giảm hiệu năng và khả năng mở rộng của bộ xử lý.
Đây là thách thức lớn cho các nhà nghiên cứu và sản xuất chip
đa lõi trên thế giới.
Tại Việt Nam vấn đề nghiên cứu và sản xuất CMP cũng
được bắt đầu quan tâm và được ưu tiên hàng đầu. Đến nay, Việt
Nam đã sản xuất thành công CMP 32-bit VN1632 với công
nghệ 0,13µm.
Có thể thấy rằng, việc nghiên cứu và chế tạo CMP đa luồng
đã và đang là một vấn đề thu hút sự quan tâm đặc biệt lớn trên
thế giới và Việt Nam. Định hướng nghiên cứu tối ưu hóa tổ
chức cache nhằm nâng cao hiệu năng của CMP đa luồng là một
định hướng đúng đắn có ý nghĩa khoa học và thực tiễn.
2. Mục đích nghiên cứu của luận án
- Nghiên cứu phân tích ảnh hưởng của tổ chức cache đa cấp
và các chính sách thay thế cache đến hiệu năng của CMP đa
luồng.
- Xây dựng các mô hình kiến trúc CMP đa luồng, đa cấp
cache, tiến hành phân tích và đánh giá hiệu năng của các kiến

trúc để lựa chọn tổ chức cache tối ưu nhằm nâng cao hiệu năng
của CMP đa luồng.
- Nghiên cứu ảnh hưởng của mạng liên kết giữa các lõi trên
chip đến hiệu năng của CMP đa luồng để từ đó lựa chọn cấu
hình OCIN phù hợp với kiến trúc CMP đa luồng.
3. Đối tượng và phạm vi nghiên cứu của luận án
 Đối tượng nghiên cứu:
Luận án tập trung nghiên cứu tổ chức cache đa cấp trong
kiến trúc CMP đa luồng.
2

 Phạm vi nghiên cứu:
- Luận án tập trung nghiên cứu các tổ chức cache có 2 cấp
(với L1 cache riêng cho mỗi lõi và L2 cache chia sẻ cho tất cả
các lõi), và 3 cấp cache (với L1, L2 cache riêng cho mỗi lõi và
L3 cache chia sẻ cho tất cả các lõi) cho các kiến trúc CMP đa
luồng có 2-lõi, 4-lõi và 8-lõi trên chip.
- Dựa vào mô hình mạng xếp hàng đóng có dạng tích các
xác suất (MCPFQN) để phân tích, đánh giá hiệu năng của CMP
đa luồng với đa cấp cache theo các thông số hiệu năng (thời
gian chờ đợi, thời gian đáp ứng, mức độ sử dụng, thông lượng
tại các nút, thông lượng hệ thống…). Các thông số hiệu năng
này được xác định bằng phân tích giá trị trung bình (MVA).
Đồng thời, tiến hành đánh giá ảnh hưởng của các cấu hình
mạng liên kết các lõi trên chip đến hiệu năng của kiến trúc CMP
đa luồng đã đề xuất. Trên cơ sở đó, lựa chọn tổ chức cache và
cấu hình OCIN phù hợp nhất để nâng cao hiệu năng của CMP
đa luồng.
4. Phương pháp nghiên cứu của luận án
- Sử dụng lý thuyết mạng xếp hàng đóng có dạng tích các

xác suất để xây dựng mô hình cho kiến trúc CMP đa luồng với
đa cấp cache.
- Sử dụng thuật toán giá trị trung bình (MVA) và tiến hành
mô phỏng trên máy tính bằng phần mềm JMT v.0.8.0 để đánh
giá hiệu năng của kiến trúc CMP đa luồng.
5. Ý nghĩa khoa học và thực tiễn của luận án
Nghiên cứu và đề xuất các kiến trúc CMP đa luồng nhằm
nâng cao hiệu năng của hệ thống xử lý luôn được các nhà
nghiên cứu và chế tạo chip trong và ngoài nước quan tâm và
hướng tới. Đây là vấn đề có tính khoa học và thực tiễn cao.
Luận án là nghiên cứu mở đầu về kiến trúc CMP đa luồng ở
Việt Nam. Các mô hình đề xuất và các kết quả nghiên cứu của
luận án có thể góp phần mở ra triển vọng nghiên cứu và chế tạo
CMP đa luồng đáp ứng nhu cầu đổi mới công nghệ ở Việt Nam.
6. Cấu trúc của luận án
Nội dung của luận án được trình bày gồm 4 chương như sau:
3

Hình
1.
1
:
Kiến trúc
chung
của
CMP đa luồng.

Chương 1: Tổng quan về kiến trúc CMP đa luồng.
Chương 2: Nghiên cứu tổ chức cache, chính sách thay thế
cache trong kiến trúc CMP đa luồng.

Chương 3: Phân tích đánh giá hiệu năng của tổ chức cache
trong kiến trúc CMP đa luồng.
Chương 4: Giải pháp tối ưu hóa hiệu năng của tổ chức cache
trong kiến trúc CMP đa luồng.

Chương 1
TỔNG QUAN VỀ KIẾN TRÚC CMP ĐA LUỒNG
1.1. Giới thiệu
1.2. Kiến trúc của CMP đa luồng
1.2.1. Kiến trúc chung của CMP đa luồng
Hình 1.1 thể hiện kiến trúc chung của một CMP đa luồng.
Việc đặt nhiều lõi lên
cùng một vi mạch sẽ giúp
giảm không gian trên bản
mạch chính. Thêm nữa, các
lõi trên cùng một vi mạch sẽ
làm việc kết hợp cùng nhau
và nâng cao được hiệu năng
hơn, xung tín hiệu truyền
giữa các lõi sẽ ngắn hơn, trễ
truyền thông giảm và nguồn
điện tiêu thụ ít đi.
1.2.2. Kiến trúc CMP đa luồng đồng thời
Luồng là trình tự một số lệnh thực hiện bởi tài nguyên của
lõi xử lý. Trong kỹ thuật SMT, mỗi CPU logic sở hữu một tập
các thanh ghi riêng kể cả thanh ghi bộ đếm chương trình PC.
CPU vật lý sẽ luân phiên các giai đoạn tìm/giải mã giữa các
CPU logic và cố gắng thực thi những thao tác từ các chuỗi lệnh
đồng thời theo cách hướng tới những đơn vị thực thi ít được sử
dụng.

4

Đặc điểm của kỹ thuật SMT đưa vào CMP làm tăng tốc độ
xử lý của CMP. Nếu các luồng độc lập với nhau và sử dụng tài
nguyên khác nhau của lõi xử lý thì một lõi có thể thực hiện
đồng thời nhiều luồng. Nếu một CMP-SMT có 4-lõi và mỗi lõi
xử lý hai luồng thì có thể coi CMP có tới 8-lõi xử lý ảo.
1.2.3. Mạng liên kết trên chip
Mạng liên kết trên chip (OCIN) được nghiên cứu nhiều
trong tiến trình phát triển công nghệ CMP đa luồng. Hiện nay,
có một số cấu hình OCIN được sử dụng phổ biến trong các kiến
trúc CMP đa luồng như: mạng giao nhau (Crossbar) được sử
dụng trong chip Corei7 của Intel, Power5 của IBM,
UltraSPARCT1/2 của Sun; mạng vòng (Ring) được sử dụng
trong các chip Power4, Cell của IBM; mạng lưới 2D (2DMesh)
được sử dụng trong chip Tile64 64-lõi của Tilera, Tera-Scale
80-lõi của Intel Ngoài ra, các mạng liên kết như: mạng cây
béo (Fat tree), mạng hình bướm (Butterfly), mạng siêu lập thể
(Hypercube) mạng lưới vòng 2D (2DTorus), mạng lưới 3D
(3DMesh), mạng lưới vòng 3D (3DTorus), cũng được các nhà
nghiên cứu và nhà sản xuất chip quan tâm nghiên cứu đến.
Khi số lượng lõi xử lý càng lớn thì vấn đề mạng liên kết các
lõi trên chip càng phức tạp và trễ truyền thông giữa các lõi qua
mạng liên kết là đáng kể và khả năng mở rộng bị hạn chế. Đây
là vấn đề thách thức lớn cho các nhà nghiên cứu.
Để đánh giá ảnh hưởng của các cấu trúc OCIN đến hiệu
năng của CMP đa luồng, các nghiên cứu hiện nay đều dựa vào
một số thông số mạng sau: Số liên kết (L); Cấp độ của nút (d);
Đường kính của mạng (D); Khoảng cách trung bình (H); Độ
rộng chia đôi (B); Độ phức tạp sinh trưởng (G); Trễ; Băng

thông của một liên kết; Băng thông hiệu dụng; Băng thông của
độ rộng chia đôi.
1.2.4. Phân cấp hệ thống nhớ
Hệ thống nhớ được phân thành một số lớp như hình 1.2.
Trong đó:
1. L0: là các thanh ghi bên trong chip, có tốc độ bằng tốc độ
của lõi. L0 có thời gian truy nhập khoảng (0,3

0,5)ns.
5

2. L1 cache
(cache sơ cấp): là
một bộ nhớ dung
lượng khoảng (8

128) KB, sử dụng
công nghệ SRAM
được tích hợp trên
CMP. L1 cache có
thể đạt tới tốc độ
của lõi, L1 có thời
gian truy nhập
nhỏ, (1

3)ns.
3. L2 cache (cache thứ cấp): là bộ nhớ sử dụng công nghệ
SRAM nằm trên chip, thường có dung lượng 256KB, 512KB,
(1


3)MB và có thời gian truy nhập khoảng (3

10)ns.
4. L3 cache: là bộ nhớ sử dụng công nghệ SRAM, có thể nằm
trên chip hay nằm ngoài chip đa xử lý. L3 cache có dung lượng
2MB, 4MB, 6MB, 8MB, hay 12MB và L3 cache có thời gian
truy nhập lớn hơn L2 cache, khoảng (10

20)ns.
5. Bộ nhớ chính: có thể là L3 hay là L4. Sử dụng công nghệ
DRAM có dung lượng lớn hơn nhiều so với các cache, khoảng
(4

16)GB, và có thời gian truy nhập lớn, khoảng (50

100)ns.
6. Các thiết bị nhớ trên đĩa cứng (bộ nhớ thứ cấp): có dung
lượng lớn hơn nhiều so với bộ nhớ chính, khoảng (1

16)TB,
nhưng có thời gian truy nhập lớn, khoảng (5

10)ms.
7. Thiết bị nhớ trên mạng: như các hệ thống đĩa cứng (RAID)
trên các máy chủ dịch vụ mạng trên LAN.
1.3. Kết luận chương 1
Chương này đã trình bày tổng quan về kiến trúc CMP đa
luồng, các cấu hình OCIN, và tổ chức bộ nhớ phân cấp.
Hiệu năng của CMP đa luồng phụ thuộc rất nhiều vào công
nghệ bộ nhớ cache: tổ chức cache, dung lượng của cache, số

cấp cache (L1, L2, hay L3), chính sách thay thế cache, và cấu
hình mạng liên kết các lõi trên chip. Khi số lượng lõi trên chip
Hình 1.2: Phân lớp của hệ thống nhớ.

Bộ nhớ chính chứa
các khối dữ liệu lấy từ
đĩa cục bộ
Đĩa cục bộ chứa các
file lấy từ các máy
chủ dịch vụ mạng
CPU
Registers
Cache trên chip
(SRAM)
Cache trên chip
(SRAM)
Bộ nhớ chính
(DRAM)
Thiết bị nhớ trên đĩa cứng
Thiết bị nhớ trên mạng
Cache trên hay ngoài chip
(SRAM)
L0
L1
L2
L3
L4
L5
L6
CPU registers chứa các

từ lấy từ L1 cache
L1 cache chứa các dòng
cache lấy từ L2 cache
L2 cache chứa các dòng
lấy từ L3 cache
L3 cache chứa các dòng
lấy từ bộ nhớ chính
Dung lư
ợng nhỏ
hơn,tốc độ
nhanh hơn,chí
phí cao hơn.
Dung lư
ợng
lớn hơn, tốc
độ chậm hơn,
chí phí thấp.
hơn

6

tăng thì một số kiến trúc đang được sử dụng gặp rất nhiều hạn
chế về khả năng mở rộng. Đây cũng là một thách thức lớn cho
các nhà nghiên cứu và sản xuất chip hiện nay.

Chương 2
NGHIÊN CỨU TỔ CHỨC CACHE, CHÍNH SÁCH THAY
THẾ CACHE TRONG KIẾN TRÚC CMP ĐA LUỒNG
2.1. Tổ chức cache trong kiến trúc CMP đa luồng
2.1.1. Cache và các nguyên tắc làm việc của cache

Cache như là bộ nhớ trung gian nằm giữa CPU và bộ nhớ
chính. Cache sử dụng công nghệ SRAM, dung lượng nhỏ, tốc
độ truy nhập nhanh. Sự trao đổi dữ liệu giữa CPU và cache theo
các từ, trong khi sự trao đổi dữ liệu giữa cache và bộ nhớ chính
theo các khối như hình 2.1.


Hình 2.1: Trao đổi dữ liệu giữa CPU, cache và bộ nhớ chính.
Bộ nhớ cache làm việc nhờ sự dự đoán CPU sẽ tham chiếu
đến vùng nhớ và tải nội dung của vùng nhớ đó vào cache trước
khi CPU thực hiện tham chiếu đến bộ nhớ. Có 3 nguyên tắc
tham chiếu: Vị trí tạm thời; Vị trí không gian; Vị trí tuần tự.
2.1.2. Các thành phần của cache
2.1.3. Các tổ chức cache
Cả chip đơn lõi và chip đa lõi đều sử dụng ba tổ chức cache:
2.1.3.1. Cache liên kết đầy đủ
Cache liên kết đầy đủ cho phép sự sắp xếp linh hoạt các khối
nhớ từ bộ nhớ chính vào bất kỳ dòng cache nào có thể, do đó nó
cho tỷ số trúng cache cao. Tuy nhiên, cache liên kết đầy đủ có
sơ đồ thực hiện tìm kiếm phức tạp, thời gian tìm kiếm lâu hơn
khi dung lượng cache tăng lên, cache liên kết đầy đủ chỉ ứng
dụng cho các cache có dung lượng nhỏ hơn 4KB.
2.1.3.2. Cache sắp xếp trực tiếp
Cache sắp xếp trực tiếp còn được gọi là cache liên kết tập
hợp 1-dòng. Sơ đồ tìm kiếm trong cache sắp xếp trực tiếp đơn
CPU

Cache

Bộ nhớ

chính
Các từ
Các khối
Bus bộ nhớ Bus cục bộ
7

giản, có tốc độ tìm kiếm nhanh, chi phí thấp. Tuy nhiên, thường
xảy ra tham chiếu lặp đi, lặp lại đến một số khối của bộ nhớ
chính có sắp xếp vào cùng một dòng của cache.
2.1.3.3. Cache liên kết tập hợp
Cache liên kết tập hợp là sự kết hợp của hai tổ chức cache:
liên kết đầy đủ và sắp xếp trực tiếp. Tổ chức này có sơ đồ tìm
kiếm đơn giản, có tốc độ tìm kiếm nhanh, chi phí thấp. Tổ chức
cache liên kết tập hợp hạn chế được trường hợp tham chiếu lặp
đi lặp lại đến một số khối của bộ nhớ chính. Cache liên kết tập
hợp 2- , 4-, và 8-dòng cho tỷ số trúng cache cao.
2.2. Các đặc tính hiệu năng của cache
2.2.1. Các tỷ số trúng cache và trượt cache
2.2.1.3. Tỷ số trúng, trượt cache và trượt penalty
 Thời gian trung bình truy nhập bộ nhớ (AMAT) trong hệ
thống được xác định:
- Hai cấp cache (L1, L2):
L1misspenalty = (L2hit time)+ (L2missrate)(L
2misspenalty)
(2.1)
L2miss penalty = MAT
(2.2)
L1L2
AMAT = L1hit time + (L1missrate)(L2hit time
+ (L2missrate)(L2 miss penalty))

(2.3a)
L1L2
hay AMAT = L1hit time + (L1missrate)(L2 hit
time
+ (L2missrate)(MAT))
(2.3b)
- Ba cấp cache (L1, L2, L3):

L1misspenalty = (L2hittime) + (L2missrate)(L
2misspenalty)

(2.4)



L2misspenalty = (L3hit time) +(L3missrate)(L
3misspenalty)
(2.5)

L3misspenalty = MAT
(2.6)

L1L2L3
AMAT = L1hittime+(L1missrate)(L2hittime+(L
2missrate)
×(L3hittime+(L3missrate)(L3miss penalty)))

(2.7a)
L1L2L3
hay AMAT = L1hit time+(L1missrate)(L2hitti

me+(L2missrate)
×(L3hittime+(L3missrate)(MAT)))

(2.7b)
 Mức độ tăng tốc SP của hệ thống:
8

SP = MAT/AMAT (2.8)

2.2.1.4. Bus bộ nhớ, kích thước từ nhớ, kích thước khối và
trượt penalty
 Trượt penalty
- Hai cấp cache (L1, L2):
L2 miss penalty =Trễ truy nhập bộ nhớ+Thời gian truyền khối L2cache (2.9)
- Ba cấp cache (L1, L2, L3):
L3 miss penalty =Trễ truy nhập bộ nhớ+Thời gian truyền khối L3cache (2.10)
2.2.1.6. Trì hoãn truy cập bộ nhớ
 Số chu kỳ đồng hồ trì hoãn truy cập bộ nhớ mà CPU thực
hiện cho một truy cập bộ nhớ (MSPMA) được xác định bằng:
MSPMA = AMAT - 1 (2.11)

 Số chu kỳ đồng hồ trì hoãn truy cập bộ nhớ trung bình cho
một lệnh được xác định bằng:
- Hai cấp cache (L1, L2)
L1L2
MSPI = MAPI × L1 miss rate ×(L2 hit time
+L2 miss rate × L2 miss penalty)
(2.12a)
hay
L1L2

L1L2
MSPI =(AMAT - L1hit time)×MAPI
(2.12b)
- Ba cấp cache (L1, L2, L3)

L1L1L3
MSPI = MAPI×L1miss rate×(L2 hit time + L2 mis
s rate
× (L3hit time+ L3miss rate × L3 miss penalty)
(2.13
a)
hay
L1L1L3
L1L2L3
MSPI = (AMAT - L1hit time) ×MAPI
(2.13b)
Hiệu năng của hệ thống 3 cấp cache so với 2 cấp cache là :

L1L2 L1L2L3
Performance = (MSPI +L1hit time)/ (MSPI +L1hit
time)
(2.14)
2.2.1.7. Ảnh hưởng của tổ chức cache đến trượt penalty
Giả sử rằng cache liên kết tập hợp 2-dòng tăng thời gian
trúng lên 10% chu kỳ. Thời gian trúng đối với L2 cache sắp xếp
trực tiếp là 10 chu kỳ. Tỷ số trượt cục bộ đối với L2 cache sắp
xếp trực tiếp là 25%. Tỷ số trượt cục bộ đối với L2 cache liên
kết tập hợp 2-dòng là 20%. Trượt penalty đối với L2 cache là
50 chu kỳ. Khi đó, AMAT được xác định:
9


 Đối với L2 cache sắp xếp trực tiếp:

L2direct mapped
AMAT = 10 + 25%× 50 = 22,5

 Đối với L2 cache liên kết tập hợp 2-dòng:
L2 2-waysetaccociative
AMAT = (10 + 0,1) + 20% × 50 = 20,1

Từ các kết quả trên, thấy rằng với tổ chức cache liên kết tập
hợp cho thời gian truy nhập trung bình nhỏ nhất. Vì vậy, trong
kiến trúc chip đa lõi nên sử dụng tổ chức cache liên kết tập hợp.

2.2.1.10. Tổ chức cache ảnh hưởng đến tốc độ của CPU
 Thời gian thực hiện chương trình của CPU được xác định
bằng:

execution
execution
CPU time = I× (CPI + MSPI)×C
(2.15a)
+
execution execution
hay CPU time = I×(CPI MAPI× miss rate
×misspenalty)×C
(2.15b)
- Hai cấp cache (L1, L2):
execution execution L1L2
CPU time = I×(CPI + MSPI )× C

(2.16a)
execution execution
hay CPU time = I× (CPI + MAPI × L1miss rate
× (L2hit time + L2 miss rat
e× L2 miss penalty))× C
(2.16b)
execution execution
L1L2
hay CPU time = I×(CPI + MAPI
× (AMA
T - L1hit time))× C
(2.16c)
- Ba cấp cache (L1, L2, L3):

execution execution L1L2L3
CPU time = I×(CPI + MSPI )× C
(2.17a)
execution execution
hay CPU time = I×(CPI +MAPI×L1miss rate×(L2
hit time
+ L2miss rate× (L3 hit time+L
3 miss rate×L3 misspenalty)))×C
(2.17b)
execution execution L1L2L3
hay CPU time = I×(CPI +MAPI×(AMAT - L1hittime
))×C
(2.17c)
 Số chu kỳ thực hiện thực tế của một lệnh (CPI
actual
):

actual Ideal
CPI = CPI + MSPI
(2.18)
2.2.2. Các giải pháp tăng hiệu năng của cache
- Giảm tỷ số trượt.
chu kỳ
chu kỳ
10

- Giảm miss penalty.
- Giảm thời gian trúng cache.
2.3. Các chính sách thay thế dòng cache
Chính sách thay thế cache LRU, LFU, FIFO, Random,
được sử dụng có hiệu quả trong các chip xử lý đơn lõi và cũng
được sử dụng cho các CMP đa luồng, tuy nhiên không đạt được
hiệu năng cao. Do đó, có một số chính sách thay thế cache được
đề xuất cho CMP đa luồng.
2.3.5. Chính sách thay thế cache NRU
Chính sách thay thế NRU là một cách xấp xỉ của chính sách
thay thế cache LRU. NRU sử dụng một bit duy nhất cho mỗi
khối cache được gọi là nru-bit. Với chỉ 1 bit của thông tin, NRU
cho phép hai dự đoán khoảng tham chiếu lại: Tham chiếu lại
gần ngay lập tức và tham chiếu lại xa. Khi giá trị nru-bit = 0
một khối cache được sử dụng gần đây và khối cache đã dự đoán
sẽ được tham chiếu lại trong tương lai gần ngay lập tức. Khi giá
trị nru-bit = 1 là khối này không được sử dụng gần đây và khối
được dự đoán sẽ được tham chiếu lại trong tương lai xa.
2.3.6. Chính sách thay thế cache SRRIP
Chính sách thay thế cache SRRIP thực hiện dựa trên dự đoán
khoảng cách tham chiếu lại (RRIP). RRIP sử dụng M-bit cho

mỗi khối cache để lưu trữ một trong 2
M
giá trị dự đoán tham
chiếu lại (RRPV) có thể thực hiện được. Khi RRPV = 0 có
nghĩa là một khối cache được dự đoán sẽ tham chiếu lại trong
tương lai gần ngay lập tức, trong khi RRPV = 2
M
- 1 một khối
cache đã dự đoán sẽ được tham chiếu lại trong tương lai xa.
2.3.7. Chính sách thay thế cache DRRIP
DRRIP sử dụng tranh chấp tay đôi tập hợp (SD) để xác định
chính sách thay thế nào là phù hợp nhất cho một ứng dụng.
Chính sách thay thế cache DRRIP lựa chọn linh hoạt giữa
SRRIP và BRRIP bằng cách sử dụng hai bộ giám sát tranh chấp
tay đôi tập hợp (SDM). SDM hạn chế trượt cache cho bất kỳ
chính sách được đưa ra bằng cách cung cấp thường xuyên một
vài tập hợp của cache theo chính sách đó.
2.5. Cache chia sẻ thông minh
11

2.5.1. Tổ chức phân cấp cache trong các CMP đa luồng
Trong các CMP đa luồng, mỗi lõi xử lý có riêng L1I cache
và L1D cache, nhưng L2 cache có thể hoặc riêng cho từng lõi
hoặc chia sẻ cho các lõi như hình 2.2.







Trong một số CMP đa luồng có thể có L3 cache chia sẻ cho
các lõi, khi đó L2 cache là riêng cho từng lõi như hình 2.3.
2.5.2. Cache chia sẻ thông
minh
Cache chia sẻ thông minh
có những đặc điểm sau đây:
- Cache chia sẻ cho tốc độ
chuyển dữ liệu giữa các lõi
nhanh hơn so với bộ nhớ
chính.
- Kiến trúc cache chia sẻ
đem lại nhiều lợi ích và đảm
bảo tỷ số hiệu năng/chi phí tốt hơn so với cache riêng.
- Sử dụng hiệu quả cache chia sẻ
- Linh hoạt cho người lập trình
- Giảm được sự phức tạp của logic kết dính cache.
- Giảm dư thừa lưu trữ dữ liệu
- Giảm lưu lượng của bus bộ nhớ
2.7. Kết luận chương 2
Chương này đã nghiên cứu các tổ chức cache của kiến trúc
CMP đa luồng. Đánh giá các tổ chức cache và lựa chọn tổ chức
cache liên kết tập hợp n-dòng cho hiệu năng cao nhất.
Hình
2.
3
: T
ổ chức cache trong
các bộ xử lý Xeon 8-lõi của Intel.

Hình 2.2: CMP

đa luồng có hai
cấp cache với (a)
L2 cache riêng
và (b) L2 cache
chung cho các lõi
trong chip.

a)
b)

12

- Nghiên cứu các chính sách thay thế cache cho kiến trúc
CMP đa luồng nhằm nâng cao hiệu năng xử lý.
Tuy nhiên, các nghiên cứu hiện nay đều tập trung tổ chức
cache 2 cấp với L2 cache chia sẻ cho tất cả các lõi. Với kiến
trúc chip có 2 cấp cache như vậy, khi số lượng lõi tăng lên sẽ
làm hạn chế băng thông, làm tăng độ trễ và gây nghẽn nút cổ
chai tại cấp cache chia sẻ. Vì vậy, việc nghiên cứu đánh giá đề
xuất mô hình tổ chức cache phù hợp nhằm cải thiện và nâng cao
hiệu năng của CMP đa luồng là hết sức cần thiết.

Chương 3
PHÂN TÍCH ĐÁNH GIÁ HIỆU NĂNG CỦA TỔ CHỨC CACHE
TRONG KIẾN TRÚC CMP ĐA LUỒNG
3.1. Cơ sở lý thuyết để phân tích đánh giá hiệu năng của tổ
chức cache
3.1.1. Kiến trúc CMP đa luồng là mạng xếp hàng đóng đa
lớp dạng tích các xác suất (MCPFQN)
3.1.1.3. Kiến trúc CMP đa luồng là mạng xếp hàng đóng đa

lớp có dạng tích các xác suất (MCPFQN)
Một CMP đa luồng được coi là một hệ thống mạng xếp hàng
đa lớp công việc. Các công việc trong mạng đa lớp được coi là
song song mức lệnh (ILP) hay song song mức luồng (TLP), mỗi
lệnh hay mỗi luồng lệnh có đặc điểm riêng được coi là một lớp.
CMP đa luồng chỉ xử lý một số luồng hay một số lệnh
cố định nên được mô hình hóa bằng mạng xếp hàng đóng. Vì
các luồng có thể khác nhau về thời gian phục vụ nên mạng xếp
hàng đóng được gọi là mạng xếp hàng đóng đa lớp. Trong CMP
đa luồng các lệnh hay luồng lệnh có cùng thời gian phục vụ,
cùng tính chất thuộc vào một lớp.
Kiến trúc CMP đa luồng là một hệ thống đóng tìm được
nghiệm của các đẳng thức cân bằng toàn cục, nghiệm này có
dạng tích các xác suất.
Do đó, kiến trúc CMP đa luồng được mô hình hóa bằng một
mạng xếp hàng đóng đa lớp có dạng tích các xác suất
(MCPFQN).
13

3.1.2. Thuật toán phân tích giá trị trung bình (MVA) đánh
giá hiệu năng cho các MCPFQN
Thuật toán MVA dùng để tính các thông số hiệu năng của
các MCPFQN:
3.1.2.2. Mạng xếp hàng đóng đa lớp có dạng tích các xác
suất
Thuật toán MVA để tính các thông số hiệu năng của các
mạng xếp hàng đóng đa lớp công việc được mở rộng từ trường
hợp một lớp công việc, gồm các bước sau:
Bước 1: Khởi tạo: với i = 1, 2, , K ; và r = 1, , R
ir i

E[N (0,0, ,0)] 0;
π (0 | 0) 1; π(j | 0) 0
  

Bước 2: Lặp với n = 0, …, N
Bước 2.1: Thời gian đáp ứng trung bình của các công việc
của lớp r ở từng nút i
R
is r i
s 1
ir
m 2
R
i
(
i is r i i r i
s 1 j 0
ir i
ir
1
(1 E[N (n 1 )]) ; Type 1,2,4 (m 1)
μ
1
E[R n)] (1 E[N (n 1 )] (m j 1)×π (j| n 1 ));Type 1 (m 1)
μ ×m
1

μ



 
  
        
; Type 3
(3.1)











Bước 2.2: Thông lượng toàn mạng
(
r
N
ir ir
i 1
n
λ n)
ν E[R (n)]



(3.2a)
Thông lượng của từng nút có thể được xác định





ir r ir
λ n = λ n ν
(3.2b)
Bước 2.3: Số lượng trung bình các công việc của lớp r ở
nút i
ir ir r ir
E[N (n)] =
ν .λ (n).E[R (n)]
(3.3)
Bước 2.4: Thời gian chờ đợi trung bình các công việc của
lớp r ở nút i
14

   
ir ir
ir
1
E W n = E R n -
μ
   
   
(3.4)
Bước 2.5: Mức độ sử dụng tại các nút i
ir
ir
ir i

λ
U =
μ m
với m
i
là số server của nút i (3.5)
3.2. Mô hình tổ chức cache trong kiến trúc CMP đa luồng
3.2.1. Khái quát
3.2.2. Mô hình tổ chức cache trong kiến trúc CMP đa
luồng
Luận án đưa ra hai kiến trúc CMP đa luồng: kiến trúc CMP
đa luồng có 2 cấp cache, trong đó L1 cache riêng cho mỗi lõi và
L2 cache chia sẻ cho tất cả các lõi như hình 3.1a và kiến trúc
CMP đa luồng có 3 cấp cache, trong đó L1, L2 cache riêng cho
mỗi lõi và L3 cache chia sẻ cho tất cả các lõi như hình 3.1b,
nhằm phân tích đánh giá hiệu năng của từng kiến trúc, để từ đó
chọn ra kiến trúc CMP đa luồng có tổ chức cache phù hợp cho
hiệu năng xử lý tốt nhất.








Hình 3.1: Các kiến trúc CMP đa luồng.
3.3. Phân tích đánh giá hiệu năng của tổ chức cache trong
kiến trúc CMP đa luồng
3.3.1. Mô hình thực hiện phân tích hiệu năng của kiến trúc

CMP đa luồng
Dựa vào mô hình MCFPQN để mô hình hóa cho các kiến
trúc CMP đa luồng ở hình 3.1 được thể hiện như hình 3.2.






b)

T
T
L1
L2
CPU n
T
T
L1
L2
CPU

2

T T
L1
L2
CPU 1
L3
MM








a)
T
T
CPU 2
L1
T T
CPU 1
L1
T T
CPU n
L1
L2
MM
15

3.3.1.1. Mô hình tổng quát













3.3.2. Kết quả mô phỏng và đánh giá hiệu năng cho kiến
trúc CMP đa luồng
3.3.2.1. Kết quả mô phỏng cho kiến trúc CMP đa luồng
 CMP đa luồng có 2-lõi
Bảng 3.1: Giá trị trung bình của các thông số hiệu năng khi chip có 2-
lõi, mỗi lõi xử lý 8-luồng.




Thời gian chờ đợi
(ns)
Thời gian đáp
ứng (ns)
Mức độ sử dụng

Thông lượng
(Số công việc/ns)
L2 cache
chung
L3 cache
chung
L2 cache
chung
L3 cache

chung
L2 cache
chung
L3 cache
chung
L2 cache
chung
L3 cache
chung
CPU1 0,32 0,79 0,82 1,31 0,19 0,53 0,39 1,04
L11cache 1,01 8,38 2,01 9,37 0,33 0,90 0,33 0,89
L21cache - 5,27 - 7,76 - 0,67 - 0,26
Int+L2cache
;Int+L3cache
102,78
-
-
34,45
107,92
-
-
43,51
0,99
-
-
0,84
0,20
-
-
0,11

Memorybus+
Mem
75,.01 14,41 94,77 34,68 0,80 0,42 0,04 0,02
System - - 543,66 204,96 - 0,03 0,08
Hình 3.2: Mô hình MCPFQN cho CMP đa luồng của hình 3.1.

a)

MemoryBus+Mem
CPU 1
L11cache
p
1L1

p
11

p
L11

p
L1L2

Interconnect+L2cache
p
12

p
22


p
n2

p
L2mem


L2core

p
memcore

p
L1L2

p
L1n

L
n1cache


p
p
nn

CPU

n


µ
L2
µ
L1

µ
L1
µ
m1
µ
m2
µ
mk
µ
T1
µ
T
2

µ
Tm
µ
T1
µ
T2
µ
Tm
µ
L2
b)



MemoryBus+Mem
CPU

1

L11cache
L12cache

p

p
L1L

p
11

p
L11
p
L21

p
L2L3

Interconnect+L3cache
p
13


p
23

p
n3

P
L3mem


L3core
p
memcore

Ln2cache

p
L1L2

p
L2n

p
L2L3

p
L1n

Ln1cache



p
p
nn

CPU

n

µ
L1
µ
L1
µ
m1
µ
m2
µ
mk
µ
L3
µ
T1
µ
T2
µ
Tm
µ
T1
µ

T2
µ
Tm
µ
L2
µ
L2
16

















 CMP đa luồng có 4-lõi



Thời gian chờ đợi

(ns)
Thời gian đáp ứng
(ns)
Mức độ sử dụng

Thông lượng
(Số công việc/ns)
L2 cache
chung
L3 cache
chung
L2 cache
chung
L3 cache
chung
L2 cache
chung
L3 cache
chung
L2 cache
chung
L3 cache
chung
CPU1 0,12 0,40 0,62 0,88 0,10 0,39 0,20 0,78
L11cache
0,33 2,15 1,34 3,13 0,17 0,66 0,16 0,66
L21cache
- 2,58 - 5,09 - 0,49 - 0,20

Int+L2cache


Int+L3cache
68,73
-
-
14,54
73,70
-
-
19,56
0,99
-
-
0,80
0,20
-
-
0,16
Memorybus+
Mem
70,93 30,82 90,89 50,91 0,81 0,64 0,04 0,03
System
- - 270,92 68,19 - - 0,06 0,23
Hình 3.3: Biểu diễn giá trị trung bình các thông số hiệu năng ở các
nút khi chip có 2-lõi, mỗi lõi xử lý 8-luồng với L2cache chung và L3
cache chung.

0
20
40

60
80
100
120
Thời gian chờ đợi (ns)
L2cache chung L3cache chung

0
100
200
300
400
500
600
Thời gian đáp ứng (ns)
L2cache chung L3cache chung

0
0.2
0.4
0.6
0.8
1
1.2
Thông lượng
L2cache chung L3cache chung

0
0.2
0.4

0.6
0.8
1
1.2
Mức độ sử dụng
L2cache chung L3cache chung
Bảng 3.2: Giá trị trung bình của các thông số hiệu năng khi chip có 4-
lõi, mỗi lõi xử lý 8-luồng.

17















 CMP đa luồng có 8-lõi









Thời gian chờ đợi
(ns)
Thời gian đáp ứng
(ns)
Mức độ sử dụng

Thông lượng
(Số công việc/ns)
L2 cache
chung
L3 cache
chung
L2 cache
chung
L3 cache
chung
L2 cache
chung
L3 cache
chung
L2 cache
chung
L3 cache
chung
CPU1 0,03 0,13 0,52 0,63 0,05 0,22 0,10 0,44
L11cache 0,09 0,54 1,09 1,55 0,08 0,37 0,08 0,37

L21cache - 0,90 - 3,41 - 0,28 - 0,11
Int+L2cache;
Int+L3cache
51,36
-
-
17,09
56,19
-
-
22,12
0,99
-
-
0,87
0,20
-
-
0,17
Memorybus+Mem 67,42 36,26 86,86 55,45 0,80 0,70 0,04 0,03
System
- - 137,00 30,58 - - 0,12 0,52
Bảng 3.3: Giá trị trung bình của các thông số hiệu năng khi chip có
8-lõi, mỗi lõi xử lý 8-luồng.


0
0.2
0.4
0.6

0.8
1
Thông lượng
L2cache chung L3cache chung

0
0.5
1
1.5
Mức độ sử dụng
L2cache chung L3cache chung

0
20
40
60
80
Thời gian chờ đợi (ns)
L2cache chung L3cache chung

0
50
100
150
Thời gian đáp ứng (ns)
L2cache chung L3cache chung
Hình 3.4: Biểu diễn giá trị trung bình các thông số hiệu năng ở các
nút khi chip có 4-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3
cache chung.



0
50
100
150
200
250
Thời gian đáp ứng (ns)
L2cache chung L3cache chung

0
20
40
60
80
Thời gian chờ đợi (ns)
L2cache chung L3cache chung
18









3.3.2.2. Đánh giá hiệu năng các CMP đa luồng
Các kết quả trên cho thấy rằng: đối với CMP đa luồng có 3
cấp cache, tại nút Interconnect+L3 cache có thời gian đáp ứng,

thời gian chờ đợi, và mức độ sử dụng giảm đi nhiều so với tại
nút Interconnect+L2 cache của CMP đa luồng chỉ có 2 cấp
cache với L2 cache chia sẻ. Đồng thời thông lượng của CMP đa
luồng có 3 cấp cache cũng lớn hơn so với thông lượng của CMP
đa luồng có 2 cấp cache.
3.4. Kết luận chương 3
- Giới thiệu cơ sở lý thuyết MCPFQN được sử dụng để phân
tích và đánh giá hiệu năng của kiến trúc CMP đa luồng.
- Sử dụng mô hình MCPFQN cho kiến trúc CMP đa luồng
để đánh giá hiệu năng của tổ chức cache đa cấp.
- Thực hiện mô phỏng bằng JMT v.0.8.0 để đánh giá hiệu
năng của các tổ chức cache trong kiến trúc CMP đa luồng và
thấy rằng, kiến trúc CMP đa luồng có 3 cấp cache, trong đó L3
cache chia sẻ cho các lõi đạt được hiệu năng xử lý là tốt nhất.
Chương 4
GIẢI PHÁP TỐI ƯU HÓA HIỆU NĂNG CỦA TỔ CHỨC
CACHE TRONG KIẾN TRÚC CMP ĐA LUỒNG
4.1. Kiến trúc cụm lõi cho CMP đa luồng
4.1.1. Khái quát
Hình 4.1 là mô hình đề xuất của CMP đa luồng được nhóm
thành n cụm, mỗi cụm gồm m lõi và L3 cache chia sẻ riêng cho
mỗi cụm. Trong đó, L1 cache và L2 cache riêng tương ứng cho
từng lõi. T là luồng, ở đây mỗi lõi xử lý k luồng.
Hình 3.5: Biểu diễn giá trị trung bình các thông số hiệu năng ở các
nút khi chip có 8-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3
cache chung.


0
0.5

1
1.5
Mức độ sử dụng
L2cache chung L3cache chung

0
0.2
0.4
0.6
Thông lượng
L2cache chung L3cache chung
19









4.1.2. Mô hình MCPFQN cho kiến trúc cụm lõi
4.1.2.1. Mô hình MCPFQN tổng quát của kiến trúc cụm lõi
Dựa vào MCFPQN đưa ra mô hình MCFPQN của kiến trúc
cụm lõi để thực hiện phân tích cho kiến trúc cụm lõi ở hình 4.1.
Mô hình này được trình bày như hình 4.2.


















Hình 4.2: Mô hình
MCPFQN của kiến trúc
cụm lõi cho ở hình 4.1.

Hình 4.1: Kiến trúc vi xử lý đa lõi gồm n cụm lõi và L3 cache
riêng cho mỗi cụm.

L3_1
L3_n
Main Memory

CPU 11
CPU

21

CPU m1

CPU 1n
CPU 2n
CPU mn
Interconnect Interconnect
Memory bus
L1

L2
T
T
L1

L2
T
T
L1

L2
T
T
L1

L2
T
T
L1

L2
T
T

L1

L2
T
T

μ
T2

Core 11
μ
T1
μ
T2
μ
Tk
μ
L1
μ
L2
L11cache_1
L12cache_1
p
1L11
p
11
p
L11L12
p
L111

p
L121
p
L12L3
Cluster 1
p
L3i
μ
L3
Interconnect + L3cache_1
μ
T1
μ
T2
μ
Tk
μ
L1
p
mLm1
p
mm
Lm1cache_1
Core m1
p
Lm1Lm2
Lm2cache_1
μ
L2
p

Lm1m
p
Lm2m
p
Lm2L3
p
L22L3
Cluster n
Core 1n
μ
T1
μ
Tk
p
1L11
L12cache_n
L11cache_n
μ
L1
p
11
p
L111
p
L11L12
μ
L2
p
L121
p

L12L3
Interconnect + L3cache_n
p
L3i
p
L22L3
Core mn
μ
T1
μ
T2
μ
Tk
P
mL11
Lm1cache_n
μ
L1
p
mm
p
L11m
Lm2cache_n
p
L12m
p
L12L3
μ
mk
μ

m2
μ
m1
MemoryBus+Mem
p
L3_1Mem
p
L3_2Mem
p
L3_nMem
p
Memcore
μ
L3
μ
L2
20

4.1.2. Kết quả mô phỏng và đánh giá hiệu năng cho kiến
trúc cụm lõi
4.1.2.1. Kết quả mô phỏng



















Thời gian chờ đợi
(ns)
Thời gian đáp
ứng (ns)
Mức độ sử dụng

Thông lượng
(
Số công việc/ns)

L3 cache
chung
L3 cache
riêng
/cụm
L3 cache
chung
L3 cache
riêng
/cụm
L3 cache

chung
L3 cache
riêng
/cụm
L3 cache
chung
L3 cache
riêng
/cụm
CPU11
0,13 0,14 0,63 0,64 0,22 0,24 0,44 0,48
L11cache_1
0,54 0,61 1,55 1,61 0,37 0,41 0,37 0,41
L21cache_1
0,90 0,99 3,41 3,54 0,28 0,30 0,11 0,12
Int+L3cache_1

17,09 4,19 22,12 9,21 0,87 0,48 0,17 0,10
Memorybus+
Mem
36,26 44,61 55,45 64,32 0,70 0,78 0,03 0,04
System
- - 30,58 27,94 - - 0,52 0,57
Bảng 4.1: Giá trị trung bình của các thông số hiệu năng khi chip có 2
cụm, mỗi cụm 4-lõi với L3 cache riêng cho mỗi cụm, và chip 8-lõi với
L3 cache chung cho tất cả các lõi, mỗi lõi xử lý 8-luồng.

Hình 4.3: Biểu diễn giá trị trung bình các thông số hiệu năng ở các
nút khi chip 8-lõi có 2 cụm với L3 cache riêng cho mỗi cụm và chip 8-
lõi với L3 cache chung, mỗi lõi xử lý 8 luồng.



0
0.1
0.2
0.3
0.4
0.5
0.6
Thông lượng
L3cache chung L3cache riêng/cụm

0
0.2
0.4
0.6
0.8
1
Mức độ sử dụng
L3cache chung L3cache riêng/cụm

0
20
40
60
80
Thời gian đáp ứng (ns)
L3cache chung L3cache riêng/cụm

0

10
20
30
40
50
Thời gian chờ đợi (ns)
L3cache chung L3cache riêng/cụm
21

4.1.2.2. Đánh giá hiệu năng cho kiến trúc cụm lõi
Ở các kết quả trên cho thấy, tại các nút Interconnect+L3
cache có thời gian chờ đợi và thời gian đáp ứng rất lớn, mức độ
sử dụng tăng, và thông lượng giảm so với tại các nút CPU, L1
cache và L2 cache. Nhưng so với bộ xử lý 8-lõi với L3 cache
chia sẻ chung cho các lõi thì thời gian chờ đợi, thời gian đáp
ứng, mức độ sử dụng tại các nút Interconnect+L3 cache, và thời
gian đáp ứng của hệ thống giảm đi đáng kể. Đồng thời thông
lượng của hệ thống tăng lên rất nhiều.
Như vậy, kiến trúc cụm lõi cho kiến trúc CMP đa luồng đã
đề xuất thu được những kết quả khả quan, giảm được thời gian
truy cập trung bình bộ nhớ, giảm nghẽn nút cổ chai tại các nút
chia sẻ, nâng cao hiệu năng của bộ xử lý.
4.2. Lựa chọn cấu hình mạng liên kết trên chip
4.2.2. Đề xuất công thức tính trễ truyền thông trung bình
cho OCIN
 Mức tăng tốc tính cho các cấu hình OCIN, với chip có 3
cấp cache với L3 cache chia sẻ cho các lõi.

O
0,033

S(p, n) =
0,003+T (p,n)
(4.1)
 Trễ truyền thông trung bình tính cho các cấu hình OCIN,
với chip có 3 cấp cache với L3 cache chia sẻ cho các lõi.

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.2)




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

4.2.3.1. Kết quả mô phỏng
Từ các công thức (4.2), thực hiện tính toán, mô phỏng khi số
lượng gói dữ liệu là p = 8, 16, 32, 64, 128, 256, 1024 cho các
trường hợp số lượng lõi trên chip là n = 16, 32, 64, 128. Kết quả
thu được trễ truyền thông trung bình cho các cấu hình: Ring,
2DMesh, 2DTorus, 3DMesh và 3DTorus như hình 4.4.























Bằng cách kết hợp công thức (4.1) và công thức (4.2). Thực
hiện tính toán, mô phỏng mức tăng tốc xử lý cho các cấu hình:
Ring, 2DMesh, 2DTorus, 3DMesh và 3DTorus. Các kết quả thu
được, trình bày như hình 4.5.

8 16 32 64 128 256 1024
Ring
136.00 272.00 544.00 1088.0 2176.0 4352.0 17408.
2DMesh
68.16 136.32 272.64 545.28 1090.5 2181.1 8724.4
2DTorus
51.20 102.40 204.80 409.60 819.20 1638.4 6553.6
3DMesh
64.51 129.02 258.03 516.06 1032.1 2064.2 8257.0
3DTorus
63.50 127.00 254.00 508.00 1016.0 2032.0 8128.0
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
Trễ truyền thông trung
bình (ns); khi n = 16


8 16 32 64 128 256 1024
Ring
264.00 528.00 1056.0 2112.0 4224.0 8448.0 33792.
2DMesh
96.39 192.79 385.57 771.14 1542.2 3084.5 12338.
2DTorus
72.41 144.82 289.63 579.26 1158.5 2317.0 9268.1
3DMesh
81.27 162.55 325.10 650.20 1300.4 2600.8 10403.
3DTorus
80.01 160.01 320.02 640.04 1280.0 2560.1 10240.
0
5000
10000
15000
20000
25000
30000
35000
40000
Trễ truyền thông trung
bình (ns); khi n = 32

8 16 32 64 128 256 1024
Ring
520.00 1040.0 2080.0 4160.0 8320.0 16640. 66560.
2DMesh
136.32 272.64 545.28 1090.5 2181.1 4362.2 17448.
2DTorus

102.40 204.80 409.60 819.20 1638.4 3276.8 13107.
3DMesh
102.40 204.80 409.60 819.20 1638.4 3276.8 13107.
3DTorus
100.80 201.60 403.20 806.40 1612.8 3225.6 12902.
0
10000
20000
30000
40000
50000
60000
70000
Trễ truyền thông trung
bình (ns); khi n = 64

8 16 32 64 128 256 1024
Ring
1032.0 2064.0 4128.0 8256.0 16512. 33024. 132096
2DMesh
192.79 385.57 771.14 1542.2 3084.5 6169.1 24676.
2DTorus
144.82 289.63 579.26 1158.5 2317.0 4634.1 18536.
3DMesh
129.02 258.03 516.06 1032.1 2064.2 4128.5 16514.
3DTorus
127.00 254.00 508.00 1016.0 2032.0 4064.0 16256.
0
20000
40000

60000
80000
100000
120000
140000
Trễ truyền thông trung
bình (ns); khi n = 128
Hình 4.4: Biểu diễn Trễ truyền thông trung bình cho các mạng liên
kết Ring, 2DMesh, 2DTorus, 3DMesh, 3DTorus, trong các trường
hợp số lõi của chip n = 16, 32, 64, 128.

23




























4.2.3.2. Đánh giá kết quả
Từ các kết quả trên, thấy rằng: Khi số lõi trên chip n

64
thì mạng liên kết 2DTorus cho trễ truyền thông trung bình nhỏ
nhất và mức tăng tốc xử lý là lớn nhất.
Khi số lõi trên chip tăng n ≥ 64 thì mạng liên kết 3DTorus sẽ
cho trễ truyền thông trung bình nhỏ nhất và mức tăng tốc xử lý
là lớn nhất.
4.3. Kết luận chương 4
- Đề xuất tổ chức cache mới với kiến trúc cụm lõi cho kiến
trúc CMP đa luồng. Kiến trúc cụm lõi là một giải pháp tối ưu
nhằm cải thiện hiệu năng của kiến trúc CMP đa luồng.

8 16 32 64 128 256 1024
Ring
10.9981 10.9962 10.9924 10.9848 10.9696 10.9393 10.7612
2DMesh
10.9995 10.9990 10.9980 10.9960 10.9920 10.9840 10.9364
2DTorus
10.9996 10.9992 10.9985 10.9970 10.9940 10.9880 10.9521

3DMesh
10.9996 10.9992 10.9985 10.9970 10.9940 10.9880 10.9521
3DTorus
10.9996 10.9993 10.9985 10.9970 10.9941 10.9882 10.9529
10.60
10.65
10.70
10.75
10.80
10.85
10.90
10.95
11.00
11.05
Mức tăng tốc; khi n = 64

8 16 32 64 128 256 1024
Ring
10.9962 10.9924 10.9849 10.9698 10.939810.8802 10.5361
2DMesh
10.9993 10.9986 10.9972 10.9943 10.988710.9774 10.9103
2DTorus
10.9995 10.9989 10.9979 10.9958 10.991510.9830 10.9325
3DMesh
10.9995 10.9991 10.9981 10.9962 10.992410.9849 10.9398
3DTorus
10.9995 10.9991 10.9981 10.9963 10.992610.9851 10.9407
10.3
10.4
10.5

10.6
10.7
10.8
10.9
11.0
11.1
Mức tăng tốc; khi n = 128
Hình 4.5: Biểu diễn Mức tăng tốc cho các mạng liên kết Ring,
2DMesh, 2DTorus, 3DMesh, 3DTorus, trong các trường hợp số lõi
của chip n = 16, 32, 64, 128.


8 16 32 64 128 256 1024
Ring
10.9990 10.9981 10.9961 10.992310.9845 10.9691 10.8775
2DMesh
10.9996 10.9993 10.9986 10.997210.9943 10.9887 10.9549
2DTorus
10.9997 10.9995 10.9989 10.997910.9958 10.9915 10.9661
3DMesh
10.9997 10.9994 10.9988 10.997610.9952 10.9905 10.9620
3DTorus
10.9997 10.9994 10.9988 10.997710.9953 10.9906 10.9626
10.80
10.82
10.84
10.86
10.88
10.90
10.92

10.94
10.96
10.98
11.00
11.02
Mức tăng tốc; khi n = 32

8 16 32 64 128 256 1024
Ring
10.9995 10.9990 10.9980 10.9960 10.9920 10.9841 10.9365
2DMesh
10.9998 10.9995 10.9990 10.9980 10.9960 10.9920 10.9681
2DTorus
10.9998 10.9996 10.9992 10.9985 10.9970 10.9940 10.9760
3DMesh
10.9998 10.9995 10.9991 10.9981 10.9962 10.9924 10.9698
3DTorus
10.9998 10.9995 10.9991 10.9981 10.9963 10.9926 10.9703
10.90
10.91
10.92
10.93
10.94
10.95
10.96
10.97
10.98
10.99
11.00
11.01

Mức tăng tốc; khi n = 16

×