Bộ đệm L3 có được chia sẻ bởi tất cả các lõi cho CPU Xeon Sandy-Bridge không?


9

Trong một câu hỏi liên quan Tôi đã hỏi về lợi ích của hệ thống CPU kép về việc nhân đôi bộ đệm L3.

Tuy nhiên, tôi đã nhận thấy rằng loạt CPU Xeon E5-2600 có chính xác Bộ nhớ cache L3 2,5 MB mỗi lõi .

Điều này khiến tôi tin rằng hệ điều hành dự trữ 2,5 MB bộ đệm L3 cho mỗi lõi. Tuy nhiên, tôi cũng có ấn tượng mâu thuẫn rằng bộ đệm L3 là chia sẻ trong số tất cả các lõi. Có rất ít thông tin hoặc thảo luận về điều này.

Mối quan tâm lớn của tôi là liệu các ứng dụng nền ưu tiên thấp có thể "hog" bộ đệm L3 và làm chậm hiệu suất cho các ứng dụng nền trước có mức độ ưu tiên cao hơn hay không. Hai vấn đề hiệu suất cụ thể mà tôi có động lực câu hỏi này.

  1. Việc biên dịch một chương trình C ++ nhất định cần 25 phút trên hệ thống phát triển hiện tại của tôi trong VS 2008, trong khi trên một hệ thống khác, nó nhanh hơn rất nhiều, chỉ cần 5 phút trên VS 2008 với các cài đặt giống hệt nhau - mặc dù thực tế là tôi có i7 cao cấp CPU 970 và RAM đủ.

  2. Các chương trình thường mất tối đa 20 giây để chạy (tức là hiển thị cửa sổ chính của chúng) trên hệ thống của tôi; và trên một lưu ý liên quan, trình bao Windows cần tới 10 giây để hiển thị menu ngữ cảnh Windows Explorer (và các hành vi liên quan cũng mất nhiều thời gian), mặc dù tôi đã cố gắng hạn chế các mục trình đơn ngữ cảnh (hiện có thể có thêm 10 mục mặc định).

Hệ thống của tôi chắc chắn được tải với một số lượng lớn các ứng dụng mà tôi đã cài đặt (và gỡ cài đặt) trong nhiều năm qua, nhưng tôi vẫn cố gắng hết sức để hợp lý hóa hệ thống.

Tôi cũng có nhiều ứng dụng nền ưu tiên thấp đang chạy; đặc biệt là phần mềm sao lưu đám mây dự phòng như CrashPlan, thường bổ sung để sử dụng khoảng 25% tổng mức sử dụng CPU trên hệ thống 12 luồng 6 lõi này.

Tôi sẽ nhận được một máy tính mới. Tôi biết rằng tôi sẽ tiếp tục chạy nhiều ứng dụng nền và cài đặt / gỡ cài đặt nhiều chương trình. Nếu tôi nghĩ rằng việc có được một hệ thống CPU kép nhân đôi không chỉ các lõi mà cả bộ đệm L3 sẽ hỗ trợ khắc phục hiệu năng của trình biên dịch C ++ khủng khiếp và hệ thống nói chung chậm lại, tôi sẽ sẵn lòng làm điều đó.

Ở đó Nên không có lý do tại sao một hệ thống cao cấp hoạt động rất chậm, ngay cả với nhiều chương trình và ứng dụng nền. Nhưng nếu sự cố của tôi xảy ra cho dù tôi cung cấp cho hệ thống bao nhiêu năng lượng CPU và bộ đệm L3, đơn giản vì tôi có quá nhiều chương trình và ứng dụng nền được cài đặt và chạy, tôi không muốn lãng phí thêm $ 2,500 cho CPU kép hệ thống sẽ không giúp giải quyết vấn đề của tôi.

Bất kỳ đề xuất nào, đặc biệt liên quan đến câu hỏi của tôi về việc liệu bộ đệm L3 có được chia sẻ giữa tất cả các lõi hay không (như các ứng dụng nền có mức độ ưu tiên thấp có thể hiểu được đang lưu trữ bộ đệm L3, làm chậm các chương trình ưu tiên cao hơn), hoặc thay vào đó nếu nó được gắn với từng cá nhân lõi, sẽ được đánh giá cao.


Câu hỏi hay mà cá nhân tôi không có câu trả lời hay ngoại trừ việc nói rằng tôi cũng bị ấn tượng bởi L3 đã được chia sẻ. Tôi chỉ hỏi tại sao bạn gọi những chiếc 'Xeons' thế hệ thứ hai này khi 'Xeon' là một sản phẩm của Intel trong một thập kỷ nay. (Nếu điều này tương tự với các chip Sandy Bridge i3 / 5/7 là 'thế hệ thứ 2' thì đó là một sự tương tự tồi)
Shinrai

