Các CPU đa lõi vẫn phải chịu lợi nhuận giảm dần trong thế giới ngày nay?


8

Nó đã được chỉ ra trong các câu hỏi khác là do trạng thái của các ứng dụng máy tính, bộ xử lý đa lõi phải chịu lợi nhuận giảm dần. Đây có còn là trường hợp trong thế giới ngày nay?

Có phải hầu hết các ứng dụng mới đều sử dụng đa luồng, và do đó tận dụng lợi thế của việc có nhiều lõi? Nếu không, hệ điều hành 64 bit mới hơn có tận dụng lợi thế của các lõi bằng cách gán các tác vụ / quy trình cho các lõi khác nhau không? Hay các bộ xử lý đa lõi vẫn tiếp tục phải chịu mức lợi nhuận giảm dần (hoặc tương tự)?

Vui lòng sao lưu mọi khiếu nại với tài liệu tham khảo.


2
Việc sử dụng hệ điều hành x64 sẽ không có gì khác biệt khi bạn có một chương trình có nhiều luồng. Sự khác biệt về cảnh quan của trình biên dịch giữa năm 2008 và 2012 là rất lớn. Cho đến khi có một cách dễ dàng để thực hiện một hành động trên nhiều luồng, việc có một CPU có khả năng thực hiện nhiều luồng cùng một lúc, là vô nghĩa. Ngay cả ngày nay nó vẫn không đủ dễ dàng để làm điều đó.
Ramhound

Câu trả lời:


7

Nó phụ thuộc rất nhiều vào những gì bạn làm.

Đối với Word và Excel và Minesweeper thông thường và bất cứ điều gì khác mà mẹ bạn sử dụng, một lõi vẫn là đủ và hơn hai là quá mức cần thiết. Các loại ứng dụng này dành phần lớn thời gian rảnh rỗi, chờ người dùng nhập liệu.

Để chơi game, bạn sẽ được hưởng lợi từ ít nhất hai. Sau đó, nó phụ thuộc vào trò chơi. Về mặt lý thuyết bạn có thể chạy từng đối thủ AI trên một luồng riêng biệt, nhưng logic trò chơi trung tâm không thể dễ dàng song song - bạn cần một nơi mà tất cả các kết quả được đặt cùng nhau để tạo thành trạng thái trò chơi mạch lạc. Vì vậy, thường có một chủ đề "chính" mà mọi người chờ đợi.

Đối với đa phương tiện, số thực khủng hoảng, và khoa học mỗi cốt lõi đều có giá trị. Đây là những nhiệm vụ vốn đã đa luồng hoặc có thể dễ dàng thực hiện và các nhà phát triển có động lực mạnh mẽ để tận dụng tất cả sức mạnh xử lý có sẵn.

Người dùng quyền lực thích đa nhiệm. Torrent, VirtualBox, chụp màn hình, video, minecraft và duyệt web đều chạy cùng một lúc. Vì vậy, bạn sẽ được hưởng lợi từ mỗi ứng dụng đói CPU có lõi riêng. Ngày nay, việc phổ biến trò chơi của bạn là phổ biến. Vì vậy, đó là hai lõi cho trò chơi, ít nhất một lõi cho luồng mã hóa và ít nhất một lõi cho phần còn lại của hệ thống. Đó là ít nhất 4 lõi.


1
Nhìn chung, AI trò chơi tốt khó hơn nhiều so với việc điều hòa nhiều hành động. Đó chỉ là sự bổ sung lạ mắt. Thứ hai, bạn cho rằng các trò chơi có một trạng thái trò chơi trung tâm duy nhất. Điều đó cũng không hẳn đúng. Ngay cả nếu có, đó cũng không hẳn là rào cản đối với luồng. Ví dụ, tính toán vật lý thường được thực hiện song song. Và cuối cùng, các trò chơi cũng có một phần kết xuất đồ họa lớn, điều này cũng dẫn đến việc phân luồng.
MSalters

