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

153 5 0
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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 LUẬN ÁN TIẾN SĨ KỸ THUẬT VIỄN THÔNG Hà Nội - 2014 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 LUẬN ÁN TIẾN SĨ KỸ THUẬT VIỄN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC: TS HỒ KHÁNH LÂM TS NGUYỄN VIẾT NGUYÊN Hà Nội - 2014 LỜI CAM ĐOAN Tôi xin cam đoan cơng trình riêng tơi Tất ấn phẩm công bố chung với cán hướng dẫn khoa học đồng nghiệp đồng ý tác giả trước đưa vào Luận án Các kết Luận án trung thực, chưa công bố cơng trình Tác giả Luận án Hồ Văn Phi LỜI CẢM ƠN Đầu tiên, xin bày tỏ lời cảm ơn chân thành kính trọng đến Thầy giáo TS Hồ Khánh Lâm TS Nguyễn Viết Nguyên, Thầy nhận làm nghiên cứu sinh hướng dẫn tơi nhiệt tình suốt thời gian học tập, nghiên cứu thực Luận án Các Thầy tận tình bảo giúp đỡ lĩnh vực khoa học sống Tôi vô biết ơn kiên trì Thầy, Thầy dành nhiều thời gian để đọc cẩn thận góp nhiều ý kiến quý báu cho thảo Luận án Những kiến thức mà nhận từ Thầy không Luận án mà hết cách nhìn nhận, đánh phương thức giải vấn đề cách tồn diện khoa học Tơi xin trân trọng cảm ơn Lãnh đạo Trường Đại Học Bách khoa Hà Nội, Viện Sau Đại học, Viện Điện tử - Viễn thông Bộ môn Điện tử & Kỹ thuật máy tính tạo điều kiện thuận lợi cho học tập làm nghiên cứu sinh, ln quan tâm động viên tơi suốt q trình học tập nghiên cứu Tôi xin chân thành cảm ơn giúp đỡ tận tình GS, PGS, TS, Thầy, Cô giáo Bộ môn Điện Tử & Kỹ thuật máy tính, Viện Điện tử - Viễn thơng, Nhà khoa học ngồi Trường Đại học Bách khoa Hà Nội Tôi xin trân trọng cảm ơn Lãnh đạo Trường Đại học Quy Nhơn Khoa Kỹ thuật & Công nghệ - Trường Đại học Quy Nhơn, bạn bè đồng nghiệp ủng hộ tạo điều kiện thuận lợi giúp đỡ suốt thời gian học tập, nghiên cứu hoàn thành Luận án Cuối cùng, muốn dành lời cảm ơn đến người thân yêu Bản Luận án q q giá tơi xin kính tặng cho cha mẹ, vợ thân yêu Hà Nội, tháng 06 năm 2014 Tác giả Luận án Hồ Văn Phi MỤC LỤC DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH, ẢNH VÀ ĐỒ THỊ MỞ ĐẦU 1 Tính cấp thiết luận án Mục đích nghiên cứu luận án Đối tượng phạm vi nghiên cứu luận án 4 Phương pháp nghiên cứu luận án Ý nghĩa khoa học thực tiễn luận án Cấu trúc luận án Chương TỔNG QUAN VỀ KIẾN TRÚC CHIP ĐA XỬ LÝ, ĐA LUỒNG 1.1 Giới thiệu 1.2 Kiến trúc chip đa xử lý, đa luồng 1.2.1 Kiến trúc chung chip đa xử lý, đa luồng 1.2.2 Kiến trúc chip đa xử lý, đa luồng đồng thời 11 1.2.3 Mạng liên kết chip 12 1.2.4 Phân cấp hệ thống nhớ .16 1.3 Kết luận chương 18 Chương NGHIÊN CỨU TỔ CHỨC CACHE, CHÍNH SÁCH THAY THẾ CACHE TRONG KIẾN TRÚC CHIP ĐA XỬ LÝ, ĐA LUỒNG 19 2.1 Tổ chức cache kiến trúc chip đa xử lý, đa luồng 19 2.1.1 Cache nguyên tắc làm việc cache 19 2.1.1.1 Vị trí tạm thời 20 2.1.1.2 Vị trí khơng gian 20 2.1.1.3 Vị trí 20 2.1.2 Các thành phần cache 20 2.1.3 Các tổ chức cache 21 2.1.3.1 Cache liên kết đầy đủ 22 2.1.3.2 Cache xếp trực tiếp 24 2.1.3.3 Cache liên kết tập hợp 26 2.2 Các đặc tính hiệu cache 28 2.2.1 Các tỷ số trúng cache trượt cache 29 2.2.1.1 Trúng cache 29 2.2.1.2 Trượt cache 29 2.2.1.3 Tỷ số trúng cache, trượt cache trượt penalty 29 2.2.1.4 Bus nhớ, kích thước từ nhớ, kích thước khối trượt penalty .31 2.2.1.5 Trượt cache cục toàn cục 31 2.2.1.7 Ảnh hưởng tổ chức cache đến trượt penalty 33 2.2.1.8 Kích thước khối cache tỷ số trượt 34 2.2.1.9 Các loại trượt cache 35 2.2.1.10 Tổ chức cache ảnh hưởng đến tốc độ CPU 36 2.2.2 Các giải pháp tăng hiệu cache 38 2.3 Các sách thay dịng cache 38 2.3.1 Chính sách thay cache LRU 39 2.3.2 Chính sách thay cache LFU 39 2.3.3 Chính sách thay cache FIFO 39 2.3.4 Chính sách thay cache Random 39 2.3.5 Chính sách thay cache NRU 40 2.3.6 Chính sách thay cache SRRIP 40 2.3.7 Chính sách thay cache DRRIP 42 2.4 Ghi đọc cache 42 2.4.1 Ghi cache 42 2.4.1.1 Ghi thông qua 43 2.4.1.2 Ghi trở lại 44 2.4.2 Đọc cache 46 2.4.2.1 Đọc bên cạnh 46 2.5.2.2 Đọc thông suốt 47 2.5 Cache chia sẻ thông minh 48 2.5.1 Tổ chức phân cấp cache chip đa xử lý 48 2.5.2 Cache chia sẻ thông minh 49 2.6 Tính quán cache chip đa xử lý, đa luồng 50 2.6.1 Thế quán cache 50 2.6.2 Các giao thức quán cache 52 2.7 Kết luận chương 52 Chương PHÂN TÍCH ĐÁNH GIÁ HIỆU NĂNG CỦA TỔ CHỨC CACHE TRONG KIẾN TRÚC CHIP ĐA XỬ LÝ, ĐA LUỒNG 53 3.1 Cơ sở lý thuyết để phân tích đánh giá hiệu tổ chức cache 53 3.1.1 Kiến trúc chip đa xử lý, đa luồng mạng xếp hàng đóng đa lớp có dạng tích xác suất (MCPFQN) .53 3.1.1.1 Khái quát mạng xếp hàng đóng 53 3.1.1.2 Khái quát mạng xếp hàng đóng có dạng tích xác suất 56 3.1.1.3 Kiến trúc chip đa xử lý, đa luồng mạng xếp hàng đóng đa lớp có dạng tích xác suất (MCPFQN) 58 3.1.2 Thuật tốn phân tích giá trị trung bình (MVA) đánh giá hiệu cho mạng xếp hàng đóng có dạng tích xác suất 59 3.1.2.1 Mạng xếp hàng đóng đơn lớp có dạng tích xác suất 59 3.1.2.2 Mạng xếp hàng đóng đa lớp có dạng tích xác suất 61 3.2 Mơ hình tổ chức cache kiến trúc chip đa xử lý, đa luồng 62 3.2.1 Khái quát 62 3.2.2 Mơ hình tổ chức cache kiến trúc chip đa xử lý, đa luồng 63 3.3 Phân tích đánh giá hiệu tổ chức cache kiến trúc chip đa xử lý, đa luồng 64 3.3.1 Mơ hình thực phân tích hiệu kiến trúc chip đa xử lý, đa luồng 64 3.3.1.1 Mơ hình tổng qt 64 3.3.1.2 Mô hình rút gọn 66 3.3.2 Kết mô đánh giá hiệu cho kiến trúc CMP đa luồng 72 3.3.2.1 Kết mô cho kiến trúc CMP đa luồng 72 3.3.2.2 Đánh giá hiệu chip đa xử lý, đa luồng 83 3.4 Kết luận chương 84 Chương GIẢI PHÁP TỐI ƯU HÓA HIỆU NĂNG CỦA TỔ CHỨC CACHE TRONG KIẾN TRÚC CHIP ĐA XỬ LÝ, ĐA LUỒNG 85 4.1 Kiến trúc cụm lõi cho chip đa xử lý, đa luồng 85 4.1.1 Khái quát 85 4.1.2 Mơ hình MCPFQN cho kiến trúc cụm lõi .86 4.1.2.1 Mơ hình MCPFQN tổng qt kiến trúc cụm lõi 86 4.1.2.2 Mô hình MCPFQN rút gọn kiến trúc cụm lõi 88 4.1.3 Kết mô đánh giá hiệu cho kiến trúc cụm lõi 90 4.1.3.1 Kết mô cho kiến trúc cụm lõi 90 4.1.3.2 Đánh giá hiệu cho kiến trúc cụm lõi 93 4.2 Lựa chọn cấu hình mạng liên kết chip 94 4.2.1 Khái quát 94 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 chip 94 4.2.3 Lựa chọn cấu hình mạng liên kết chip 99 4.2.3.1 Kết mô 99 4.2.3.2 Đánh giá kết 104 4.3 Kết luận chương 104 KẾT LUẬN 106 TÀI LIỆU THAM KHẢO 107 DANH MỤC CÁC CƠNG TRÌNH ĐÃ CƠNG BỐ CỦA LUẬN ÁN 115 PHỤ LỤC 116 Phụ lục Kịch mô đánh giá hiệu tổ chức cache kiến trúc CMP đa luồng có cấp cache cấp cache 116 Phụ lục Kịch mô đánh giá hiệu tổ chức cache kiến trúc cụm lõi cấp cache 130 DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Ký hiệu Tên tiếng Anh Tên tiếng Việt A Association for Computing Hiệp hội kỹ thuật tính tốn Hoa Machinery Kỳ ALU Arithmetic Logic Unit Đơn vị số học logic AMAT Average Memory Access Time Thời gian trung bình truy nhập ACM nhớ AMC Asymmetric Multi-core Chip Chip đa lõi bất đối xứng ANSI American National Standards Viện tiêu chuẩn quốc gia Hoa Institute Kỳ American Standards Code for Chuẩn mã trao đổi thông tin Information Interchange Hoa Kỳ Application-Specific Integrate Mạch tích hợp ứng dụng Circuit chuyên biệt BCE Base Core Equivalents Tương đương lõi sở BIP Bimodal Insertion Policy Chính sách chèn hai phương ASCII ASIC B thức BRRIP Bimodal Re-Reference Interval Hai phương thức dự báo Prediction (Bimodal RRIP) khoảng tham chiếu lại Computer Aided Design Thiết kế máy tính C CAD ccNUMA cache-coherent Non-Uniform Truy cập nhớ không đồng Memory Access tương quan cache CD Compact Disk Đĩa compact CISC Complex Instruction Set Computer Máy tính có tập lệnh phức 119 - Xác suất định tuyến từ L22 cache đến Int+L3 cache pL2L3 = 0,2 - Xác suất định tuyến từ Int+L3 cache đến CPU1 pL3,1 = 0,4 - Xác suất định tuyến từ Int+L3 cache đến CPU2 pL3,2 = 0,4 - Xác suất định tuyến từ Int+L3 cache đến MemoryBus+Mem pL3Mem = 0,2 - Xác suất định tuyến từ MemoryBus+Mem đến CPU1 p Mem1 = 0,5 - Xác suất định tuyến từ MemoryBus+Mem đến CPU2 p Mem2 = 0,5  Thời gian phục vụ trung bình nút phân bố theo hàm mũ - Thời gian phục vụ trung bình nút CPU1 0,5ns CPU2 0,5ns - Thời gian phục vụ trung bình nút L11 cache 1ns L21 cache 1ns - Thời gian phục vụ trung bình nút L12 cache 2,5ns L22 cache 2,5ns - Thời gian phục vụ trung bình nút Int+L3 cache 5ns - Thời gian phục vụ trung bình nút MemoryBus+Mem 40ns Chọn số hiệu để mô đánh giá Thời gian chờ đợi nút; thời gian đáp ứng nút; thời gian đáp ứng hệ thống; mức độ sử dụng nút; thông lượng nút; thông lượng hệ thống Chọn thông số mô - Số lượng mẫu cực đại 5.000.000 - Độ tin cậy/Độ sai lệch tương đối cực đại 0,99/0,003 - Số luồng CPU - Chọn loại mạng xếp hàng mạng xếp hàng đóng Thực mô Các kết mô cho CMP 2-lõi có cấp cache với L2 cache chia sẻ cho lõi, có cấp cache với L3 cache chia sẻ cho lõi trình bày bảng 3.1 120 I.2.2 Mô CMP đa luồng có 4-lõi Vẽ mơ hình mạng: Trên giao diện hình I.2, tiến hành vẽ mơ hình MCFPQN kiến trúc CMP 4-lõi Mơ hình CMP 4-lõi có cấp cache với L2 cache chia sẻ cho lõi biểu diễn hình 3.11a Mơ hình CMP 4-lõi có cấp cache với L3 cache chia sẻ cho lõi biểu diễn hình 3.11b Thiết lập thông số cho nút  Đối với CMP 4-lõi có cấp cache với L2 cache chia sẻ cho lõi  Xác suất định tuyến nút - Xác suất định tuyến cho tất CPU: p11 = p22 = p 33 = p44 = 0,15 - Xác suất định tuyến từ CPU1 đến L11 cache: p1L1 = 0,85 - Xác suất định tuyến từ CPU2 đến L21 cache: p2L1 = 0,85 - Xác suất định tuyến từ CPU3 đến L31 cache: p3L1 = 0,85 - Xác suất định tuyến từ CPU4 đến L41 cache: p4L1 = 0,85 - Xác suất định tuyến từ L11 cache đến CPU1: p L1,1 = 0,7 - Xác suất định tuyến từ L21 cache đến CPU2: p L1,2 = 0,7 - Xác suất định tuyến từ L31 cache đến CPU3: p L1,3 = 0,7 - Xác suất định tuyến từ L41 cache đến CPU4: p L1,4 = 0,7 - Xác suất định tuyến từ L11 cache đến Int+L2 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L21 cache đến Int+L2 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L31 cache đến Int+L2 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L41 cache đến Int+L2 cache: pL1L2 = 0,3 - Xác suất định tuyến từ Int+L2 cache đến CPU1: p L2,1 = 0,2 - Xác suất định tuyến từ Int+L2 cache đến CPU2: p L2,2 = 0,2 - Xác suất định tuyến từ Int+L2 cache đến CPU3: p L2,3 = 0,2 121 - Xác suất định tuyến từ Int+L2 cache đến CPU4: p L2,4 = 0,2 - Xác suất định tuyến từ Int+L2 cache đến MemoryBus+Mem: p L2Mem = 0,2 - Xác suất định tuyến từ MemoryBus+Mem đến CPU1: pMem1 = 0,25 - Xác suất định tuyến từ MemoryBus+Mem đến CPU2: pMem2 = 0,25 - Xác suất định tuyến từ MemoryBus+Mem đến CPU3: pMem3 = 0,25 - Xác suất định tuyến từ MemoryBus+Mem đến CPU4: pMem4 = 0,25  Thời gian phục vụ trung bình nút phân bố theo hàm mũ - Thời gian phục vụ trung bình nút CPU1 0,5ns, CPU2 0,5ns, CPU3 0,5ns CPU4 0,5ns - Thời gian phục vụ trung bình nút L11 cache 1ns, L21 cache 1ns, L31 cache 1ns L41 cache 1ns - Thời gian phục vụ trung bình nút Int+L2 cache 2,5ns - Thời gian phục vụ trung bình nút MemoryBus+Mem 40ns  Đối với CMP 4-lõi có cấp cache với L3 cache chia sẻ cho lõi  Xác suất định tuyến nút - Xác suất định tuyến cho tất CPU: p11 = p22 = p 33 = p44 = 0,15 - Xác suất định tuyến từ CPU1 đến L11 cache: p1L1 = 0,85 - Xác suất định tuyến từ CPU2 đến L21 cache: p2L1 = 0,85 - Xác suất định tuyến từ CPU3 đến L31 cache: p3L1 = 0,85 - Xác suất định tuyến từ CPU4 đến L41 cache: p4L1 = 0,85 - Xác suất định tuyến từ L11 cache đến CPU1: p L1,1 = 0,7 - Xác suất định tuyến từ L21 cache đến CPU2: p L1,2 = 0,7 - Xác suất định tuyến từ L31 cache đến CPU3: p L1,3 = 0,7 - Xác suất định tuyến từ L41 cache đến CPU4: p L1,4 = 0,7 - Xác suất định tuyến từ L11 cache đến L12 cache: pL1L2 = 0,3 122 - Xác suất định tuyến từ L21 cache đến L22 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L31 cache đến L32 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L41 cache đến L42 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L12 cache đến CPU1: p L2,1 = 0,8 - Xác suất định tuyến từ L22 cache đến CPU2: p L2,2 = 0,8 - Xác suất định tuyến từ L32 cache đến CPU3: p L2,3 = 0,8 - Xác suất định tuyến từ L42 cache đến CPU4: p L2,4 = 0,8 - Xác suất định tuyến từ L12 cache đến Int+L3 cache: pL2L3 = 0,2 - Xác suất định tuyến từ L22 cache đến Int+L3 cache: pL2L3 = 0,2 - Xác suất định tuyến từ L32 cache đến Int+L3 cache: pL2L3 = 0,2 - Xác suất định tuyến từ L42 cache đến Int+L3 cache: pL2L3 = 0,2 - Xác suất định tuyến từ Int+L3 cache đến CPU1: p L3,1 = 0,2 - Xác suất định tuyến từ Int+L3 cache đến CPU2: p L3,2 = 0,2 - Xác suất định tuyến từ Int+L3 cache đến CPU3: p L3,3 = 0,2 - Xác suất định tuyến từ Int+L3 cache đến CPU4: p L3,4 = 0,2 - Xác suất định tuyến từ Int+L3 cache đến MemoryBus+Mem: p L3Mem = 0,2 - Xác suất định tuyến từ MemoryBus+Mem đến CPU1: pMem1 = 0,25 - Xác suất định tuyến từ MemoryBus+Mem đến CPU2: pMem2 = 0,25 - Xác suất định tuyến từ MemoryBus+Mem đến CPU3: pMem3 = 0,25 - Xác suất định tuyến từ MemoryBus+Mem đến CPU4: pMem4 = 0,25  Thời gian phục vụ trung bình nút phân bố theo hàm mũ - Thời gian phục vụ trung bình nút CPU1 0,5ns, CPU2 0,5ns, CPU3 0,5ns CPU4 0,5ns - Thời gian phục vụ trung bình nút L11 cache 1ns, L21 cache 1ns, L31 cache 1ns L41 cache 1ns 123 - Thời gian phục vụ trung bình nút L12 cache 2,5ns, L22 cache 2,5ns, L32 cache 2,5ns L42 cache 2,5ns - Thời gian phục vụ trung bình nút Int+L3 cache 5ns - Thời gian phục vụ trung bình nút MemoryBus+Mem 40ns Chọn số hiệu để mô đánh giá Thời gian đợi nút; thời gian đáp ứng nút; thời gian đáp ứng hệ thống; mức độ sử dụng nút; thông lượng nút; thông lượng hệ thống Chọn thông số mô - Số lượng mẫu cực đại 5.000.000 - Độ tin cậy/Độ sai lệch tương đối cực đại 0,99/0,003 - Số luồng CPU - Chọn loại mạng xếp hàng mạng xếp hàng đóng Thực mô Các kết mô cho CMP 4-lõi có cấp cache với L2 cache chia sẻ cho lõi, có cấp cache với L3 cache chia sẻ cho lõi trình bày bảng 3.2 I.2.3 Mơ CMP đa luồng có 8-lõi Vẽ mơ hình mạng Trên giao diện hình I.2, tiến hành vẽ mơ hình MCFPQN kiến trúc CMP 8-lõi Mơ hình CMP 8-lõi có cấp cache với L2 cache chia sẻ cho lõi biểu diễn hình 3.16a Mơ hình CMP 8-lõi có cấp cache với L3 cache chia sẻ cho lõi biểu diễn hình 3.16b Thiết lập thông số cho nút  Đối với CMP 8-lõi có cấp cache với L2 cache chia sẻ cho lõi  Xác suất định tuyến nút 124 - Xác suất định tuyến cho tất CPU: p 11 = p22 = p33 = p44 = p 55 = p66 = p77 = p 88 = 0,15 - Xác suất định tuyến từ CPU1 đến L11 cache: p1L1 = 0,85 - Xác suất định tuyến từ CPU2 đến L21 cache: p2L1 = 0,85 - Xác suất định tuyến từ CPU3 đến L31 cache: p3L1 = 0,85 - Xác suất định tuyến từ CPU4 đến L41 cache: p4L1 = 0,85 - Xác suất định tuyến từ CPU5 đến L51 cache: p5L1 = 0,85 - Xác suất định tuyến từ CPU6 đến L61 cache: p6L1 = 0,85 - Xác suất định tuyến từ CPU7 đến L71 cache: p7L1 = 0,85 - Xác suất định tuyến từ CPU8 đến L81 cache: p8L1 = 0,85 - Xác suất định tuyến từ L11 cache đến CPU1: p L1,1 = 0,7 - Xác suất định tuyến từ L21 cache đến CPU2: p L1,2 = 0,7 - Xác suất định tuyến từ L31 cache đến CPU3: p L1,3 = 0,7 - Xác suất định tuyến từ L41 cache đến CPU4: p L1,4 = 0,7 - Xác suất định tuyến từ L51 cache đến CPU5: p L1,5 = 0,7 - Xác suất định tuyến từ L61 cache đến CPU6: p L1,6 = 0,7 - Xác suất định tuyến từ L71 cache đến CPU7: p L1,7 = 0,7 - Xác suất định tuyến từ L81 cache đến CPU8: p L1,8 = 0,7 - Xác suất định tuyến từ L11 cache đến Int+L2 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L21 cache đến Int+L2 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L31 cache đến Int+L2 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L41 cache đến Int+L2 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L51 cache đến Int+L2 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L61 cache đến Int+L2 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L71 cache đến Int+L2 cache: pL1L2 = 0,3 125 - Xác suất định tuyến từ L81 cache đến Int+L2 cache: pL1L2 = 0,3 - Xác suất định tuyến từ Int+L2 cache đến CPU1: p L2,1 = 0,1 - Xác suất định tuyến từ Int+L2 cache đến CPU2: p L2,2 = 0,1 - Xác suất định tuyến từ Int+L2 cache đến CPU3: p L2,3 = 0,1 - Xác suất định tuyến từ Int+L2 cache đến CPU4: p L2,4 = 0,1 - Xác suất định tuyến từ Int+L2 cache đến CPU5: p L2,5 = 0,1 - Xác suất định tuyến từ Int+L2 cache đến CPU6: p L2,6 = 0,1 - Xác suất định tuyến từ Int+L2 cache đến CPU7: p L2,7 = 0,1 - Xác suất định tuyến từ Int+L2 cache đến CPU8: p L2,8 = 0,1 - Xác suất định tuyến từ Int+L2 cache đến MemoryBus+Mem: p L2Mem = 0,2 - Xác suất định tuyến từ MemoryBus+Mem đến CPU1: pMem1 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU2: pMem2 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU3: pMem3 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU4: pMem4 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU5: pMem5 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU6: pMem6 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU7: pMem7 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU8: pMem8 = 0,125  Thời gian phục vụ trung bình nút phân bố theo hàm mũ - Thời gian phục vụ trung bình nút CPU1 0,5ns, CPU2 0,5ns, CPU3 0,5ns, CPU4 0,5ns, CPU5 0,5ns, CPU6 0,5ns, CPU7 0,5ns CPU8 0,5ns - Thời gian phục vụ trung bình nút L11 cache 1ns, L21 cache 1ns, L31 cache 1ns, L41 cache 1ns, L51 cache 1ns, L61 cache 1ns, L71 cache 1ns L81 cache 1ns 126 - Thời gian phục vụ trung bình nút Int+L2 cache 2,5ns - Thời gian phục vụ trung bình nút MemoryBus+Mem 40ns  Đối với CMP 8-lõi có cấp cache với L3 cache chia sẻ cho lõi  Xác suất định tuyến nút - Xác suất định tuyến cho tất CPU: p 11 = p22 = p33 = p44 = p 55 = p66 = p77 = p88 = 0,15 - Xác suất định tuyến từ CPU1 đến L11 cache: p1L1 = 0,85 - Xác suất định tuyến từ CPU2 đến L21 cache: p2L1 = 0,85 - Xác suất định tuyến từ CPU3 đến L31 cache: p3L1 = 0,85 - Xác suất định tuyến từ CPU4 đến L41 cache: p4L1 = 0,85 - Xác suất định tuyến từ CPU5 đến L51 cache: p5L1 = 0,85 - Xác suất định tuyến từ CPU6 đến L61 cache: p6L1 = 0,85 - Xác suất định tuyến từ CPU7 đến L71 cache: p7L1 = 0,85 - Xác suất định tuyến từ CPU8 đến L81 cache: p8L1 = 0,85 - Xác suất định tuyến từ L11 cache đến CPU1: p L1,1 = 0,7 - Xác suất định tuyến từ L21 cache đến CPU2: p L1,2 = 0,7 - Xác suất định tuyến từ L31 cache đến CPU3: p L1,3 = 0,7 - Xác suất định tuyến từ L41 cache đến CPU4: p L1,4 = 0,7 - Xác suất định tuyến từ L51 cache đến CPU5: p L1,5 = 0,7 - Xác suất định tuyến từ L61 cache đến CPU6: p L1,6 = 0,7 - Xác suất định tuyến từ L71 cache đến CPU7: p L1,7 = 0,7 - Xác suất định tuyến từ L81 cache đến CPU8: p L1,8 = 0,7 - Xác suất định tuyến từ L11 cache đến L12 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L21 cache đến L22 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L31 cache đến L32 cache: pL1L2 = 0,3 127 - Xác suất định tuyến từ L41 cache đến L42 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L51 cache đến L52 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L61 cache đến L62 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L71 cache đến L72 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L81 cache đến L82 cache: pL1L2 = 0,3 - Xác suất định tuyến từ L12 cache đến CPU1: p L2,1 = 0,8 - Xác suất định tuyến từ L22 cache đến CPU2: p L2,2 = 0,8 - Xác suất định tuyến từ L32 cache đến CPU3: p L2,3 = 0,8 - Xác suất định tuyến từ L42 cache đến CPU4: p L2,4 = 0,8 - Xác suất định tuyến từ L52 cache đến CPU5: p L2,5 = 0,8 - Xác suất định tuyến từ L62 cache đến CPU6: p L2,6 = 0,8 - Xác suất định tuyến từ L72 cache đến CPU7: p L2,7 = 0,8 - Xác suất định tuyến từ L82 cache đến CPU8: p L2,8 = 0,8 - Xác suất định tuyến từ L12 cache đến Int+L3 cache: pL2L3 = 0,2 - Xác suất định tuyến từ L22 cache đến Int+L3 cache: pL2L3 = 0,2 - Xác suất định tuyến từ L32 cache đến Int+L3 cache: pL2L3 = 0,2 - Xác suất định tuyến từ L42 cache đến Int+L3 cache: pL2L3 = 0,2 - Xác suất định tuyến từ L52 cache đến Int+L3 cache: pL2L3 = 0,2 - Xác suất định tuyến từ L62 cache đến Int+L3 cache: pL2L3 = 0,3 - Xác suất định tuyến từ L72 cache đến Int+L3 cache: pL2L3 = 0,2 - Xác suất định tuyến từ L82 cache đến Int+L3 cache: pL2L3 = 0,2 - Xác suất định tuyến từ Int+L3 cache đến CPU1: p L3,1 = 0,1 - Xác suất định tuyến từ Int+L3 cache đến CPU2: p L3,2 = 0,1 - Xác suất định tuyến từ Int+L3 cache đến CPU3: p L3,3 = 0,1 - Xác suất định tuyến từ Int+L3 cache đến CPU4: p L3,4 = 0,1 128 - Xác suất định tuyến từ Int+L3 cache đến CPU5: p L3,5 = 0,1 - Xác suất định tuyến từ Int+L3 cache đến CPU6: p L3,6 = 0,1 - Xác suất định tuyến từ Int+L3 cache đến CPU7: p L3,7 = 0,1 - Xác suất định tuyến từ Int+L3 cache đến CPU8: p L3,8 = 0,1 - Xác suất định tuyến từ Int+L3 cache đến MemoryBus+Mem: p L3Mem = 0,2 - Xác suất định tuyến từ MemoryBus+Mem đến CPU1: pMem1 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU2: pMem2 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU3: pMem3 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU4: pMem4 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU5: pMem5 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU6: pMem6 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU7: pMem7 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU8: pMem8 = 0,125  Thời gian phục vụ trung bình nút phân bố theo hàm mũ - Thời gian phục vụ trung bình nút CPU1 0,5ns, CPU2 0,5ns, CPU3 0,5ns, CPU4 0,5ns, CPU5 0,5ns, CPU6 0,5ns, CPU7 0,5ns CPU8 0,5ns - Thời gian phục vụ trung bình nút L11 cache 1ns, L21 cache 1ns, L31 cache 1ns, L41 cache 1ns, L51 cache 1ns, L61 cache 1ns, L71 cache 1ns L81 cache 1ns - Thời gian phục vụ trung bình nút L12 cache 2,5ns, L22 cache 2,5ns, L32 cache 2,5ns, L42 cache 2,5ns, L52 cache 2,5ns, L62 cache 2,5ns, L72 cache 2,5ns L82 cache 2,5ns - Thời gian phục vụ trung bình nút Int+L3 cache 5ns - Thời gian phục vụ trung bình nút MemoryBus+Mem 40ns Chọn số hiệu để mô đánh giá 129 Thời gian đợi nút; thời gian đáp ứng nút; thời gian đáp ứng hệ thống; mức độ sử dụng nút; thông lượng nút; thông lượng hệ thống Chọn thông số mô - Số lượng mẫu cực đại 5.000.000 - Độ tin cậy/Độ sai lệch tương đối cực đại 0,99/0,003 - Số luồng CPU - Chọn loại mạng xếp hàng mạng xếp hàng đóng Thực mô Các kết mô cho CMP 8-lõi có cấp cache với L2 cache chia sẻ cho lõi, có cấp cache với L3 cache chia sẻ cho lõi trình bày bảng 3.3 130 PHỤ LỤC II KỊCH BẢN MÔ PHỎNG ĐÁNH GIÁ HIỆU NĂNG CỦA TỔ CHỨC CACHE TRONG KIẾN TRÚC CỤM LÕI CÓ CẤP CACHE Vẽ mơ hình mạng Trên giao diện hình I.2, tiến hành vẽ mơ hình MCFPQN kiến trúc cụm lõi trường hợp CMP có 8-lõi, 4-lõi/cụm có cấp cache với L3 cache riêng cho cụm để thực mơ Mơ hình biểu diễn hình 4.4 Thiết lập thơng số cho nút  Xác suất định tuyến nút - Xác suất định tuyến cho tất CPU p 11,11 = p21,21 = p31,31 = p 41,41 = p12,12 = p22,22 = p32,32 = p42,41 = 0,15 - Xác suất định tuyến từ CPU11 đến L11 cache_1 p11L1 = 0,85 - Xác suất định tuyến từ CPU21 đến L21 cache_1là p21L1 = 0,85 - Xác suất định tuyến từ CPU31 đến L31 cache_1 p31L1 = 0,85 - Xác suất định tuyến từ CPU41 đến L41 cache_1 p41L1 = 0,85 - Xác suất định tuyến từ CPU12 đến L11 cache_2 p12L1 = 0,85 - Xác suất định tuyến từ CPU22 đến L21 cache_2 p22L1 = 0,85 - Xác suất định tuyến từ CPU32 đến L31 cache_2 p32L1 = 0,85 - Xác suất định tuyến từ CPU42 đến L41 cache_2 p42L1 = 0,85 - Xác suất định tuyến từ L11 cache_1 đến CPU11 pL1,11 = 0,7 - Xác suất định tuyến từ L21 cache_1 đến CPU21 pL1,21 = 0,7 - Xác suất định tuyến từ L31 cache_1 đến CPU31 pL1,31 = 0,7 - Xác suất định tuyến từ L41 cache_1 đến CPU41 pL1,41 = 0,7 - Xác suất định tuyến từ L11 cache_2 đến CPU12 pL1,12 = 0,7 - Xác suất định tuyến từ L21 cache_2 đến CPU22 pL1,22 = 0,7 131 - Xác suất định tuyến từ L31 cache_2 đến CPU32 pL1,32 = 0,7 - Xác suất định tuyến từ L41 cache_2 đến CPU42 pL1,42 = 0,7 - Xác suất định tuyến từ L11 cache_1 đến L12 cache_1 pL1L2 = 0,3 - Xác suất định tuyến từ L21 cache_1 đến L22 cache_1 pL1L2 = 0,3 - Xác suất định tuyến từ L31 cache_1 đến L32 cache_1 pL1L2 = 0,3 - Xác suất định tuyến từ L41 cache_1 đến L42 cache_1 pL1L2 = 0,3 - Xác suất định tuyến từ L11 cache_2 đến L12 cache_2 pL1L2 = 0,3 - Xác suất định tuyến từ L21 cache_2 đến L22 cache_2 pL1L2 = 0,3 - Xác suất định tuyến từ L31 cache_2 đến L32 cache_2 pL1L2 = 0,3 - Xác suất định tuyến từ L41 cache_2 đến L42 cache_2 pL1L2 = 0,3 - Xác suất định tuyến từ L12 cache_1 đến CPU11 pL2,11 = 0,8 - Xác suất định tuyến từ L22 cache_1 đến CPU21 pL2,21 = 0,8 - Xác suất định tuyến từ L32 cache_1 đến CPU31 pL2,31 = 0,8 - Xác suất định tuyến từ L42 cache_1 đến CPU41 pL2,41 = 0,8 - Xác suất định tuyến từ L12 cache_2 đến CPU12 pL2,12 = 0,8 - Xác suất định tuyến từ L22 cache_2 đến CPU22 pL2,22 = 0,8 - Xác suất định tuyến từ L32 cache_2 đến CPU32 pL2,32 = 0,8 - Xác suất định tuyến từ L42 cache_2 đến CPU42 pL2,42 = 0,8 - Xác suất định tuyến từ L12 cache_1 đến Int+L3 cache_1 pL2L3 = 0,2 - Xác suất định tuyến từ L22 cache_1 đến Int+L3 cache_1 pL2L3 = 0,2 - Xác suất định tuyến từ L32 cache_1 đến Int+L3 cache_1 pL2L3 = 0,2 - Xác suất định tuyến từ L42 cache_1 đến Int+L3 cache_1 pL2L3 = 0,2 - Xác suất định tuyến từ L12 cache_2 đến Int+L3 cache_2 pL2L3 = 0,2 - Xác suất định tuyến từ L22 cache_2 đến Int+L3 cache_2 pL2L3 = 0,2 - Xác suất định tuyến từ L32 cache_2 đến Int+L3 cache_2 pL2L3 = 0,2 132 - Xác suất định tuyến từ L42 cache_2 đến Int+L3 cache_2 pL2L3 = 0,2 - Xác suất định tuyến từ Int+L3 cache_1 đến CPU11 p L3,11 = 0,2 - Xác suất định tuyến từ Int+L3 cache_1 đến CPU21 p L3,21 = 0,2 - Xác suất định tuyến từ Int+L3 cache_1 đến CPU31 p L3,31 = 0,2 - Xác suất định tuyến từ Int+L3 cache_1 đến CPU41 p L3,41 = 0,2 - Xác suất định tuyến từ Int+L3 cache_2 đến CPU12 p L3,12 = 0,2 - Xác suất định tuyến từ Int+L3 cache_2 đến CPU22 p L3,22 = 0,2 - Xác suất định tuyến từ Int+L3 cache_2 đến CPU32 p L3,32 = 0,2 - Xác suất định tuyến từ Int+L3 cache_2 đến CPU42 p L3,42 = 0,2 - Xác suất định tuyến từ Int+L3 cache_1 đến MemoryBus+Mem: pL3Mem = 0,2 - Xác suất định tuyến từ Int+L3 cache_2 đến MemoryBus+Mem: pL3Mem = 0,2 - Xác suất định tuyến từ MemoryBus+Mem đến CPU11 pMem11 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU21 pMem21 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU31 pMem31 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU41 pMem41 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU12 pMem12 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU22 pMem22 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU32 pMem32 = 0,125 - Xác suất định tuyến từ MemoryBus+Mem đến CPU42 pMem42 = 0,125  Thời gian phục vụ trung bình nút phân bố theo hàm mũ - Thời gian phục vụ trung bình nút CPU11 0,5ns, CPU21 0,5ns, CPU31 0,5ns, CPU41 0,5ns, CPU12 0,5ns, CPU22 0,5ns, CPU32 0,5ns CPU42 0,5ns 133 - Thời gian phục vụ trung bình nút L11 cache_1 1ns, L21 cache_1 1ns, L31 cache_1 1ns, L41 cache_1 1ns, L11 cache_2 1ns, L21 cache_2 1ns, L31 cache_2 1ns L41 cache_2 1ns - Thời gian phục vụ trung bình nút L12 cache_1 2,5ns, L22 cache_1 2,5ns, L32 cache_1 2,5ns, L42 cache_1 2,5ns, L12 cache_2 2,5ns, L22 cache_2 2,5ns, L32 cache_2 2,5ns L42 cache_2 2,5ns - Thời gian phục vụ trung bình nút Int+L3 cache_1 5ns - Thời gian phục vụ trung bình nút Int+L3 cache_2 5ns - Thời gian phục vụ trung bình nút MemoryBus+Mem 40ns Chọn số hiệu để mô đánh giá Thời gian chờ đợi nút; thời gian đáp ứng nút; thời gian đáp ứng hệ thống; mức độ sử dụng nút; thông lượng nút; thông lượng hệ thống Chọn thông số mô - Số lượng mẫu cực đại 5.000.000 - Độ tin cậy/Độ sai lệch tương đối cực đại 0,99/0,003 - Số luồng CPU - Chọn loại mạng xếp hàng mạng xếp hàng đóng Thực mơ Các kết mơ cho CMP 8-lõi có kiến trúc cụm lõi, 4-lõi/cụm, có cấp cache với L3 cache riêng cho cụm trình bày bảng 4.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... án: ? ?Tối ưu hoá đánh giá hiệu tổ chức cache hệ thống vi xử lý hệ sau? ?? 4 Mục đích nghiên cứu luận án - Nghiên cứu phân tích ảnh hưởng tổ chức cache đa cấp sách thay cache đến hiệu chip đa xử lý, ... NGHIÊN CỨU TỔ CHỨC CACHE, CHÍNH SÁCH THAY THẾ CACHE TRONG KIẾN TRÚC CHIP ĐA XỬ LÝ, ĐA LUỒNG 2.1 Tổ chức cache kiến trúc chip đa xử lý, đa luồng 2.1.1 Cache nguyên tắc làm vi? ??c cache Cache nhớ

Ngày đăng: 24/03/2021, 08:53

Tài liệu cùng người dùng

Tài liệu liên quan