Intel gọi dòng CPU i7-2600 là "thế hệ thứ 2" ( ark.intel.com/products/f Family / 59136 / ). Theo "Xeon thế hệ 2", ý tôi là việc phát hành CPU kiến ​​trúc Xeon Sandy-Bridge E vào ngày 6 tháng 3 năm 2012 ( vi.wikipedia.org/wiki/ ).
Dan Nissenbaum

1
Đó là sự tương tự tôi nghĩ bạn đang thực hiện. Đó là một cái xấu (đó là những chiếc i7 thế hệ 2 nhưng đây không phải là Xeons thế hệ thứ 2) và tôi đã thay đổi tiêu đề IMO ... Tôi đã hy vọng tìm thấy một câu hỏi về bộ xử lý 12 tuổi và điều đó có thể giữ được nhiều người từ bấm vào đây. Có thể thay đổi 'thế hệ thứ 2' thành 'Sandy Bridge-E'.
Shinrai

Câu trả lời:


10

Trên các CPU này, mỗi lõi vật lý có bộ đệm L2 riêng. Bộ đệm L3 được chia sẻ bởi tất cả các lõi và được bao gồm - nghĩa là, mọi dữ liệu nằm trong bộ đệm L2 của bất kỳ lõi nào cũng nằm trong bộ đệm L3.

Mặc dù điều này có vẻ lãng phí không gian L3, nhưng nó thực sự làm cho L3 trở nên vô giá để tăng tốc các hoạt động bộ nhớ giữa các lõi. Mục đích chính của bộ đệm L3 là hoạt động như một tổng đài và khu vực tổ chức cho các lõi. Ví dụ, nếu một lõi muốn biết liệu một vùng bộ nhớ có thể được lưu trữ bởi lõi khác hay không, nó có thể kiểm tra bộ đệm L3. Nếu thông tin được xử lý bởi một lõi và tiếp theo cần được xử lý bởi lõi khác, họ sẽ xử lý thông qua bộ đệm L3 thay vì bộ nhớ ngoài chip chậm hơn. Ngoài ra, tác động hiệu suất của nó không nhiều ngoại trừ các thuật toán bất thường - bộ đệm L2 đủ lớn cho những thứ nhỏ và bộ đệm L3 quá nhỏ cho những thứ lớn.

Vì vậy, trong khi mỗi lõi có bộ đệm L2 256KB riêng và 256KB được lưu trữ hiệu quả trong bộ đệm L3, thì số dư được chia sẻ bởi tất cả các lõi. Hoạt động ít quan trọng hơn trong các lõi khác có thể gây hại cho hiệu suất của một nhiệm vụ quan trọng hơn có lợi từ việc sử dụng không gian L3. Nhưng vì những lý do tôi đã đề cập, nhìn chung nó không có tác dụng đáng kể trong thực tế và nói chung không đáng lo ngại về việc tối ưu hóa các hoạt động "dữ liệu hàng loạt" (như nén và quét) để giảm thiểu ô nhiễm bộ đệm. (Ví dụ: sử dụng các hoạt động phi thời gian.)


0

Theo hiểu biết của tôi, tất cả các cấp bộ nhớ cache được triển khai trực tiếp trên chip và L2 và L3 là một trong cùng một (chỉ Intel mới nhận ra sự khác biệt, AMD kết hợp chúng.). Với suy nghĩ này, tôi sẽ tưởng tượng rằng bộ đệm L3 trên CPU không được chia sẻ giữa các CPU trên bo mạch chủ ổ cắm kép. Điều này cũng có ý nghĩa rằng hãy nhớ rằng sẽ thấy các kênh bộ nhớ riêng biệt cho RAM trên mỗi CPU.

Ai đó sửa tôi nếu tôi sai.


L2 và L3 hoàn toàn không giống nhau. Trên các thiết kế gần đây của Intel, L1 / L2 là lõi và nhỏ (32k L1 I $ & amp; D $ / 256k thống nhất L2), trong khi L3 được bao gồm và chia sẻ bởi GPU và tất cả các lõi. L1 / L2 là riêng biệt về mặt vật lý, nhưng loại phục vụ các mục đích tương tự (nghĩa là làm cho bộ nhớ truy cập nhanh cho một lõi). L3 bao gồm có một mục đích khác: sự gắn kết giữa các lõi (và GPU). Xem câu trả lời của @ DavidSchwartz.
Peter Cordes
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.