Trong điều kiện của sản phẩm thương mại, hai phương pháp phổ biến để cung cấp mộtbộ vi xử lý nhiều hệ thống để hỗ trợ ứng dụng là mini và cụm. Đối với một sốnăm, một cách tiếp cận, được gọi là nonuniform bộ nhớ truy cập (NUMA), đãđối tượng của nghiên cứu và sản phẩm NUMA thương mại đang có sẵn.Trước khi tiếp tục, chúng ta nên định nghĩa một số thuật ngữ thường được tìm thấy trong NUMAvăn học.• Đồng bộ nhớ truy cập (UMA): bộ vi xử lý tất cả có thể truy cập đến tất cả các bộ phận củabằng cách sử dụng bộ nhớ chính tải và mua sắm. Thời điểm truy cập bộ nhớ một bộ xử lýđể tất cả các vùng bộ nhớ là giống nhau.Thời gian truy cập có kinh nghiệm bởi khác nhaubộ vi xử lý là như nhau. Tổ chức SMP thảo luận trong phần 17.2 và17.3 là UMA.• Nonuniform bộ nhớ truy cập (NUMA): bộ vi xử lý tất cả có thể truy cập đến tất cả các bộ phậnbằng cách sử dụng bộ nhớ chính tải và mua sắm. Thời điểm truy cập bộ nhớ một bộ xử lý khác nhau tùy theo vùng bộ nhớ chính truy cập. Cuối cùngphát biểu là đúng cho tất cả các bộ vi xử lý; Tuy nhiên, cho bộ vi xử lý khác nhau, màCác vùng bộ nhớ chậm hơn và nhanh hơn mà khác nhau.• Bộ nhớ cache mạch lạc NUMA (CC-NUMA): A NUMA hệ thống trong đó bộ nhớ cache tính mạch lạc được duy trì trong số các lưu trữ của các bộ vi xử lý khác nhau.Một hệ thống NUMA mà không có bộ nhớ cache tính mạch lạc là nhiều hay ít tương đương với một cụm.Các sản phẩm thương mại đã nhận được nhiều sự chú ý gần đây là CC-NUMAHệ thống, mà là khá khác biệt từ mini và cụm. Thông thường, nhưng tiếc là không phải luôn luôn, Hệ thống như vậy là trong thực tế, được nhắc đến trong các tài liệu thương mại nhưCC-NUMA hệ thống. Phần này là có liên quan chỉ với CC-NUMA hệ thống.Động lựcVới một hệ thống SMP, đó là một giới hạn thực tế để số lượng các bộ vi xử lý có thểđược sử dụng. Một sơ đồ bộ nhớ cache hiệu quả làm giảm lưu lượng xe buýt giữa bất kỳ một trong những bộ vi xử lý và bộ nhớ chính.Khi số lượng các bộ vi xử lý tăng, giao thông xe buýt này cũng tăng. Ngoài ra, xe buýt được sử dụng để trao đổi tín hiệu bộ nhớ cache-tính mạch lạc, tiếp tục thêm vàogánh nặng. Tại một số điểm, xe buýt trở thành một nút cổ chai hiệu suất. Sự xuống cấp hiệu suất có vẻ như để hạn chế số lượng bộ xử lý trong một cấu hình SMPBỘ NHỚ 17.6 / NONUNIFORM TRUY CẬP 661đến một nơi nào đó giữa bộ vi xử lý 16 và 64. Ví dụ, Silicon Graphics' điệnThách thức SMP là giới hạn 64 R10000 bộ xử lý trong một hệ thống duy nhất; ngoài nàysố hiệu suất làm giảm đáng kể.Giới hạn bộ xử lý trong một SMP là một trong những động lực lái xe đằng sau sự phát triển của cụm sao hệ thống. Tuy nhiên, với một cụm, mỗi nút có riêng của riêng của nóbộ nhớ chính; ứng dụng không nhìn thấy một bộ nhớ lớn toàn cầu. Trong thực tế, sự liên lạc làduy trì trong phần mềm chứ không phải là phần cứng.Độ chi tiết bộ nhớ này ảnh hưởng đến hiệu suất, và để đạt được hiệu suất tối đa, phần mềm phải được phù hợp với môi trường này. Một cách tiếp cận để đạt được quy mô lớn đa trong khi giữ lại cáchương vị của SMP là NUMA. Ví dụ, Hệ thống Silicon Graphics nguồn gốc NUMA làđược thiết kế để hỗ trợ tối đa 1024 bộ xử lý MIPS R10000 [WHIT97] và SequentNUMA-Q hệ thống được thiết kế để hỗ trợ lên đến 252 bộ xử lý Pentium II [LOVE96].Mục tiêu với NUMA là để duy trì một minh bạch hệ thống rộng bộ nhớtrong khi cho phép nhiều sự nút, mỗi với xe buýt riêng của mình hoặc khácnội bộ dây tín hiệu hệ thống.Tổ chứcHình 17.13 mô tả một tổ chức CC-NUMA điển hình. Có rất nhiều các nút độc lập, mỗi trong số đó là, trên thực tế, một tổ chức SMP. Vì vậy, mỗi nút có đa bộ xử lý, mỗi với L1 và L2 riêng lưu trữ, cộng với bộ nhớ chính.Nút là các khối xây dựng cơ bản của tổ chức CC-NUMA tổng thể. ChoVí dụ, mỗi nút Silicon Graphics nguồn gốc bao gồm hai MIPS R10000 bộ vi xử lý;mỗi nút Sequent NUMA-Q bao gồm bốn bộ vi xử lý Pentium II. Các nútnối liền với nhau bằng phương tiện của một số cơ sở truyền thông, có thể là một cơ chế tự động bật, một vòng, hoặc một số cơ sở mạng khác.Mỗi nút trong hệ thống CC-NUMA bao gồm một số bộ nhớ chính. Từ cácđiểm của xem của bộ vi xử lý, Tuy nhiên, chỉ là một bộ nhớ địa chỉ duy nhất,với mỗi địa điểm có một địa chỉ rộng hệ thống duy nhất. Khi bắt đầu một bộ xử lýbộ nhớ truy cập, nếu không phải là vị trí bộ nhớ được yêu cầu trong đó một bộ vi xử lý bộ nhớ cache,sau đó bộ nhớ cache L2 bắt đầu một hoạt động tìm nạp. Nếu bạn muốn dòng là ở phần địa phươngbộ nhớ chính, dòng được lấy trên xe buýt địa phương. Nếu bạn muốn dòng trong mộttừ xa phần của bộ nhớ chính, sau đó một yêu cầu tự động được gửi để lấydòng trên toàn bộ mạng kết nối, cung cấp cho xe buýt địa phương, và sau đócung cấp cho bộ nhớ cache yêu cầu trên cái xe. Tất cả hoạt động này là tự động vàminh bạch với bộ vi xử lý và bộ nhớ cache của nó.Trong cấu hình này, bộ nhớ cache tính mạch lạc là một chủ đề Trung tâm. Mặc dù việc triển khai khác nhau như để biết chi tiết, nói chung điều khoản, chúng tôi có thể nói rằng mỗi nút phảiduy trì một số loại thư mục cung cấp cho nó một dấu hiệu của vị trí khác nhauphần của bộ nhớ và cũng có thể thông tin trạng thái bộ nhớ cache. Để xem như thế nào chương trình nàycông trình, chúng tôi đưa ra một ví dụ Lấy từ [PFIS98]. Giả sử rằng bộ xử lý 3 vào nút2 (P2-3) yêu cầu một vị trí bộ nhớ 798, là trong bộ nhớ của nút 1. Theo trình tự sau xảy ra:1. P2-3 vấn đề một yêu cầu đọc trên xe buýt snoopy của nút 2 cho vị trí 798.2. trong thư mục vào nút 2 thấy yêu cầu và nhận ra rằng vị trí là trongnút 1.
đang được dịch, vui lòng đợi..
