Yêu cầu năng lượng CPU đa lõi và cân bằng tải


10

Tôi quan tâm đến việc cân bằng tải cho các hệ thống CPU đa lõi. Nếu bạn sử dụng 1 CPU với nhiều lõi, việc cân bằng tải trên một số lõi có hiệu quả về năng lượng hơn không, hoặc cố gắng lấp đầy các lõi đơn và để các lõi khác không hoạt động.
Giả định cơ bản là khối lượng công việc được thực hiện trong cả hai trường hợp là hoàn toàn giống nhau, trong cùng một thời điểm. Vì vậy, có hiệu quả hơn không khi sử dụng 4 lõi trong cùng một CPU với tải 25% mỗi lõi hoặc 1 lõi với tải 100%.
Tôi cho rằng 1 lõi với tải 100% sẽ hiệu quả hơn, nhưng vì tôi có thể sai, tôi đang tìm kiếm câu trả lời nghiêm túc về vấn đề này (không cần đoán).


+1 Câu hỏi thực sự thú vị! Dưới đây là một số liên kết tomshardware.com/reviews/truth-pc-power-conscharge,1707.html tomshardware.com/reviews/intel-cpu-power-conscharge,1750.html tuy nhiên họ không thực sự giải quyết câu hỏi của bạn. Tôi có C2D T8100 và một trong những ngày này tôi sẽ thực hiện một số thử nghiệm để xem loại tải nào tạo ra nhiều nhiệt hơn.
AndrejaKo

4 lõi ở mức 25% chắc chắn sẽ lan tỏa nhiệt tốt hơn 1 lõi ở mức 100%.
Brian Knoblauch

Nếu khối lượng công việc không đổi trong các trường hợp sử dụng, việc chồng chất tất cả tải lên cùng một lõi sẽ khiến nó hoạt động thấp hơn - thực sự tốn nhiều thời gian và đập hơn. Bạn có thể mất khả năng tiết kiệm năng lượng tức thời khi cùng một công việc đòi hỏi thời gian dài hơn để hoàn thành. (+1, câu hỏi kích thích tư duy)
nik

@Brian đồng ý rằng việc sử dụng nhiều lõi hơn sẽ tỏa nhiệt ra ngoài, nhưng liệu nó có tạo ra cùng một lượng nhiệt không?
Kevin Panko

AMD đã công bố các CPU có thể giảm sức mạnh cho các lõi không sử dụng, cho phép chạy các lõi hoạt động ở tốc độ xung nhịp cao hơn
b0fh

Câu trả lời:


6

IMO câu hỏi này chỉ đơn giản là không thể trả lời trong trường hợp chung.

Trên bàn làm việc của tôi, tôi có một trong số các CPU kích hoạt TurboBoost 6 nhân Core i7-980x mới này. Nếu bạn tải lên một lõi đơn trên máy này, nó sẽ tăng tốc độ xung nhịp của lõi đó, do đó làm tăng mức tiêu thụ năng lượng của CPU, do đó sẽ tạo ra sự khác biệt rất lớn. CPU này cũng như các CPU khác, hiện đại hơn có thể khử một phần lõi không hoạt động, tăng khả năng tiết kiệm điện. Điều đó không đúng với các mẫu CPU cũ.

Hãy nhớ rằng công việc mà bạn phải làm với một lõi sẽ nhất thiết phải khác với công việc bạn làm với nhiều lõi. Nếu đó là trường hợp bạn có thể trải tải ra nhiều lõi, bạn sẽ thấy rằng sẽ có nhiều thời gian thêm cho lõi đơn thực hiện các chuyển đổi ngữ cảnh đắt tiền và hiệu suất của bạn sẽ bị ảnh hưởng.

Dù sao, vấn đề có quá nhiều biến để thực sự trả lời. Người ta có thể tiếp tục về các loại tải khác nhau và bất kỳ ai cố gắng đo điểm chuẩn để nhận được câu trả lời sẽ kết thúc (có thể vô tình) thực hiện so sánh táo với cam không áp dụng trong các trường hợp sử dụng khác.