Tôi nghi ngờ một lõi đơn luôn là lựa chọn đúng đắn (chỉ cần đưa một công thức thực sự chậm vào Excel ...) và tôi nghĩ rằng bạn đang đơn giản hóa quá mức một chút. Ví dụ, tính năng Turbo Core (AMD) / Turbo Boost (Intel) trên các bộ xử lý mới hơn thì sao? Nó cho phép AMD lõi sáu của tôi đỗ một nửa lõi và chạy nửa còn lại với tốc độ xung nhịp nhanh hơn - và phiên bản của Intel thậm chí còn tinh xảo hơn, vì vậy, bộ xử lý có thể tối ưu hóa lại một cách nhanh chóng cho công việc cần thiết nó Điều đó làm cho họ một sự lựa chọn tốt hơn? Vấn đề chỉ có thể được giải quyết chính xác bằng các phép đo và điểm chuẩn trong thế giới thực.
DMA57361

Tôi hoàn toàn đồng ý với @ DMA57361 Một vài năm trước, Bác tôi đã mua một số máy tính AMD lõi đơn cho trẻ em trước tuổi vị thành niên của mình. Các quy trình nền (Windows Update là kẻ phạm tội nghiêm trọng nhất) thường khiến chúng hầu như không sử dụng được trong vài phút bằng cách tối đa hóa CPU.
Dan đang loay hoay bởi Firelight 26/07 '

Đừng quên siêu phân luồng. Các bộ xử lý Intel tiên tiến hơn có thể mô phỏng lõi bộ xử lý bổ sung bằng cách cung cấp thêm một bộ thanh ghi trong mỗi lõi và cho phép các luồng sử dụng các phần khác nhau của mỗi lõi bộ xử lý cùng một lúc để tăng thêm hiệu năng đa nhiệm.
bwDraco

Kết xuất 3D là một thứ khác cho thấy một lợi thế lớn. Nếu bạn là một họa sĩ hoạt hình hoặc thiết kế đồ họa và làm rất nhiều màn hình; tất cả các phần mềm cấp độ chuyên nghiệp đều có lợi thế để tận dụng mọi lõi mà máy của bạn cung cấp (và hơn thế nữa trong trường hợp các cụm được nối mạng). Hiệu suất sẽ mở rộng tuyến tính với số lượng lõi.
Jason C

5

Tôi sợ câu trả lời vẫn còn, vì nó luôn như vậy, "nó phụ thuộc vào những gì bạn đang làm".

Có, có lợi nhuận giảm dần từ việc thêm ngày càng nhiều lõi và sẽ luôn có nếu bạn chỉ chạy một ứng dụng duy nhất tại một thời điểm .

Ngay cả trong một ứng dụng đa luồng được thực hiện tốt, nhiều tác vụ được xử lý được thực hiện để chờ các thành phần chậm nhất trong máy - ổ cứng, mạng - mà không ảnh hưởng đến hiệu suất rõ ràng cho người dùng. Chúng không thể được cải thiện bằng cách song song hóa lớn hơn vì vậy bất kỳ giới hạn tăng tốc lý thuyết nào đều không thể truy cập được cho các mục đích thực tế.

Điều đáng chú ý là có một số ứng dụng "lớn" không đa luồng (chỉ cần kiểm tra Trình quản lý tác vụ tương đương của hệ điều hành của bạn, nó có thể cho bạn biết có bao nhiêu thuộc về mỗi quy trình - ví dụ Firefox của tôi đang sử dụng 31 ).

Tất nhiên, việc chạy nhiều ứng dụng không phụ thuộc lẫn nhau không bị hạn chế bởi các giới hạn này. Khi bạn thêm nhiều lõi hơn, bạn có thể chạy nhiều ứng dụng đồng thời với hiệu suất xử lý ít hơn (tuy nhiên, hiệu suất ổ cứng, mạng, v.v. không có quy mô như vậy). Trong thực tế, ngay cả điều này cũng phải chịu lợi nhuận giảm dần vì có một chi phí không thể tránh khỏi để quản lý phân phối công việc giữa các lõi, đường ống truyền thông, v.v.

