intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tóm tắt luận án Tiến sĩ Kỹ thuật viễn thông: 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

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:27

15
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đề tài 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. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Tóm tắt luận án Tiến sĩ Kỹ thuật viễn thông: 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

  1. 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
  2. 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
  3. 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.
  4. 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:
  5. 3 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 Hình 1.1: Kiến trúc chung của giữa các lõi sẽ ngắn hơn, trễ CMP đa luồng. 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.
  6. 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.
  7. 5 Dung lượng nhỏ hơn,tốc độ 2. L1 cache L0 CPU CPU registers chứa các nhanh hơn,chí Registers từ lấy từ L1 cache (cache sơ cấp): là phí cao hơn. L1 Cache trên chip (SRAM) L1 cache chứa các dòng cache lấy từ L2 cache một bộ nhớ dung Cache trên chip L2 cache chứa các dòng lượng khoảng (8  L2 (SRAM) Dung lượng lớn hơn, tốc lấy từ L3 cache 128) KB, sử dụng Cache trên hay ngoài chip L3 cache chứa các dòng L3 độ chậm hơn, (SRAM) lấy từ bộ nhớ chính công nghệ SRAM chí phí thấp. hơn L4 Bộ nhớ chính (DRAM) Bộ nhớ chính chứa các khối dữ liệu lấy từ được tích hợp trên đĩa cục bộ L5 Thiết bị nhớ trên đĩa cứng CMP. L1 cache có Đĩa cục bộ chứa các file lấy từ các máy chủ dịch vụ mạng thể đạt tới tốc độ L6 Thiết bị nhớ trên mạng của lõi, L1 có thời Hình 1.2: Phân lớp của hệ thống nhớ. 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
  8. 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. Các từ Các khối Bộ nhớ CPU Cache chính Bus cục bộ Bus bộ nhớ 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
  9. 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): L1miss penalty = (L2 hit time) + (L2 miss rate)(L2miss penalty) (2.1) L2 miss penalty = MAT (2.2) AMAT = L1hit time + (L1miss rate)(L2 hit time L1L2 (2.3a) + (L2 miss rate)(L2 miss penalty)) hay AMAT = L1hit time + (L1miss rate)(L2 hit time L1L2 (2.3b) + (L2 miss rate)(MAT)) - Ba cấp cache (L1, L2, L3): L1miss penalty = (L2hit time) + (L2miss rate)(L2miss penalty) (2.4) L2miss penalty = (L3hit time) + (L3miss rate)(L3miss penalty) (2.5) L3 miss penalty = MAT (2.6) AMAT = L1hit time + (L1missrate)(L2hit time + (L2miss rate) L1L2L3 (2.7a) ×(L3hit time + (L3missrate)(L3miss penalty))) hay AMAT = L1hit time +(L1missrate)(L2hit time +(L2missrate) L1L2L3 (2.7b) ×(L3hit time +(L3missrate)(MAT)))  Mức độ tăng tốc SP của hệ thống:
  10. 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) MSPI L1L2 = MAPI × L1 miss rate ×(L2 hit time (2.12a) + L2 miss rate × L2 miss penalty) hay MSPI L1L2 =(AMAT - L1 hit time) ×MAPI (2.12b) L1L2 - Ba cấp cache (L1, L2, L3) MSPIL1L1L3 = MAPI × L1miss rate × (L2 hit time + L2 miss rate (2.13a) × (L3hit time+ L3 miss rate × L3 miss penalty) hay MSPI L1L1L3 = (AMAT - L1 hit time) ×MAPI (2.13b) L1L2L3 Hiệu năng của hệ thống 3 cấp cache so với 2 cấp cache là : Performance = (MSPIL1L2 + L1hit time) / (MSPIL1L2L3 + 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:
  11. 9  Đối với L2 cache sắp xếp trực tiếp: AMATL2direct mapped = 10 + 25% × 50 = 22, 5 chu kỳ  Đối với L2 cache liên kết tập hợp 2-dòng: AMATL2 2-way set accociative = (10 + 0,1) + 20% × 50 = 20,1 chu kỳ 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: CPU time = I× (CPIexecution + MSPI) × C (2.15a) execution hay CPU execution time = I× (CPIexecution + MAPI × miss rate (2.15b) × miss penalty) × C - Hai cấp cache (L1, L2): CPU execution time = I× (CPIexecution + MSPI L1L2 ) × C (2.16a) hay CPU execution time = I× (CPI execution + MAPI × L1miss rate (2.16b) × (L2 hit time + L2 miss rate × L2 miss penalty)) × C hay CPUexecution time = I× (CPI execution + MAPI (2.16c) × (AMATL1L2 - L1hit time)) × C - Ba cấp cache (L1, L2, L3): CPU execution time = I× (CPI execution + MSPI L1L2L3 ) × C (2.17a) hay CPUexecution time = I× (CPIexecution + MAPI × L1miss rate×(L2hit time (2.17b) + L2miss rate×(L3 hit time + L3 miss rate× L3 miss penalty))) ×C hay CPUexecution time = I× (CPIexecution + MAPI× (AMATL1L2L3 - L1hit time))× C (2.17c)  Số chu kỳ thực hiện thực tế của một lệnh (CPIactual): CPI actual = CPI Ideal + 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.
  12. 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 2M 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 = 2M - 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
  13. 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. 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 a) b) trong chip. 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ớ Hình 2.3: Tổ chức cache trong chính. các bộ xử lý Xeon 8-lõi của Intel. - 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.
  14. 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).
  15. 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 E[Nir (0, 0,..., 0)]  0; πi (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 1 R μ (1 s1E[Nis (n 1r )]) ; Type 1,2,4 (mi 1)  ir  1 R mi 2 E[Ri (n)]   (1 E[Nis (n 1r )]   (mi  j 1)×πi (j| n 1r ));Type 1 (mi 1) (3.1) μir ×mi s1 j0  1 ; Type 3 μir Bước 2.2: Thông lượng toàn mạng n λ r ( n)  N (3.2a)  ν ir E[R ir (n)] i 1 Thông lượng của từng nút có thể được xác định λ ir n = λ r n ν ir (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 E[Nir (n)] = ν ir .λ r (n).E[R ir (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
  16. 14 1 E Wir n = E Rir n - (3.4) μir Bước 2.5: Mức độ sử dụng tại các nút i λ ir U ir = với mi là số server của nút i (3.5) μ ir m i 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. CPU 1 CPU 2 CPU n CPU 1 CPU 2 CPU n T …T T …T T …T T …T T …T T …T … L1 L1 … L1 L1 L1 L1 L2 L2 L2 L2 a) MM L3 b) MM 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.
  17. 15 3.3.1.1. Mô hình tổng quát CPU 1 µT1 CPU 1 µT1 L11cache L11cache L12cache p1L1 µT2 pL1L µT2 µL1 µL1 µµL2 L2 p µTm p11 pL11 pL21 pL2L3 µTm p11 pL11 pL1L2 MemoryBus+Mem MemoryBus+Mem Interconnect+L2cache µm1 Interconnect+L3cache µm1 p13 PL3mem p12 pL2mem µm2 µm2 p23 µL3 p22 µL2 pn3 L3core pmemcore pn2 L2core µmk µmk pmemcore CPU n µT1 Ln1cache CPU n µT1 Ln2cache Ln1cache µT2 pL1L2 µT2 p µL1 µL2 µL1 p pL1L2 µTm pnn pL1n pL2n pL2L3 µTm pnn pL1n b) a) Hình 3.2: Mô hình MCPFQN cho CMP đa luồng của hình 3.1. 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 Thời gian đáp Mức độ sử dụng Thông lượng (ns) ứng (ns) (Số công việc/ns) L2 cache L3 cache L2 cache L3 cache L2 cache L3 cache L2 cache L3 cache chung chung chung chung chung chung chung 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 102,78 - 107,92 - 0,99 - 0,20 - ;Int+L3cache - 34,45 - 43,51 - 0,84 - 0,11 Memorybus+ 75,.01 14,41 94,77 34,68 0,80 0,42 0,04 0,02 Mem System - - 543,66 204,96 - 0,03 0,08
  18. 16 Thời gian chờ đợi (ns) Thời gian đáp ứng (ns) 120 600 100 500 80 400 60 300 40 200 20 100 0 0 L2cache chung L3cache chung L2cache chung L3cache chung Mức độ sử dụng Thông lượng 1.2 1.2 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 L2cache chung L3cache chung L2cache chung L3cache chung 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.  CMP đa luồng có 4-lõi 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. Thời gian chờ đợi Thời gian đáp ứng Mức độ sử dụng Thông lượng (ns) (ns) (Số công việc/ns) L2 cache L3 cache L2 cache L3 cache L2 cache L3 cache L2 cache L3 cache chung chung chung chung chung chung chung 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 68,73 - 73,70 - 0,99 - 0,20 - Int+L3cache - 14,54 - 19,56 - 0,80 - 0,16 Memorybus+ 70,93 30,82 90,89 50,91 0,81 0,64 0,04 0,03 Mem System - - 270,92 68,19 - - 0,06 0,23
  19. 17 Thời gian chờ đợi (ns) Thời gian đáp ứng (ns) 80 250 60 200 150 40 100 20 50 0 0 L2cache chung L3cache chung L2cache chung L3cache chung Mức độ sử dụng Thông lượng 1.5 1 0.8 1 0.6 0.4 0.5 0.2 0 0 L2cache chung L3cache chung 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.  CMP đa luồng có 8-lõi 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. Thời gian chờ đợi Thời gian đáp ứng Mức độ sử dụng Thông lượng (ns) (ns) (Số công việc/ns) L2 cache L3 cache L2 cache L3 cache L2 cache L3 cache L2 cache L3 cache chung chung chung chung chung chung chung 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; 51,36 - 56,19 - 0,99 - 0,20 - Int+L3cache - 17,09 - 22,12 - 0,87 - 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 Thời gian chờ đợi (ns) Thời gian đáp ứng (ns) 80 150 60 100 40 50 20 0 0 L2cache chung L3cache chung L2cache chung L3cache chung
  20. 18 Mức độ sử dụng Thông lượng 1.5 0.6 1 0.4 0.5 0.2 0 0 L2cache chung L3cache chung L2cache chung L3cache chung 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. 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.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1