Oh, và một điều nữa. Hầu hết mọi người có thể sẽ trích dẫn hiệu quả về sức mạnh . Bạn không muốn rơi vào cái bẫy đó. Vì thời gian xử lý tải sẽ nhất thiết phải khác nhau tùy thuộc vào cách cân bằng tải, bạn phải tích hợp kết quả theo thời gian để tìm ra lượng năng lượng ròng được sử dụng để hoàn thành công việc để đạt được kết quả đáng tin cậy.


LOL Làm thế nào bạn có thể nói? Kỹ sư Hokie, em yêu!
David Markle

Mất một để biết một. Đi Mizzou
hotei

Đợi đã. Tôi đã sai. Có một người đàn ông có thể chạy một số điểm chuẩn và cho chúng tôi câu trả lời trong trường hợp chung: gizmodo.com/5598885/ Kẻ
David Markle

4

Tôi đã thực hiện một số thử nghiệm ngày hôm nay bằng cách sử dụng máy tính này (Intel C2D T8100) và sử dụng các ứng dụng SETI @ Home được tối ưu hóa từ trình cài đặt lunatics 0.36. Tôi đã sử dụng M $ Joulmeter để tính toán mức tiêu thụ điện năng. Tôi đo thời gian tiêu thụ cây. Đầu tiên, tôi để BOINC lấy 100% lõi và 100% thời gian CPU và để nó chạy trong một giờ. Bộ xử lý đã tiêu thụ 20W và đồ thị thời gian CPU từ trình quản lý tác vụ không thay đổi 100%. Công suất tiêu thụ trung bình của máy tính của tôi là 45,05W và đang tăng và tại thời điểm tôi dừng kiểm tra mức tiêu thụ điện là 46,18W.

Trong thử nghiệm thứ hai, tôi đặt BOINC lấy 50% số lõi khả dụng và 100% thời gian CPU và để nó chạy trong một giờ. Tiêu thụ năng lượng CPU khác nhau giữa 12W và 13W. Tiêu thụ trung bình là 42,72W và tăng. Hiện tại tôi đã dừng thử nghiệm, mức tiêu thụ là 44W. Để làm cho biểu đồ thời gian của CPU cho lõi được nhắm mục tiêu là đường thẳng, tôi đặt mối quan hệ của chương trình thành một lõi và mức độ ưu tiên cao. Biểu đồ cho lõi khác cho thấy phần nào cao hơn thời gian sử dụng CPU bình thường.

Đối với thử nghiệm thứ ba, tôi đặt BOINC sử dụng 100% số lõi khả dụng và 50% thời gian của CPU. Tiêu thụ điện năng khác nhau trong các bước nhảy lớn giữa 5W và 17W. Tiêu thụ điện năng trung bình sau một giờ thử nghiệm là 39,96W và giảm. Đồ thị thời gian CPU looled như thế nào /\/\/\/\/\/\/\/\/\/\/\/\/\. Gai được mong đợi vì kích thước của các đơn vị thời gian được sử dụng bởi BOINC.

Vì vậy, tôi tin rằng sẽ hiệu quả hơn khi sử dụng hai lõi chạy ở mức tải một nửa so với chạy một lõi khi đầy tải.

Và vâng, tôi biết rằng để có một nghiên cứu thích hợp cần nhiều mẫu hơn, nhưng tại thời điểm đó tôi không có đủ máy tính hoặc thời gian để thống kê đúng.


1
Bây giờ thật tuyệt khi tìm thấy một tương đương với Joulemeter cho các hệ điều hành khác, sau đó tôi có thể thử nghiệm một số thiết bị tôi có ...
private_meta

Đây là một cái gì đó cho máy tính xách tay GNU / Linux thinkwiki.org/wiki/How_to_measure_power_conscharge
AndrejaKo