Ví dụ, này của Tom Hardware đường bưu điện (từ năm 2009) cố gắng nhìn vào hiệu suất của một vài bộ xử lý đa lõi dưới ứng dụng đồng thời - chạy một trò chơi cùng bên một AVG quét (cả hai đều là lẽ đa luồng). Tất cả các bộ xử lý lõi tứ, ba và lõi kép đều hoạt động tương tự chỉ với trò chơi, nhưng thêm quét AVG đồng thời và hiệu suất (được đo bằng FPS trung bình) giảm lần lượt 22%, 40% và 59%.

Vì vậy, trong khi một lõi tứ cung cấp không tăng hiệu năng so với lõi kép khi chạy một ứng dụng chuyên sâu, ngay khi một nhiệm vụ chuyên sâu khác xuất hiện, nó đã kết thúc gấp đôi hiệu năng. Thật không may, tôi không thể tìm thấy nhiều thứ khác điều tra quy mô này tốt như thế nào với nhiều lõi hơn và các nhiệm vụ chuyên sâu hơn.


Và sau đó, bạn phải lưu ý các tính năng hiện đại của bộ vi xử lý như Turbo Boost / AMD's Turbo Core. Các tính năng đặc biệt này cho phép bộ xử lý đa lõi có lõi (đặt chúng ở chế độ chậm hơn, công suất thấp) và sử dụng năng lượng dự phòng để ép xung các lõi vẫn hoạt động - cho phép bộ xử lý tự tối ưu hóa để cung cấp nhiều năng lượng xử lý càng tốt cho số lượng nhiệm vụ được trình bày.


2

Để thêm dầu vào lửa, tôi đọc ở đây rằng Android thực sự bị chậm lại do có nhiều hơn một lõi:

Mike Bell, tổng giám đốc nhóm di động và truyền thông của Intel, cho biết việc sử dụng bộ xử lý đa lõi thực sự có thể khiến các thiết bị Android chậm hơn, cho rằng khả năng xử lý hiệu quả các CPU mạnh mẽ của Android là khó khăn.

Thiết bị càng có nhiều lõi thì càng cần nhiều năng lượng - và, trong thời điểm hiện tại, lượng điện năng đó đơn giản là quá nhiều để các thiết bị Android cân bằng.


Hmm, sẽ không chỉnh sửa điều này thành câu hỏi ban đầu của bạn hoạt động tốt hơn?
Journeyman Geek

Tôi nghĩ rằng toàn bộ chủ đề này sẽ được chuyển đổi thành wiki / FAQ cộng đồng và nghĩ rằng tốt nhất nên để lại câu hỏi như vậy và thêm riêng vấn đề này. @Moderators - câu trả lời này nên được hợp nhất với câu hỏi hay còn lại?
rishimaharaj

0

Tất nhiên, nó phụ thuộc vào những gì bạn đang làm, nhưng vâng, có lợi nhuận giảm dần.

Các ứng dụng đơn giản, hàng ngày như xử lý văn bản hoặc duyệt Web có lợi rất ít khi có nhiều hơn hai lõi xử lý. Các ứng dụng máy tính và chơi game khoa học có xu hướng sử dụng tốt hơn bốn (hoặc nhiều) lõi và / hoặc khả năng siêu phân luồng vì chúng có xu hướng được thiết kế để tận dụng tối đa phần cứng hiện đại, nhưng lợi ích của hơn bốn lõi bị hạn chế.

Ngoài ra, không phải tất cả mọi thứ là ràng buộc tính toán. Thêm lõi xử lý sẽ không giúp ích nếu khối lượng công việc của bạn bị ràng buộc I / O. Nếu bạn đã từng cài đặt ổ SSD để thay thế ổ cứng cơ học, có lẽ bạn sẽ biết rằng hiệu suất tính toán hàng ngày bị hạn chế thường xuyên hơn không phải bởi bộ nhớ của máy tính. Trong môi trường máy chủ bận rộn, nơi sử dụng số lượng lớn lõi để cho phép hệ thống xử lý đồng thời số lượng lớn người dùng và yêu cầu, mảng đĩa chuyên dụng, SSD và các hệ thống lưu trữ khác được sử dụng để đảm bảo hiệu suất tối đa khi tải.

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.