PMU Intel có thể được sử dụng để đo lường sử dụng băng thông bộ nhớ đọc/ghi trên mỗi lõi? Ở đây "bộ nhớ" có nghĩa là DRAM (nghĩa là, không đánh vào bất kỳ cấp độ bộ nhớ cache nào).Bộ đếm giám sát hiệu suất Intel có thể được sử dụng để đo băng thông bộ nhớ không?
Trả lời
Có, điều này là có thể, mặc dù nó không nhất thiết phải đơn giản như lập trình các bộ đếm PMU thông thường.
Một cách tiếp cận là sử dụng bộ đếm bộ điều khiển bộ nhớ khả trình được truy cập qua không gian PCI. Một nơi tốt để bắt đầu là kiểm tra việc triển khai của chính Intel trong pcm-memory
tại pcm-memory.cpp. Ứng dụng này cho bạn thấy thông lượng bộ điều khiển trên mỗi socket hoặc bộ nhớ mỗi bộ nhớ, phù hợp cho một số ứng dụng. Đặc biệt, băng thông được chia sẻ giữa tất cả các lõi, vì vậy trên một máy yên tĩnh, bạn có thể giả định hầu hết băng thông được kết hợp với quá trình đang thử nghiệm, hoặc nếu bạn muốn theo dõi ở cấp độ ổ cắm, nó chính xác như bạn muốn.
Cách thay thế khác là sử dụng lập trình cẩn thận của các bộ đếm "bù lại offcore". Những điều này, theo như tôi biết, liên quan đến lưu lượng truy cập giữa L2 (bộ nhớ cache lõi riêng cuối cùng) và phần còn lại của hệ thống. Bạn có thể lọc theo kết quả của phản hồi offcore, vì vậy bạn có thể sử dụng kết hợp các sự kiện "L3 miss" khác nhau và nhân với kích thước dòng bộ nhớ cache để nhận băng thông đọc và ghi. Các sự kiện khá tinh vi, vì vậy bạn có thể tiếp tục phá vỡ nó xuống bởi những gì gây ra sự truy cập ở nơi đầu tiên: tìm nạp lệnh, yêu cầu dữ liệu, tìm nạp trước, v.v.
Các quầy phản hồi offcore thường tụt lại phía sau hỗ trợ bởi các công cụ như perf
và likwid
nhưng ít nhất các phiên bản gần đây dường như có hỗ trợ hợp lý, ngay cả đối với các bộ phận khách hàng như SKL.
Tôi không chắc về PMU của Intel, nhưng tôi nghĩ bạn có thể sử dụng Bộ khuếch đại Intel VTune (https://software.intel.com/en-us/intel-vtune-amplifier-xe). Điều này có rất nhiều công cụ để giám sát hiệu suất (bộ nhớ, bộ nhớ cache CPU, CPU). Có lẽ điều này sẽ làm việc cho bạn.
Có (ish), gián tiếp. Bạn có thể sử dụng mối quan hệ giữa các quầy (bao gồm cả tem thời gian) để suy ra các số khác. Ví dụ, nếu bạn lấy mẫu một khoảng thời gian 1 giây, và có N lần cuối cùng (3) bộ nhớ cache bỏ lỡ, bạn có thể khá tự tin bạn đang chiếm N * CacheLineSize byte mỗi giây.
Nó được một chút stickier để liên hệ nó một cách chính xác để hoạt động chương trình, như những người bỏ lỡ có thể phản ánh CPU tìm nạp trước, hoạt động ngắt vv
Ngoài ra còn có một bãi lầy của 'cpu này sẽ không được tính (MMX, SSE, AVX, ..) trừ khi bit cấu hình này ở trạng thái này '; do đó việc cuộn của bạn là cồng kềnh ....
- 1. Đo và giám sát Node.JS hiệu suất máy chủ
- 2. Hiệu suất của Bộ đếm hiệu suất
- 3. Giám sát việc sử dụng bộ nhớ của Spark Jobs
- 4. Bộ đếm hiệu suất trên iPhone
- 5. Redis - giám sát việc sử dụng bộ nhớ
- 6. Làm cách nào để đo mức sử dụng băng thông bộ nhớ trên Windows?
- 7. Giám sát/số liệu hiệu suất trong ứng dụng .NET
- 8. tương đương cho bộ đếm hiệu suất Win32 trên Linux
- 9. Giám sát hiệu suất mạng cho một quy trình cụ thể
- 10. Giám sát hiệu suất cho ASP.NET MVC2?
- 11. Đa xử lý Python - Cách giám sát việc sử dụng bộ nhớ?
- 12. Giám sát các tệp ánh xạ bộ nhớ trong Windows
- 13. Cách đúng để giám sát việc sử dụng bộ nhớ ứng dụng là gì?
- 14. Bộ đếm hiệu suất chính xác để nhận CPU và sử dụng bộ nhớ của một quy trình là gì?
- 15. Các yêu cầu Python/urllib - Giám sát băng thông sử dụng
- 16. Giám sát hiệu suất liên tục của các ứng dụng .NET trong sản xuất?
- 17. Làm thế nào để giám sát việc sử dụng bộ nhớ trên Heroku (Node.js)
- 18. Làm cách nào để sử dụng bộ lọc để đo lường hiệu suất?
- 19. Bộ đếm hiệu suất và luồng
- 20. Bộ đếm hiệu suất CLR .NET thiếu
- 21. Giám sát bộ nhớ ứng dụng ASP.NET từ trong ứng dụng
- 22. Sử dụng valgrind để đo bộ nhớ cache bị thiếu
- 23. Làm thế nào để giám sát bộ nhớ đệm UDP Linux có sẵn?
- 24. Ứng dụng bị từ chối, bộ đếm giờ giám sát hoặc mất quyền truy cập
- 25. Sử dụng VS2010 Profiler để đo lường bộ nhớ
- 26. Tôi có thể tạo một chuỗi bộ đếm thời gian của bộ giám sát phần mềm trong C++ bằng cách sử dụng Boost Signals2 và Threads?
- 27. Thuật toán bộ công suất hiệu quả bộ nhớ
- 28. Bộ đếm hiệu suất - Tỷ lệ mỗi phút?
- 29. Làm cách nào để xóa bộ đếm hiệu suất
- 30. Tôi có thể thực hiện giám sát số lượng mẫu bằng cách sử dụng TVirtualMethodInterceptor không?
VTune là công cụ để sử dụng bộ đếm hiệu năng phần cứng (ví dụ: PMU = đơn vị giám sát hiệu suất). Trừ khi bạn có thể giải thích * làm thế nào * để có được VTune để đo băng thông bộ nhớ, đây không phải là một câu trả lời hữu ích. (VTune là một công cụ hữu ích, và có thể giúp tìm các điểm nóng cache-miss và những thứ như thế, và dường như vượt xa chỉ đơn giản là ghi lại bộ đếm perf. Nhưng đó không phải là câu hỏi này đang hỏi.) –