Dưới đây là một liên kết thú vị: www.lesswatts.org/ và một số khác susegeek.com/general/... và một số khác publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/... Rõ ràng mọi người đều không tin rằng đọc ACPI và đang thuyết phục rằng các đồng hồ bên ngoài là cần thiết, vì vậy rất ít trong số các liên kết đó thảo luận về cách sử dụng các đồng hồ bên ngoài. Tôi không đủ 1337 với các hệ điều hành khác để có thể cung cấp bất kỳ trợ giúp nào.
AndrejaKo

Cảm ơn. Vấn đề với các đồng hồ bên ngoài là chúng đo tất cả mức tiêu thụ năng lượng, không chỉ năng lượng xử lý. Mặc dù tiêu thụ toàn bộ năng lượng cũng rất quan trọng (ví dụ: thuật toán sử dụng rộng rãi ổ đĩa cứng). Nếu các bài đọc ACPI dường như không đáng tin cậy, Bạn cũng phải sử dụng các bài đọc bên ngoài cho Máy tính Windows để có thể so sánh chúng: - /
private_meta

Nhưng vẫn đọc ACPI tốt hơn không đọc, phải không? Ngoài ra, bằng cách sử dụng các bài kiểm tra ảnh hưởng đến CPU nhiều nhất, chúng ta có thể thiết lập mức tiêu thụ năng lượng cơ bản và xem mức tăng của nó khi tải. Bằng cách này, chúng ta có thể biết rằng hầu hết các thay đổi tiêu thụ là từ tải CPU. Tôi có thể làm một số thử nghiệm sau với một vôn kế và ampe kế. Thật thú vị khi xem các phép đo ACPI và các phép đo dụng cụ thực sự so sánh như thế nào. Quá xấu so sánh như vậy không thể được khái quát.
AndrejaKo

0

Câu trả lời cho câu hỏi của bạn có hai mặt: Nếu bạn đang chạy mã song song, có khả năng vector hóa cao, thì việc cân bằng tải trên nhiều lõi luôn hiệu quả hơn. Các lõi sẽ chạy ở mức tải thấp hơn giải phóng ít nhiệt hơn so với lõi đơn được đẩy đến giới hạn của nó. Mặt khác, nếu mã của bạn không thể song song, thì việc chạy nó trên nhiều lõi sẽ kém hiệu quả hơn do số lần bỏ lỡ bộ đệm sẽ xảy ra do phụ thuộc vào mã. Điều này vẫn có thể tạo ra ít nhiệt hơn, nhưng chắc chắn sẽ mất nhiều thời gian hơn để hoàn thành nhiệm vụ của bạn so với việc chạy nó trên một lõi đơn.


1
Nhưng nếu bạn có mã không song song, làm thế nào bạn sẽ chạy trên nhiều lõi?
AndrejaKo

Theo ý kiến ​​của bạn, 4 lõi được kết hợp với 25% cùng nhau tạo ra ít nhiệt hơn (và tạo ra sự mất năng lượng nhiều hơn) so với 1 lõi được đẩy lên 100%.
private_meta

@AndrejaKo Nếu có nhiều tiến trình hoặc luồng, thật dễ dàng để trải rộng chúng ra khắp các lõi.
xuất hiện vào

0

Câu hỏi của bạn khi được hỏi có quá nhiều điều chưa biết. Bạn đang hỏi về hiệu quả thời gian hoặc hiệu quả năng lượng? Mã không song song hay mã song song? Công việc đơn hoặc trung bình đa tác vụ? Nếu bạn có hóa đơn năng lượng trên 1000 đô la / tháng cho máy tính của mình thì MIGHT đáng để bạn lo lắng hoặc hai. Nếu không, bạn không thể tiết kiệm đủ để giải quyết vấn đề. Thú vị để nói về - nhưng nếu bạn gặp vấn đề nghiêm trọng, câu trả lời tốt nhất là: thử một số thứ khác nhau và xem những gì hoạt động.

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.