Cách giải quyết 20 năm tuổi của Linux vẫn đang làm chậm hệ thống AMD

Mặc dù AMD đã tiến bộ đáng kể kể từ năm 2002, ít nhất là trong một lĩnh vực có thể gây ra độ trễ, nhân Linux vẫn đối xử với các Threadripper hiện đại như các hệ thống thời Athlon

Gần đây, kỹ sư Prateek Nayak của AMD đã gửi một bản vá cho các trình điều khiển nhàn rỗi của bộ xử lý Linux sẽ "bỏ qua sự chờ đợi giả tạo đối với các bộ xử lý dựa trên vi kiến ​​trúc Zen". " Vào năm 2002, Andy Grover và Linus Torvalds đã thêm hỗ trợ ACPI, trong đó bao gồm một "op. "Trong những ngày đầu triển khai ACPI, khi một số chipset không chuyển sang trạng thái nghỉ như người ta mong đợi, hệ thống về cơ bản đọc dữ liệu không có mục đích nào khác ngoài việc trì hoãn lệnh tiếp theo cho đến khi CPU có thể dừng hoàn toàn với STPCLK#

Thử nghiệm với khối lượng công việc lấy mẫu dựa trên hướng dẫn [IBS] cho thấy "một lượng thời gian đáng kể được dành cho hoạt động giả, được tính không chính xác là nơi cư trú của C-State", điều mà Nayak tuyên bố ít nhất đang làm tổn hại đến các chip AMD dựa trên Zen. . CPU có thể đi vào Trạng thái C sâu hơn, chậm hơn do tất cả công việc giả với nỗ lực thấp này, kéo dài thời gian để CPU "thức dậy", đặc biệt là đối với các tác vụ thường xuyên chuyển đổi giữa trạng thái bận và không hoạt động

Quảng cáo

Trên hệ thống Zen3 ổ cắm kép, Nayak đã chạy thử nghiệm trong tbench đối với nhân Linux gốc, một nhân có trạng thái C2 bị vô hiệu hóa hoàn toàn và một nhân với thao tác chờ giả đã được vá lỗi. Phiên bản vá lỗi của anh ấy đã tăng 1.390 phần trăm thông lượng MB/giây tối thiểu và tăng 51 phần trăm MB/giây trung bình so với nhân gốc, thường chỉ kém một chút so với việc C2 bị vô hiệu hóa hoàn toàn

Theo blog Phoix, các hệ thống của Intel ít bị lời nguyền kế thừa của AMD hơn vì họ đã sử dụng hệ thống dựa trên MWAIT trong ít nhất mười năm. Điều này đã khiến Dave Hansen từ Intel gửi một bản vá khẩn cấp. Giải pháp của ông là chỉ áp dụng "chờ đợi giả" cho các hệ thống Intel, nơi nó sẽ không ảnh hưởng đến "các hệ thống Intel hiện đại từ xa" và thêm phần giải thích cho các trình điều khiển nhàn rỗi trong nhân. Anh ấy cũng kêu gọi độc giả "xem xét chuyển hệ thống của bạn sang" sau khi đọc các bình luận

Có khả năng là Linux 6. 0, mà Torvalds dự đoán sẽ giao hàng vào tuần tới, sẽ bao gồm bất kỳ bản vá khẩn cấp nào loại bỏ hoặc hạn chế "chờ đợi giả" được gửi trong tuần này

AMD đã đi một chặng đường dài kể từ năm 2002, nhưng nhân Linux vẫn đối xử với các Threadrippers hiện đại như các hệ thống thời Athlon—ít nhất là ở một khía cạnh có khả năng gây ra độ trễ

Kỹ sư Prateek Nayak của AMD gần đây đã gửi một bản vá cho các trình điều khiển không hoạt động của bộ xử lý Linux, bản vá này sẽ "bỏ qua thời gian chờ đợi giả tạo đối với các bộ xử lý dựa trên vi kiến ​​trúc Zen. " Khi hỗ trợ ACPI được thêm vào nhân Linux vào năm 2002—do Andy Grover viết, Linus Torvalds cam kết—nó bao gồm một "op. " Về cơ bản, hệ thống đọc dữ liệu không có mục đích nào khác ngoài việc trì hoãn lệnh tiếp theo cho đến khi CPU có thể dừng hoàn toàn bằng lệnh STPCLK#. Điều này cho phép tiết kiệm năng lượng và tương thích trong những ngày đầu triển khai ACPI khi một số chipset không chuyển sang trạng thái không hoạt động như mong đợi.

