1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Nghiên cứu và thiết kế chip xử lý đa nhân sử dụng Multi2Sim

9 6 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 491,15 KB

Nội dung

Bài viết tập trung tìm hiểu và phân tích quá trình phân cấp này nhằm lý giải phần nào về sự cải thiện rõ rệt về mặt tốc độ xử lý của CMP. Mặt khác, hiệu suất của CMP chỉ đạt tối ưu khi sự phân cấp bộ nhớ là phù hợp với chương trình ứng dụng thực tế. Trong nghiên cứu này, chúng tôi trình bày mối liên hệ giữa cấu trúc bộ nhớ thứ bậc của chip CMP và những đặc tính chính của một chương trình ứng dụng chạy trên nó. Mời các bạn cùng tham khảo!

Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) HộiHội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Nghiên cứu thiết kế chip xử lý đa nhân sử dụng Multi2Sim Ngô Quang Vinh, Đỗ Đức Hào Trung tâm ICDREC, ĐHQG TPHCM Email : {vinh.ngoquang, hao.doduc}@icdrec.edu.vn Tóm tắt nội dung—Chip đa nhân (CMP) ngày sử dụng rộng rãi nhờ vào lực tính toán nâng cao rõ rệt so với hệ chip nhân Tốc độ hiệu CMP chủ yếu đến từ trình phân cấp nhớ Tùy vào cách thiết kế mà thành phần nhớ chia sẻ liệu hay sử dụng cách độc quyền Điều làm cho khả lưu trữ nhớ vô linh hoạt qua trực tiếp cải thiện tốc độ xử lý Chúng tơi tập trung tìm hiểu phân tích q trình phân cấp nhằm lý giải phần cải thiện rõ rệt mặt tốc độ xử lý CMP Mặt khác, hiệu suất CMP đạt tối ưu phân cấp nhớ phù hợp với chương trình ứng dụng thực tế Trong nghiên cứu này, chúng tơi trình bày mối liên hệ cấu trúc nhớ thứ bậc chip CMP đặc tính chương trình ứng dụng chạy Chúng tơi sử dụng công cụ Multi2Sim để thiết kế chạy mô CMP Bên cạnh đó, chương trình ứng dụng chon benchmark Splash-2, benchmark dùng phổ biến để ước lượng hiệu suất thiết kế CMP Kết thí nghiệm cho thấy Splash-2 đạt hiệu suất cao dung lượng L1 64 KB Từ khóa—Phân cấp nhớ, vi xử lý đa nhân, nhớ cache, Multi2Sim I GIỚI THIỆU Ngày nay, mà máy tính ngày phổ biến tham gia vào nhiều mặt sống người, yêu cầu lực xử lý vi xử lý dường điều tất yếu Kể từ năm 2001, IBM lần giới thiệu chip đa nhân (CMP) thị trường, loại chip dần thống trị thị trường vi xử lý [?] Những hệ chip nhân vào hàng xa xỉ vài chục năm trước ngày khơng thể đáp ứng nhu cầu người dùng bình thường Cho dù cải tiến cách tăng mật độ transitor hay tăng xung nhịp, loại chip khơng thể chạy phần mềm ứng dụng, trị chơi điện tử có đồ họa cao cấp cách mượt mà [?][?] Chip CMP khả xử lý mạnh mẽ cịn có độ bền cao, hoạt động ổn định bị nóng nhờ khả tản nhiệt tốt [?][?] Chính lý ISBN: 978-604-67-0635-9 Hồng Trang, Vũ Đình Thành Đại học Bách khoa, ĐHQG TPHCM Email: {hoangtrang, vdthanh}@hcmut.edu.vn làm cho CMP ngày phổ biến thị trường không ngừng nghiên cứu, cải tiến nhằm nâng cao chất lượng Để nhanh chóng dễ dàng việc tìm hiểu, nghiên cứu thiết kế CMP phần mềm mơ thiếu Phần mềm giúp thiết kế CMP dễ dàng, mô hiệu tính tốn, từ so sánh thiết kế khác nhằm rút ưu nhược điểm thiết kế Có nhiều phần mềm dạng này, đa phần miễn phí : Gem5, Multi2Sim, SimpleScalar [?][?][?], Trải qua trình tìm hiểu sử dụng hầu hết chương trình trên, nhận thấy Multi2Sim công cụ tốt để tìm hiểu nghiên cứu CMP cho nhiều đối tượng, từ người bắt đầu đến chuyên gia Bên cạnh đó, Multi2Sim hỗ trợ chương trình benchmark phổ biến cho chip CMP Splash-2 Parsec [?][?][1] Thông qua thực thí nghiệm chương trình benchmark chuẩn này, chúng tơi phân tích rút số đặc tính benchmark từ đưa thơng số thiết kế nhớ có thứ bậc phù hợp nhằm tạo mơ hình tối ưu cho benchmark Trong nghiên cứu, chúng tơi chọn sử dụng Splash-2 phát triển lâu có độ ổn định cao [?] Splash-2 bao gồm nhiều tốn ứng dụng khác tính tốn hiệu cao đồ hoạ Đặc biệt, Splash-2 benchmark thiết kế để đánh giá kiến trúc xử lý song song đa luồng đa nhân [1][?] Kết thí nghiệm cho thấy benchmark Splash-2 có phân bổ tác vụ vào nhân cách cân thể tỷ lệ số lượng truy xuất nhớ cache thể tỷ lệ hit nhân Tỷ lệ hit cache đạt mức trung bình cao lên tới 99.3% tương ứng với dung lượng L1 L2 tương ứng 64 KB 512 KB Trong phần II, chúng tơi trình bày kiến trúc tổ chức nhớ có phân cấp chip xử lý đa nhân Phần giới thiệu Multi2Sim trình bày mục III Trong phần này, sâu vào phần liên 369 369 Thảo Quốc 2015vềvềĐiện ĐiệnTử, Tử,Truyền TruyềnThông Thông TinTin (ECIT 2015) HộiHội Thảo Quốc GiaGia 2015 Công CôngNghệ NghệThông Thông (ECIT 2015) quan đến phần phân cấp nhớ để minh họa cách trực quan cho nội dung phần trước Phần IV giới thiệu trình xuyên suốt việc thiết kế CMP, từ khâu hình thành ý tưởng, triển khai, cấu hình, chạy mơ khâu thống kê đánh giá Cuối cùng, phần V nhận định đánh giá Multi2Sim việc nghiên cứu thiết kế chip vi xử lý đa nhân II PHÂN CẤP BỘ NHỚ TRÊN CMP Như trình bày phần I, CMP xét chất ghép nối nhiều chip nhân tạo thành Tương tự chip nhân, CMP vận hành nhận mã lệnh (Inst) liệu (Data) từ nhớ để tiến hành xử lý Các nhân chip gần cải tiến thêm, mật độ đơn vị xử lý gần bão hòa Mặt khác việc nâng cao hiệu hoạt động nhân thông qua việc tăng tần số hoạt động gặp giới hạn rõ ràng công suất tiêu thu chip mức toả nhiệt cao [?] Do đó, thay đổi hay tác động lên chip với mong muốn cải thiện hiệu thực hiên thành phần nhớ, từ kiến trúc mạng nội chúng với A Phân cấp nhớ Chip nhớ máy tính hai phận riêng biệt, tách rời liên kết với mạng nội [?] Rõ ràng, chip u cầu Inst hay Data khơng thể có được, phải chờ tín hiệu yêu cầu từ chip đến nhớ chính, thơng tin cần thiết từ nhớ lại chip Nếu nhớ gần chip quãng đường lại ngắn, thời gian thực thi ít, ngược lại Nhưng mặc khác, chip cấu thành từ mạch bán dẫn cực nhỏ, phải nuôi nguồn điện tương ứng thật ổn định Nếu ta thiết kế nhớ với dung lượng lớn đặt bên chip hay gần chip làm hư hỏng chip, chí gây cháy nổ Qua đó, nhận thấy rằng, khoảng cách từ nhớ đến chip tỉ lệ thuận với thời gian truy xuất thông tin tỉ lệ nghịch với dung lượng nhớ Bộ nhớ gần chip truy xuất nhanh dung lượng giảm đi, ngược lại, nhớ với dung lượng lưu trữ lớn phải đặt xa chip [?] Hình cho ta nhìn trực quan phân cấp nhớ Nhưng nhu cầu ứng dụng người dùng cuối thường ngặt nghèo: phần mềm ứng dụng lớn, yêu cầu xử lý phải nhanh Đó thách thức, động lực để nhớ máy tính phát triển đến mức độ cao hơn: phân cấp nhớ [2][?][?] Quá trình Hình 1: Phân cấp nhớ này, thực chất kết hợp ưu điểm cách bố trí nhớ: nhớ chính, dung lượng lớn chứa tồn nội dung chương trình, dĩ nhiên nằm xa chip; nhớ nhỏ nhiều, thiết kế nằm chip, có nhiệm vụ lưu trữ Inst Data thường dùng nhất, nhằm tiết kiệm thời gian truy xuất đến nhớ chính, nhớ biết đến với tên gọi nhớ truy cập nhanh hay nhớ đêm (cache) [?] Sự khác cache chip đơn nhân CMP trình bày rõ hai mục II-A1 II-A2 1) Cache chip nhân: Như trình bày, nhớ đặt gần chip truy xuất nhanh, dung lượng phải nhỏ Người ta thường chia cache thành mức : L1, L2, L3, L1 cache nhỏ nhất, có tốc độ truy xuất nhanh nhất, L2 có sức chứa lớn L1 truy xuất chậm L1, tương tự cho mức cao [2][?] Chip nhân có nhớ cache cho mức, đó, mạng nội nối từ chip, qua mức cache, đến nhớ đơn giản, đường thẳng 2) Cache CMP: CMP nhiều nhân hợp lại mà thành Mỗi nhân có cache riêng, tùy theo cách bố trí mà có kiến trúc khác Thông thường, nhân có cache L1 riêng, cịn mức cao dùng chung riêng Vì mức cache, có nhiều module nên cấu hình để thu đồ hình (topology) khác nhau, qua thời gian truy xuất hiệu tính tốn khác Giả sử CMP có module L2, cho chúng nối thẳng đến L3, cho chúng nối thành vòng (ring network), nối nút vịng đến L3, nối chúng thành hình (star network), nối đến L3 Qua đó, nhận thấy phân cấp nhớ CMP phức tạp đa dạng nhiều so với chip nhân [?][?] Khi số khả 370 370 Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) phân cấp lớn, có quyền hi vọng số chúng đem lại hiệu tính tốn mong muốn cho B Những thành phần nhớ Cache Cache tập hợp cache line [?] Cache line đơn vị cache, cache line chứa thông tin lưu trữ địa nhớ Tùy theo cách ánh xạ địa nhớ lên cache line mà ta có kiểu cache khác [3] [4] Hình cho ta minh họa trực quan (a) Ánh xạ trực tiếp (b) ánh xạ 2-way (c) Hỗ trợ tồn phần Hình 2: Các kiểu ánh xạ địa từ nhớ vào cache Trong hình 2a, địa nhớ chứa cache line Điều thuận lợi truy xuất cache line chứa địa cần tìm, có, Tuy nhiên, có nhiều địa lưu cache line sử dụng có tối đa địa lưu lại cache, điều làm giảm hiệu cache Để hạn chế điều này, giải pháp đề nghị hình 2c, địa lưu cache line nào, miễn cache line trống Điều thuận lợi lưu trữ lại tốn thời gian khâu tìm kiếm Vì khơng biết địa mà CPU u cầu cầu có cache hay chưa, nên ta phải duyệt tồn cache line để có câu trả lợi Qua đó, ta nhận thấy khả lưu trữ tốc độ truy xuất, lần nữa, lại tỉ lệ nghịch với Một giải pháp vừa đảm bảo tốc độ truy xuất khả lưu trữ minh họa hình 2b Bộ nhớ cache chia làm đơi, đó, địa cache chứa cache line Ở khía cạnh đó, ta nói điều làm tăng sức chứa lên gấp đôi so với trường hợp ánh xạ trực tiếp giảm thời gian nửa so với trường hợp hỗ trợ toàn phần Tổng quát, ta chia cache thành k phần, phần chứa m cache line Khi đó, ta gọi tập hợp m cache line phần way, nói cách khác, có k way Một địa nhớ thuộc vào cache line way bất kỳ, gọi tập hợp khả cache set Do đó, có m cache set, số cache line way Khi muốn kiểm tra xem địa có cache hay chưa, cần tìm set tương ứng Đây cách tổ chức phổ biến hãng lơn Intel hay AMD, k thường nhận giá trị 8, nghĩa tổ chức theo kiểu 4-way 8-way Trong cache tổ chức theo kiểu k-way, kích thước set không nhỏ, không chứa đủ tất liệu cần thiết cho CPU khoảng thời gian xác định Một vấn đề tự nhiên nảy sinh, set chứa đầy liệu cần lưu thêm địa nữa, cần loại bỏ địa Có nhiều chiến lược thay dùng thực tế như: chọn ngẫu nhiên địa để loại ra, dành chỗ cho địa mới; chọn địa có số lần sử dụng để loại ra; First In First Out (FIFO) [?][?]; hay chọn địa sử dụng thời gian gần để loại bỏ (LRU) [?][?] Mỗi chiến lược có ưu điểm riêng, khơng chiến lược tốt toàn diện, theo dự đốn, khơng dám địa vừa loại bỏ có sử dụng tương lai gần hay khơng Tuy nhiên, theo khảo sát chúng tôi, chiến lược LRU sử dụng phổ biến Đặc biệt cache L2, liệu Instr data lưu trữ chung Theo hoạt động vi xử lý CPU đọc Instr vào có xu hướng khơng đọc hay ghi lên địa mà có xu hướng đọc ghi lên địa data Khi địa chứa Instr bị thay cách thích đáng sử dụng chiến lược LRU C Phân loại Cache theo cấu trúc Qua phần II-A, biết cache có nhiều mức khác nhau, mức cao dung lượng lớn tốc độ truy xuất chậm Điều có nghĩa L2 lớn nhiều so với L1, L3 lớn hẳn so với L2 Một câu hỏi tự nhiên đặt là: liệu L2 có chứa L1 hay khơng? Lý gì, làm lợi gì? Như trình bày từ đầu, chúng tơi tập trung vào tìm hiểu nghiên cứu chip xử lý đa nhân, nên phần bỏ qua việc phân tích cấu trúc cache chip nhân Một phân cấp đơn giản cho hình Thơng thường, có mức cache, core có module cache L1 riêng, chia sẻ module L2 Trong trường hợp này, có lựa chọn cho mối quan hệ L1 L2 [?] Cách thứ nhất: L2 bao gồm L1, tất địa có L1 phải có L2 [?] Điều thật hữu ích, L2 chứa L1-A L1-B Khi CPU u cầu L1-A địa mà L1-A khơng có địa L1-B có, L2 khơng chứa hai module L1 khó để L1-A lấy thơng tin mà CPU u cầu Ở đây, L2 chứa 371 371 Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thơng Cơng Nghệ Thơng Tin (ECIT 2015) Hình 3: Hai module cache L1 chia sẻ module L2 L1-B nên chứa liệu mà L1-A cần Tuy thuận lợi cho truy xuất vậy, cách tổ chức có nhược điểm lớn: tốn chi phí lưu trữ Mọi liệu lưu mức cache lưu lại mức cache cao hơn, thật lãng phí lớn kích thước module cache nhỏ Bên cạnh đó, cách làm cần phải đảm bảo ràng buộc để tận dụng ưu mình, dung lượng L2 phải không nhỏ tổng dung lượng module L1 Cách lưu trữ thứ hai khắc phục nhược điểm cách thứ nhất: Tất chứa L1 khơng chứa L2, tương tự cho module cao [?] Cách lưu trữ tận dụng tối đa không gian lưu trữ, tốn chi phí băng thơng chip liệu cần thiết chứa module cache cấp Một cách tổng quan, cách thứ tận dụng tối đa thời gian truy xuất, cách thứ hai tận dụng tối đa không gian lưu trữ, ưu điểm cách làm nhược điểm cách cịn lại Trong thực tế, ngồi hai cách này, người ta cịn có cách thứ ba: liệu có L1 có khơng có L2 [?][?] Tuy khơng có ưu điểm rõ ràng hai cách trên, giải pháp không vướng phải nhược điểm tương ứng địa chứa liệu ghi bị loại để lấy chỗ cho địa ghi vào nhớ [?] Cho dù ghi chép nhiều lần lên địa chỉ, địa lưu cache nên việc ghi liệu chiếm thời gian Vấn đề nảy sinh nhiều chip xử lý ghi, số chip đọc số chip ghi, đó, ta cần đến cache coherency protocol [5], nghĩa cách thức để đảm bảo toàn vẹn thống liệu Chi tiết giao thức không trình bày đây, bạn đọc muốn tìm hiểu tham khảo [6], [7], [8] III MƠ CMP BẰNG MULTI2SIM Multi2Sim (M2S) [?] công cụ linh hoạt để người dùng tìm hiểu CMP M2S phần mềm mã nguồn mở, cho phép người dùng tạo ra, thay đổi can thiệp đến mức sâu CMP Tuy nhiên, khơng trình bày tất M2S cung cấp mà giới hạn phần thiết kế tổ chức nhớ cache M2S thật môi trường bắt đầu tốt cho có ý định tìm hiểu nghiên cứu CMP Chúng ta giả lập CMP đơn giản file INI dạng text Một CMP gồm có nhiều nhân, nhiều cache mức khác nhau, mạng nội nối module lại với nhau, cuối nhớ Tất phần trình bày chi tiết mục A Phần nhân Cấu hình phần nhân phần quan trọng việc giả lập CMP Những cần làm viết dịng cấu hình vào tập tin mem-config Nội dung viết cho bảng I Tham số [Entry ] Type Arch Core Thread ComputerUnit DataModule InstModule Module D Phân loại Cache theo chiến lược ghi Mọi thao tác mà CPU tác động lên nhớ thơng qua nhớ cache với vai trò trung gian Khi CPU muốn ghi vào nhớ chính, liệu ghi tạm lên cache, cache chọn thời điểm tốt để ghi vào nhớ Về bản, có thời điểm cache ghi liệu vào nhớ chính, tương ứng với hai kiểu hoạt động khác [?] Kiểu thứ tốn thời gian, ghi lại nhiều lần an tồn, khơng lo có sai sót: ghi liệu xuống nhớ sau CPU ghi xuống cache Trong trường hợp cần ghi nhiều lần lên địa đó, phương pháp tỏ hiệu tốn băng thông hệ thống kết nối chip Trường hợp thư hai tối ưu hơn, phức tạp hơn: chờ đến PHỎNG Ý nghĩa Tên nhân Loại nhân (CPU hay GPU) Kiến trúc tập lệnh Số thứ tự nhân CMP Số lượng tiểu trình chạy nhân Số thứ tự đơn vị tính toán GPU Nơi nhận lệnh Nơi nhận liệu Đơn vị phục vụ cho GPU Bảng I: Cấu hình cho nhân CMP Những thành phần bắt buộc phải có, khơng thực cấu hình cấu hình mặc định sử dụng Do đó, tập tin INI, cấu hình tham số thật cần thiết phần quan tâm mà không cần bận tâm nhiều hệ thống 372 372 Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) HộiHội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) B Phần nhớ Để cấu hình cho module nhớ, cần hai bước : cấu hình hình dạng cấu hình cho module Trước hết phần cấu hình hình dạng Bảng II cho ta chi tiết cấu hình Cũng cấu hình cho nhân, phần thực tập tin mem-config Tham số [CacheGeometry ] Set Assoc BlockSize Latency Policy MSHR Port Ý nghĩa Tên hình dạng Số lượng set module xét Số lượng Associative, hay số way Kích thước block (line) Độ trễ Chính sách thay Số lượng truy cập cache tối đa thời điểm số lượng cổng Tham số [Network ] DefaultInputBufferSize DefaultOutputBufferSize DefaultBandwidth Ý nghĩa Tên mạng Kích thước vùng nhớ tạm cho việc đọc liệu Kích thước vùng nhớ tạm cho việc ghi liệu Băng thơng Bảng IV: Cấu hình cho mạng Để cấu hình chi tiết cho mạng, can thiệp vào tập tin net-config Tập tin gồm lệnh bảng IV bổ sung thêm tham số bảng V trường hợp mạng phức tạp Bảng II: Cấu hình hình dạng nhớ Phần hình dạng cho phép xác định tham số nhất, chung cho mức cache hay loại module Ví dụ dịng có nội dung "CacheGeometry L1" tham số chung cho tất module CMP Khi đó, module L1 CMP có số set, assoc, kích thước, sách thay Một điều lưu ý tham số Policy nhận ba giá trị: LRU, FIFO Random Sau có tham số chung cho mức nhớ, bảng III cung cấp cho tham số cần thiết để cấu hình hồn chỉnh cho module Tham số Type Geometry LowNetwork LowNetworkNode HighNetwork HighNetworkNode LowModules BlockSize Latency Ports DirectorySize DirectoryAssoc AddressRange net-config chứa nội cung chi tiết cho mạng Bảng IV cung cấp tham số để cấu hình mạng nội tập tin mem-config Ý nghĩa Loại module (cache, nhớ chính) Hình dạng Mạng bên Nút mạng bên Mạng bên Nút mạng bên Các module phía Kích thước block Độ trễ Số lượng cổng Kích thước Directory Số way Directory Khoảng địa lưu module xét Tham số [Network..Node.] Type [Network..Link.] Source Dest Type Ý nghĩa Tên nút Loại nút Tên liên kết Nút nguồn liên kết Nút đích liên kết Loại liên kết (một chiều hay hai chiều) Bảng V: Cấu hình chi tiết cho mạng Như vậy, có tham số cần thiết để cấu hính CMP cho riêng Phần cung cấp cho phương tiện để đánh giá thiết kế CMP có hiệu hay khơng D Đánh giá hiệu thực mô Multi2Sim Để đánh giá hiệu chip nói chung CMP nói riêng, cần chạy thử số chương trình ứng dụng để có kết thực tế Trong nghiên cứu cơng nghiệp, chương trình chun dùng để kiểm tra hiệu chip gọi benchmark Có nhiều benchmark khác nhau, phù hợp với mục đích khác Chúng tơi chọn benchmark Splash-2 để kiểm tra hiệu thiết kế CMP M2S Splash-2 gói benchmark gồm 11 benchmark khác Tất chúng tập tin thực thi nhằm giải vấn đề kinh điển lý thuyết tính tốn song song như: N-Body, LU, Cholesky Factorization [1][?] Bảng III: Cấu hình module nhớ C Phần mạng nội Mạng nội mạng nối module mức cache hay mức cache với Để cấu hình mạng, làm việc hai tập tin: memconfig chứa thông tin mạng tâp tin IV THỬ NGHIỆM MULTI2SIM VÀO THIẾT KẾ CMP A Thiết kế Trước tiên, cần sơ đồ cấu trúc cho CMP Một thiết kế đề nghị hình 373 373 Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) HộiHội Thảo Quốc Gia 2015 Điện Tử, Truyền Thơng Cơng Nghệ Thơng Tin (ECIT 2015) Hình 7: Cấu hình cho module L2 Các module nhớ cấu hình tương tự hình Phần địa sử dụng phương pháp xen kẽ với kích thước khoảng xen kẽ 64 bytes, với dung lượng blocksize nhớ Hình 4: Thiết kế CMP CMP mà chúng tơi đề nghị có nhân, tương ứng với module data-L1 ký hiệu d0 đến d7 module inst-L1 ký hiệu i0 đến i7 Mỗi nhóm gồm cặp module L1 data - inst chia sẻ module L2 Bên canh đó, nhớ chia thành phần (4 banks) phương pháp xen kẽ (interleave) Những phần liên kết với module L2 mạng nội dạng vòng B Cấu hình Trước tiên, cấu hình phần hình dạng cho mức cache, chi tiết hình Hình 5: Cấu hình phần hình dạng cho mức cache Hình cho cấu hình cặp module L1 data L1 inst Bảy cặp cịn lại cấu hính hồn tốn tương tự Hình 6: Cấu hình cho module L1 Trong hình 7, module L2 cấu hình với dung lượng lớn nhiều so với module L1 Hình 8: Cấu hình cho module nhớ Đến đây, phần cấu hình cho module hồn tất Tiếp theo phần cấu hình cho nhân Việc cấu hình nhân tương tự nên trình bày cấu hình cho nhân hình Cuối cùng, phần cấu hình cho mạng nội trình bày hình 10 Cấu hình mạng phải hoàn tất nhiều chi tiết nhỏ nút mạng liên kết, khn khổ báo có giới hạn nên chúng tơi trình bày tiêu 374 374 Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thơng Tin (ECIT 2015) Hình 11: Sự biến thiên MissRatio thay đổi dung lượng cache Hình 9: Cấu hình cho nhân cache Đầu tiên, xem xét HitRatio trung bình cache L1, ứng với nhân CMP biểu số phần (a) Tổng quan mạng (b) Cấu hình nút (c) cấu hình liên kết Hình 10: Cấu hình cho mạng nội Hình 12: HitRatio mức L1 cache tương ứng với nhân chip CMP C Chạy mô thống kê kết Đầu tiên, chúng tơi muốn tìm mức dung lượng L1, L2 tối ưu cho Splash-2 Hình 11 cho ta thấy thống kê tỷ lệ cache miss L1 theo thay đổi theo dung lượng cache L1 L2 Dễ hiểu dung lượng cache L1 tăng lên tỷ lệ miss L1 giảm Trục hồnh dung lượng cache L1/L2 tương ứng là: 8K/64K, 16K/128K, 32K/256K, 64K/512K, 128K/1024K, 256K/2048K Từ kết hình 11, thấy dung lượng L1 tăng lên đến 64K tỷ lệ cache miss khơng giảm mà đạt tới mức bão hoà Điều chứng tỏ ứng dụng Splash-2 có khơng gian địa làm việc nằm tầm 64 KB Do bước mô tiếp theo, chọn sử dụng dung lượng cache L1 64 KB Tiếp theo, chạy mô nhiều lần cho tất 11 chương trình benchmark Splash-2 với thiết kế trình bày phần trước Ứng với chương trình, cho nhân chạy, nhân chạy tiểu trình giải phần toán Với mục tiêu xem xét hiệu phân cấp nhớ, quan tâm đến thông số HitRatio MissRatio, tỉ lệ truy xuất liệu thành công thất bại nhớ Một cách trực quan, hình 13 cho nhận thấy HitRatio cache Inst, hay cache chứa lệnh, cao hẳn so với cache liệu Điều lý giải sau: kiến trúc X86, lệnh có đối số, chủ yếu lệnh có đối số Do đó, số lượng lệnh chương trình nhiều, có phân nửa số lượng địa liệu Điều dẫn đến cache liệu nhanh đầy hơn, số địa bị loại nhiều dẫn đến nhân phải truy xuất xuống nhớ để lấy liệu địa tương lai cần Tiếp theo, xem xét MissRatio mức cache theo chương trình khác Những chương trình khác chứa lệnh liệu khác nhau, đó, kết khác chương trình Chúng ta xem hình 13 để thấy khác biệt Trong nhiều trường hợp, quan sát dễ dàng MissRatio L2 cao nhất, L1-Inst thấp Benchmark thứ - Raytrace ngoại lệ MissRatio L1 cao Lý chương trình Raytrace làm việc kích thước liệu lớn có mức độ rời rạc cao so với chương trình khác Splash-2 Cache L2 có tỉ lệ MissRatio cao 375 375 Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) D Thảo luận kết Phần IV-C trình bày kết cách trực quan, thảo luận chi tiết kết Tính tốn cụ thể cho ta kết bảng VI Cache L1-Inst L1-Data L1-Average L2 Hình 13: MissRatio mức cache chạy 11 benchmark Splash-2 điều dễ hiểu L1 nơi chứa lệnh liệu phổ biến nhất, lưu L2 có mức độ phổ biến thấp nên khả tái truy xuất thấp hơn, từ dẫn đến MissRatio tăng Để phân tích cân Splash-2 việc sử dụng nguồn lực chip, chúng tơi thực thí nghiệm hình 14 15 Hai hình thể tương ứng phần trăm yêu cầu đọc ghi từ nhân chip Kết hình cho thấy tác vụ thực thi phân chia cách cân nhân xử lý Riêng nhân xử lý số ln có tỷ lệ truy xuất nhớ cao nhân mặc định nhân chủ, ngồi việc thực hiên riêng tác vụ phân, nhân thực việc quản lý tồn chương trình HitRatio 98.5 % 90.8 % 94.7 % 86.6 % Bảng VI: HitRatio mức cache Từ bảng VI, dễ dàng tính tỉ lệ truy xuất thất bại mức cache 0.7%, nghĩa cache hỗ trợ CMP việc truy xuất nhớ 99.3% trường hợp Đây thật số ấn tượng V KẾT LUẬN Nghiên cứu trình bày có kết hợp thực nghiệm việc thiết kế vi xử lý đa nhân sử dụng Multi2Sim Chúng sử dụng benchmark chuẩn Splash-2 để đánh giá thiết kế CMP từ đánh giá số đặc tính Splash-2 dung lượng tối ưu cache L1 L2 để thực thi Splash-2, phân chia tác vụ Splash-2 lên nhân hệ thống Kết cho thấy phân bố tác vụ Splash-2 lên nhân hệ thống hệ thống tối ưu hiệu suất dung lượng cache L1 64 KB VI CÁM ƠN Nghiên cứu tài trợ phần kinh phí từ đề tài cấp nhà nước theo hợp đồng số 01/2011/HDKHCN/ICDREC TÀI LIỆU Hình 14: Phân bố lệnh Read theo nhân CMP Hình 15: Phân bố lệnh Write theo nhân CMP [1] IBM Research Laboratoty “64-Bit CPUs: Alpha, SPARC, MIPS, and POWER,” PC Magazine February 21, 2002 [2] Sandeep Shukla et al "A Brief History of Multiprocessors and EDA" Design and Test of Computer Vol 28, issue 03, pp: 96 May/June 2011 [3] W Wolf, “The future of multiprocessor systems-on-chips” Proc 41st Annu Des Autom Conf pp 681–685 2004 [4] D E Culler, J P Singh, and A Gupta Parallel Computer Architecture: A Hardware/Software Approach San Francisco, CA: Morgan Kaufmann 1999 [5] Nathan Blinker et al The Gem5 Simulator ACM SIGARCH Computer Architecture News, 2011 [6] Rafael Ubal and David Kaeli et al “The Multi2Sim Simulation Framework: A CPU-GPU Model for Heterogeneous Computing” The 20st International Conference on Parallel Architectures and Compilation Techniques (PACT) 2011 [7] Doug Burger and Todd M Austin "The SimpleScalar Tool Set, Version 2.0" University of Wisconsin-Madison Computer Sciences Department Technical Report No 1342 June, 1997 376 376 Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) [8] Christian Bienia, Sanjeev Kumar, Jaswidner Pal Singh and Kai Li "The PARSEC Benchmark Suite: Characterization and Architectural Implications" Technical Report TR-811-08, Princeton University January 2008 [9] Major Bhadauria, Vince Weaver and Sally A McKee "A Characterization of the PARSEC Benchmark Suite for CMP Design" Technical Report CSL-TR-2008-1052, Cornell University September 2008 [10] Barrow-Williams, Nick, Christian Fensch, and Simon Moore "A communication characterisation of Splash-2 and Parsec." Workload Characterization, 2009 IISWC 2009 IEEE International Symposium on IEEE, 2009 [11] Steven Cameron Woo et al "The SPLASH-2 Programs: Characterization and Methodological Considerations" Proceedings of the 22nd Annual International Symposium on Computer Architecture June 1995 [12] Maurice V Wilkes "Moore’S law and the future" Technical report 2002 [13] Clements, Alan "Principles of Computer Hardware" Oxford University press 2006 [14] Toy, Wing and Zee, Benjamin "Computer Hardware/Software Architecture" Prentice Hall 1986 [15] Hennessy, John and David A Patterson "Patterson, David Computer Architecture: A Quantitative Approach (Fifth ed.)" Elsevier publishing house 2012 [16] Rajeev Balasubramonian et al "Memory Hierarchy Reconfiguration for Energy and Performance in General Purpose Processor Architectures" Proceeding MICRO 33 Proceedings of the 33rd annual ACM/IEEE international symposium on Microarchitecture Pages 245-257 2000 [17] Harvey G Cragon "Memory systems and pipelined processors, Chapter 4.1: Cache Addressing, Virtual or Real" 1996 [18] Nader Khammassi and Jean-Christophe Le Lannn "Design and implimentation of a cache hierachy aware task scheduling for parallel loops on multicore architectures" Computer Science and Information Technology, pp 427-439 2014 [19] Fang Zheng, Chitra Venkatramani, Rohit Wagle and Karsten Schwan "Cache Topology Aware Mapping of Stream Processing Applications onto CMPs" IEEE 33rd International Conference on Distributed Computing Systems 2013 [20] Sukumar Ghosh "Cache memory" Lecture notes in Computer Organization course 2015 [21] Mark D.Hill and Alan Jay Smith "Evaluating Associativity in CPU Caches" IEEE Transactions on Computers Vol 38 1989 [22] Paul Genua "A Cache Primer" Freescale Secmiconductor 2004 [23] Sangyeun Cho and Lory Al Moakar "Augmented FIFO cache replacement policies for low power embedded processor" Journal of Circuits, Systems, and Computers, Vol 18, No 6, pp 1081–1092 2009 [24] Nan Guan, Xinping Yang, Mingsong Lv and Wang Yi "FIFO Cache Analysis for WCET Estimation: A Quantitative Approach" Proc of DATE 2013 [25] O’Neil, Elizabeth J O’Neil, Patrick E Weikum, Gerhard "The LRU-K Page Replacement Algorithm for Database Disk Buffering" Proceedings of the ACM SIGMOD International Conference on Management of Data, pp 297–306 1993 [26] Nimrod Megiddo and Dharmendra S Modha "Outperforming LRU with an Adaptive Replacement Cache Algorithm" Computer journal Published by the IEEE Computer Society 2004 [27] Natalie Enright and Dana Vantrease "To Include or Not To Include: The CMP Cache Coherency Question" Final report CS838 [28] Aamer Jaleel, Eric Borch, Malini Bhandaru, Simon C Steely Jr, and Joel Emer "Achieving Non-Inclusive Cache Performance With Inclusive Caches Temporal Locality Aware (TLA) Cache Management Policies" In International Symposium on Microarchitecture (MICRO), Atlanta, Georgia December 2010 [29] Ying Zheng, Brian T Davis and Matthew Jordan "Performance Evaluation of Exclusive Cache Hierarchies" Performance Analysis of Systems and Software, IEEE International Symposium on - ISPASS 2004 [30] Norman P Jouppi "Cache Write Policies and Performance" Proc 20th International Symposium on Computer Architecture (ACM Computer Architecture News), pp 191-201 1993 [31] Gernot Heiser "Cache write policy" Lecture notes in Advanced Operating Systems course UNSW 2002 [32] Daniel J Sorin, Mark D Hill, David A Wood "A Primer on Memory Consistency and Cache Coherence" Morgan Claypool Publishers 2011 [33] Hesham Altwaijry, Diyab S Alzahrani "Improved-MOESI Cache Coherence Protocol" Arabian Journal for Science and Engineering, Volume 39, Issue 4, pp 2739-2748 2014 [34] F J JIMÉNEZ et al "Teaching the cache memory coherence with the MESI protocol simulator" Spain [35] K Hwang and Z Xu "Scalable Parallel Computing: Technology, Architecture, Programming" McGraw-Hill, New York 1998 377 377 ... thật số ấn tượng V KẾT LUẬN Nghiên cứu trình bày có kết hợp thực nghiệm việc thiết kế vi xử lý đa nhân sử dụng Multi2Sim Chúng sử dụng benchmark chuẩn Splash-2 để đánh giá thiết kế CMP từ đánh giá... việc thiết kế CMP, từ khâu hình thành ý tưởng, triển khai, cấu hình, chạy mơ khâu thống kê đánh giá Cuối cùng, phần V nhận định đánh giá Multi2Sim việc nghiên cứu thiết kế chip vi xử lý đa nhân. .. L1 hay khơng? Lý gì, làm lợi gì? Như trình bày từ đầu, chúng tơi tập trung vào tìm hiểu nghiên cứu chip xử lý đa nhân, nên phần chúng tơi bỏ qua việc phân tích cấu trúc cache chip nhân Một phân

