Lõi Qaud đơn luồng so với Lõi kép siêu phân luồng [trùng lặp]


10

Giả sử chúng ta có hai CPU, Một là Quad Core 3.2 Ghz với 4 lõi và Chúng ta có Dual Core 3.2 Ghz với 2 lõi với 2 luồng trong mỗi lõi (Siêu phân luồng). Giả định của tôi là một lập trình viên, 4 lõi 4 luồng sẽ thực hiện nhanh hơn 2 lõi 4 luồng vì CPU thứ hai cần chuyển đổi giữa các luồng để mô phỏng 4 lõi trong khi lõi thứ nhất không cần thực hiện chuyển đổi như vậy mỗi lõi cốt lõi có thể thực hiện độc lập và cá nhân.

Tôi muốn xác nhận rằng giả định của tôi là đúng, nếu không xin vui lòng giải thích tại sao cái này tốt hơn cái kia.


3
Downvote vì một tìm kiếm Google ngắn (Wikipedia) sẽ đưa ra câu trả lời.
Werner Henze

4
@WernerHenze trong khi những gì bạn nói là đúng, chúng tôi muốn mọi người thấy kết quả của SuperUser khi họ Google những thứ như vậy :)
Shekhar

Câu trả lời:


10

Tôi tin điều đó là đúng - vì siêu phân luồng có chung một số yếu tố - cụ thể là các tài nguyên thực thi chính, bạn sẽ có thể chạy 4 luồng đầy đủ cùng một lúc, thay vì chờ các tài nguyên đó được giải phóng.

Quan điểm của HT là để có hiệu năng tốt hơn với diện tích sử dụng nhỏ hơn - lõi tứ của bạn thường sẽ là chip lớn hơn - lớn gấp đôi, so với chip lõi kép không HT, trong khi chip lõi kép HT sẽ có Lớn hơn 5%. Lõi Quad có thể thấy tốc độ gấp đôi tốc độ dưới tải công việc phù hợp (tuy nhiên, rất có thể vì bạn có thể sẽ không chạy hết 4 luồng trong hầu hết các trường hợp), trong khi bộ xử lý HT lõi kép sẽ thấy tốt hơn 15-30% hiệu suất ( theo wikipedia ) hơn bộ xử lý lõi kép không HT.

Nhiều lõi thực tế thường tốt hơn.


1
Bộ xử lý HT sẽ thấy 15-30% ... Họ khóa ở đây. HT không phải là sự thay thế cho lõi thứ hai thực sự (hoặc 2, hoặc 4, v.v.)
Austin T French

1
Nhiều CPU hơn, với nhiều lõi hơn, với siêu phân luồng sẽ còn tốt hơn nữa ...: D
Keltari

Điều quan trọng cần lưu ý là lý do lớn nhất để cải thiện hiệu suất với HT là CPU hiếm khi được tải đầy đủ; đó là một luồng sẽ hiếm khi xử lý dữ liệu với mỗi chu kỳ CPU. HT cho phép CPU lên lịch một luồng thứ hai trong các chu kỳ không sử dụng. Để chuyển đổi giữa facebook và e-mail, điều này có thể rất hiệu quả, nhưng mỗi luồng càng nhiều CPU thì tốc độ cải thiện hiệu năng sẽ càng thấp.
Thomas

1

Từ Wikipedia :

Siêu phân luồng hoạt động bằng cách sao chép một số phần nhất định của bộ xử lý, những phần lưu trữ trạng thái kiến ​​trúc, nhưng không sao chép các tài nguyên thực thi chính. Điều này cho phép bộ xử lý siêu phân luồng xuất hiện dưới dạng bộ xử lý "vật lý" thông thường và bộ xử lý "logic" bổ sung cho hệ điều hành máy chủ (hệ điều hành không biết HTT nhìn thấy hai bộ xử lý "vật lý"), cho phép hệ điều hành lên lịch hai luồng hoặc xử lý đồng thời và phù hợp. Khi tài nguyên thực thi sẽ không được sử dụng bởi tác vụ hiện tại trong bộ xử lý mà không siêu phân luồng và đặc biệt là khi bộ xử lý bị đình trệ, bộ xử lý được trang bị siêu phân luồng có thể sử dụng các tài nguyên thực thi đó để thực thi một tác vụ theo lịch trình khác. (Bộ xử lý có thể bị đình trệ do lỗi bộ nhớ cache, hiểu sai chi nhánh,

Nếu bạn có một hệ thống lõi tứ, thì 4 luồng có thể chạy mỗi luồng trên một lõi đầy đủ. Nếu bạn có một hệ thống siêu phân luồng lõi kép, thì 2 luồng có thể chạy mỗi luồng trên một lõi đầy đủ, nhưng với 4 luồng, các luồng 1 và 2 sẽ chia sẻ một lõi và các luồng 3 và 4 sẽ chia sẻ lõi khác. Siêu phân luồng cho phép hai luồng chạy song song (chỉ) nếu chúng không sử dụng cùng một tài nguyên bộ xử lý. Vì vậy, trong trường hợp lý tưởng, bạn có thể nhận được mức độ song song cao, nhưng như Wikipedia tuyên bố mức tăng hiệu suất không phải là 100%, mà chỉ là 15-30%.


1

Trong siêu phân luồng, thời gian nhàn rỗi của lõi cho taskA (lõi đã nói có thể đã gửi yêu cầu tới đĩa để lấy dữ liệu, đợi đĩa tìm kiếm khu vực của đĩa, đọc dữ liệu và gửi lại vào lõi ) được khai thác để thực hiện một nhiệm vụ khác. Vì vậy, khi taskB đang được phục vụ bởi cái gọi là luồng 2 và nếu yêu cầu tìm nạp dữ liệu bởi taskA được hoàn thành, taskA vẫn phải chờ lõi hoàn thành luồng 2. Cả hai luồng có thể được thực thi đồng thời trong một lõi. Một lần nữa, HT khai thác sự không phù hợp về tốc độ giữa lõi / bộ xử lý và các hệ thống con khác nhau trong máy tính của bạn. HT sử dụng lõi của bạn để hết công suất ... nó giống như việc sử dụng hết công suất. Vì vậy, nếu bạn mở bốn tab trong trình duyệt của mình, mỗi tab sẽ có một lõi trong hệ thống 4 lõi và hai tab sẽ phải chia sẻ một lõi trong hệ thống 2 lõ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.