Nhưng các chip AMD dựa trên Zen ngày nay không cần giải pháp thay thế này và, như Nayak viết, nó đang làm hại chúng, ít nhất là trong các khối lượng công việc cụ thể trên Linux. Thử nghiệm với khối lượng công việc lấy mẫu dựa trên hướng dẫn [IBS] cho thấy rằng "một lượng thời gian đáng kể được dành cho hoạt động giả, được tính không chính xác là nơi cư trú ở Bang C. " CPU, nhận thấy tất cả công việc giả tốn ít nỗ lực này, có thể đẩy vào Trạng thái C sâu hơn, chậm hơn, sau đó khiến CPU mất nhiều thời gian hơn để "đánh thức", đặc biệt là đối với các công việc yêu cầu chuyển đổi nhiều giữa trạng thái bận và không hoạt động

Quảng cáo

Nayak đã chạy thử nghiệm trong tbench trên hệ thống Zen3 ổ cắm kép dựa trên nhân Linux cơ bản, một nhân có trạng thái C2 bị vô hiệu hóa hoàn toàn và một nhân có thao tác chờ giả đã được vá. Phiên bản vá lỗi của anh ấy đã tăng 1.390 phần trăm thông lượng MB/giây tối thiểu và tăng 51 phần trăm MB/giây trung bình so với nhân cơ sở, thường chỉ chậm hơn một chút so với việc tắt hoàn toàn C2

Các hệ thống của Intel đã tránh được lời nguyền di sản của AMD, vì họ sử dụng hệ thống dựa trên MWAIT trong ít nhất một thập kỷ, theo blog Phoronix. Điều đó dẫn đến một bản vá khẩn cấp do Dave Hansen của Intel gửi. Giải pháp của anh ấy là hạn chế "chờ đợi giả" đối với các hệ thống Intel, nơi nó sẽ không ảnh hưởng đến "các hệ thống Intel hiện đại từ xa" và thêm nhận xét vào các trình điều khiển nhàn rỗi của nhân để giải thích điều gì đang xảy ra—và khuyến khích những người đọc "cân nhắc chuyển hệ thống của bạn sang . "

Nếu một bản vá khẩn cấp loại bỏ hoặc hạn chế "sự chờ đợi giả" được gửi vào tuần này, nó có thể khiến Linux 6. 0, mà Torvalds dự kiến ​​sẽ xuất xưởng vào tuần tới

Tại sao nó quan trọng. Nhân Linux bao gồm một thủ thuật cổ xưa để giải quyết các vấn đề không tương thích có thể xảy ra trong quá trình triển khai ACPI ban đầu. Ngày nay, thủ thuật này không cần thiết và chỉ khiến mọi thứ trở nên tồi tệ hơn đối với CPU AMD bằng cách phạt hiệu suất. Một bản vá sẽ đến sớm

Kiến trúc Zen cực kỳ thành công đã làm đảo lộn thị trường CPU hiện đại, đưa AMD lên vị trí dẫn đầu trong cuộc đua hiệu suất và mang đến cho người dùng một đối thủ rất cần thiết để cạnh tranh lâu dài với Intel. Tuy nhiên, có một lĩnh vực điện toán mà CPU AMD vẫn đang bị phạt về hiệu suất – mặc dù không có lý do thực tế nào để biện minh cho tình trạng này

Trong khi sử dụng hệ điều hành dựa trên Linux, CPU AMD đang chạy chậm lại khi chúng không nên. Lý do cho hành vi kỳ lạ này bắt nguồn từ năm 2002, khi hỗ trợ cho tiêu chuẩn Giao diện Nguồn và Cấu hình Nâng cao [ACPI] lần đầu tiên được thêm vào nhân nguồn mở. Việc triển khai ACPI trước đó phải giải quyết một số vấn đề về tính tương thích, do đó các nhà phát triển phải lường trước một số hành vi kỳ lạ như chipset chuyển sang trạng thái không hoạt động muộn hơn một chút so với dự kiến