Ngày đăng: 27/04/2022, 10:18

HÌNH ẢNH LIÊN QUAN

Hình 1: Phân cấp bộ nhớ - Nghiên cứu và thiết kế chip xử lý đa nhân sử dụng Multi2Sim
Hình 1 Phân cấp bộ nhớ (Trang 2)
Trong hình 2a, mỗi địa chỉ trong bộ nhớ chỉ có thể được chứa trong duy nhất một cache line - Nghiên cứu và thiết kế chip xử lý đa nhân sử dụng Multi2Sim
rong hình 2a, mỗi địa chỉ trong bộ nhớ chỉ có thể được chứa trong duy nhất một cache line (Trang 3)
Hình 3: Hai module cache L1 cùng chia sẻ một module L2 - Nghiên cứu và thiết kế chip xử lý đa nhân sử dụng Multi2Sim
Hình 3 Hai module cache L1 cùng chia sẻ một module L2 (Trang 4)
Cấu hình phần nhân là một phần quan trọng trong việc giả lập một CMP. Những gì chúng ta cần làm là viết các dòng cấu hình vào tập tin mem-config - Nghiên cứu và thiết kế chip xử lý đa nhân sử dụng Multi2Sim
u hình phần nhân là một phần quan trọng trong việc giả lập một CMP. Những gì chúng ta cần làm là viết các dòng cấu hình vào tập tin mem-config (Trang 4)
Hình 13: MissRatio ở các mức cache khi chạy 11 benchmark trong Splash-2 - Nghiên cứu và thiết kế chip xử lý đa nhân sử dụng Multi2Sim
Hình 13 MissRatio ở các mức cache khi chạy 11 benchmark trong Splash-2 (Trang 8)
Hình 15: Phân bố lệnh Write theo các nhân của CMP - Nghiên cứu và thiết kế chip xử lý đa nhân sử dụng Multi2Sim
Hình 15 Phân bố lệnh Write theo các nhân của CMP (Trang 8)
Hình 14: Phân bố lệnh Read theo các nhân của CMP - Nghiên cứu và thiết kế chip xử lý đa nhân sử dụng Multi2Sim
Hình 14 Phân bố lệnh Read theo các nhân của CMP (Trang 8)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w