Sự cố này đã buộc các nhà phát triển nói trên phải giới thiệu một "op giả chờ đợi" trong kernel, buộc hoạt động đọc dữ liệu dư thừa trước khi CPU có thể dừng hoàn toàn bằng lệnh STPCLK#. Tính năng đợi giả đã được thêm vào Linux vào năm 2002 và nó vẫn còn đó mặc dù các bộ xử lý dựa trên kiến ​​trúc Zen không cần giải pháp thay thế nữa

Điều tồi tệ nhất là chức năng đợi giả đang làm chậm CPU, như kỹ sư Prateek Nayak của AMD đã giải thích trong một bản vá gần đây cho nhân. trong khối lượng công việc cụ thể trên các hệ thống Linux, Nayak cho biết "một lượng thời gian đáng kể được dành cho hoạt động giả được tính không chính xác là cư trú của C-State. " Trạng thái C được thiết kế để tiết kiệm năng lượng khi CPU không cần ở chế độ thức và hoạt động chờ giả có thể khiến CPU AMD tiến sâu hơn nữa trong hệ thống phân cấp trạng thái C, do đó làm chậm quá trình quay trở lại hoạt động ở trạng thái thức hoàn toàn của nó

Trong khi thử nghiệm các phiên bản khác nhau của nhân [trên hệ thống Zen3 ổ cắm kép], Nayak đã phát hiện ra rằng bản vá của anh ấy để loại bỏ thao tác chờ giả đã mang lại sự cải thiện đáng kể về hiệu suất băng ghế dự bị – từ mức tăng 1.390 phần trăm trong thông lượng MB/giây tối thiểu lên mức trung bình

Mã hàng chục năm tuổi cho khả năng tương thích ACPI không cần phải ở trong Linux nữa, vì vậy bản vá của Nayak có thể sẽ được thêm vào phiên bản sắp tới của nhân - thậm chí có thể là phiên bản 6. 0 dự kiến ​​sẽ xuất xưởng vào tuần tới, ngay trước khi giới thiệu ngôn ngữ lập trình Rust trong Linux 6. 1 theo quyết định của Penguin Maximo Linus Torvalds

Đối với bộ vi xử lý Intel, tùy chọn chờ giả dường như không gây ra vấn đề về hiệu suất mặc dù bản vá khẩn cấp đã được gửi

Linux có được tối ưu hóa cho AMD không?

Nhưng một thực tế đang bắt đầu lộ ra là Clear Linux cũng là lựa chọn tối ưu cho bộ xử lý AMD . Cho dù đó là CPU Threadripper khổng lồ của AMD hay bộ xử lý AMD Ryzen 3200U thấp được vận chuyển bên trong máy tính xách tay 199 đô la, Clear Linux liên tục giành được nhiều điểm chuẩn về hiệu suất.

Linux có hỗ trợ AMD Ryzen không?

Có. Linux hoạt động rất tốt trên CPU Ryzen và đồ họa AMD . Nó đặc biệt tốt vì trình điều khiển đồ họa là nguồn mở và hoạt động hoàn hảo với những thứ như máy tính để bàn Wayland và nhanh gần bằng Nvidia mà không cần trình điều khiển chỉ nhị phân nguồn đóng của họ.

Linux hoạt động tốt hơn trên AMD hay Intel?

>>>> Chúng hoạt động rất giống nhau, với Bộ xử lý Intel tốt hơn một chút trong các tác vụ đơn nhân và AMD có lợi thế hơn trong các tác vụ đa luồng.>>> If you need a dedicated GPU || AMD is a better choice because it does not feature integrated graphics card and it comes with a cooler included in a box.

AMD có tương thích với Ubuntu không?

Card đồ họa AMD được hỗ trợ tốt trên Ubuntu 20. 04 Hố tiêu điểm . Trình điều khiển AMD Radeon Driver mã nguồn mở mặc định được cài đặt và kích hoạt theo mặc định ngoài hộp.

Chủ Đề