CEO Lip-Bu Tan - Chip Intel sẽ có lại công nghệ SMT (Hyper-Threading)
Một tính năng từng được Intel quảng cáo rầm rộ suốt nhiều thập kỷ qua nhưng vừa bị bỏ đi từ dòng chip Arrow Lake (Core Ultra) mới đây sẽ được "hồi sinh" lại trong các thế hệ chip tới, theo chỉ đạo CEO mới.
Trong bức tâm thư mà vị CEO gốc Hoa vừa gửi tới toàn bộ nhân viên Intel sau buổi báo cáo tài chính Q2 2025 mới đây, một chi tiết đáng chú ý chính là sự trở lại của tính năng SMT (hay Hyper-Threading theo cách gọi cũ của hãng). Cụ thể như sau:
Trong mảng máy cá nhân, Panther Lake là trọng tâm hàng đầu của chúng ta khi nó sẽ tăng cường thêm sức mạnh cho công ty trên laptop trải dài từ người dùng cho tới doanh nghiệp. Chúng ta cũng phải giữ liên tục tiến độ với Nova Lake để rút ngắn khoảng cách trên mặt trận desktop cao cấp
Trong mảng trung tâm dữ liệu, chúng ta đã tập trung vào giành lại thị phần khi tăng tốc sản xuất Granite Rapids trong khi đồng thời cải thiện năng lực của hãng cho các tác vụ siêu cấp (hyperscale). Để hỗ trợ việc này, chúng ta sẽ giới thiệu lại tính năng xử lý đa luồng cùng lúc (SMT). Rời bỏ khỏi SMT đã đặt chúng ta vào vị thế kém cạnh tranh. Mang nó trở về sẽ giúp chúng ta thu hẹp khoảng cách về hiệu năng. Chúng ta cũng đang trong tiến độ tốt nhằm tìm kiếm một lãnh đạo dài hạn cho mảng trung tâm dữ liệu, và tôi có kế hoạch sẽ chia sẻ nhiều hơn trong quý này
Nội dung bài viết
Cơ bản về SMT
SMT hay không SMT, đó mới là vấn đề. Nhưng SMT là gì và chúng ta có thực sự cần nó hay không? Thực tế nhiều con chip hiện đại hôm nay không hề hỗ trợ SMT mà vẫn xử lý tốt công việc, ví dụ như chip M của Apple dùng trên Mac hoặc Snapdragon X Elite của Qualcomm vẫn rất mạnh mẽ dù mỗi nhân chỉ chạy một luồng dữ liệu. Bù lại thì chip Ryzen, EPYC của AMD đang hỗ trợ SMT2 và Power11 của IBM lên tới SMT8! Vậy khi nào cần SMT và không cần?
Các chế độ xử lý dữ liệu trên một nhân xử lý, màu trắng là lúc chip không làm việc (stall)
Trước hết hãy nói sơ lược về SMT. Nó không hẳn là tính năng mà là một đường hướng thiết kế nhân xử lý. Hãy tưởng tượng nhân xử lý giống như dây chuyền sản xuất (line) trong nhà máy, với một số lượng công đoạn (pipeline) nào đó. Trong điều kiện hoàn hảo, mỗi công đoạn sẽ chiếm thời lượng gia công (cycle) giống nhau (giả dụ 4 cycle), khi công đoạn này hoàn tất thì công đoạn kế tiếp diễn ra và tiến độ sản xuất diễn ra liên tục.
Tuy vậy có đôi khi, một vài công đoạn (tạm gọi công đoạn B) gặp trục trặc hoặc gia công lâu hơn (giả dụ 6 cycle), dẫn tới tình trạng bị "treo" (stall) dây chuyền. Lúc này công đoạn ở trước (tạm gọi A) sẽ bị "tồn hàng" còn công đoạn ở sau (tạm gọi C) bị "khan hàng". Kết quả là sản lượng giảm.
Một trong các hướng khắc phục là chúng ta mở thêm một trạm sản xuất cho B, nhưng nó vẫn nằm trong toàn bộ line ban đầu. Lúc này công đoạn B sẽ được gấp đôi sản lượng hoặc nói cách khác tốc độ ra sản phẩm được rút ngắn (còn lại 3 cycle). Về cơ bản, lúc này lại xảy ra tình trạng "thừa hàng" do B sẽ ra hàng nhanh hơn C. Tuy vậy đầu vào của B vẫn lệ thuộc vào A nên sản lượng của B thực tế cũng không hơn nhiều, chỉ là B sẽ gây "tồn hàng" lên C vì cơ bản, C sản xuất chậm hơn B' (4 vs. 3 cycle). Cách khắc phục ở đây là ta thêm một thùng hàng/kho chứa tạm để đầu ra của B' và đầu vào của C được "giải toả".
Cần chú ý rằng trường hợp của B có thể lặp lại ở E, F, G, H và hướng khắc phục cũng tương tự.
Nhân xử lý Zen của AMD với các đơn vị có tính năng SMT
Đối với chip xử lý, kho chứa tạm chính là các thanh ghi (register file) và trạm B' là một đơn vị xử lý phụ thêm. Chúng là nguyên lý cơ bản của SMT - tăng thêm một số đơn vị xử lý và thanh ghi trên một nhân xử lý ban đầu. Về mặt phần mềm, những đơn vị tăng thêm này sẽ được CPU thể hiện như là nhân xử lý độc lập (luồng - thread) nhưng thực chất phần cứng, chúng chỉ là nhân "ảo" (vì không có đủ chức năng như một nhân vật lý).
Vậy SMT có hiệu quả khi nào? Đó là khi ống lệnh xử lý hay gặp tình trạng "stall" như B nêu trên. Lúc này luồng xử lý (tạm gọi 1) bị dừng lại và để chip không bị lãng phí thì luồng thứ 2/3/4 được khai thác trong khi luồng 1 đang chờ giải "stall". Tất nhiên luồng 2/3/4 hoàn toàn có thể bị "stall" tương tự nên đó là lý do chúng ta có cả SMT2, SMT4, SMT8.
Cần hay không cần
Về lịch sử mà nói, khái niệm SMT được ra đời từ khá lâu (thập kỷ 70 thế kỷ trước). Đó là thời điểm mà chip xử lý về cơ bản chỉ có duy nhất 1 nhân xử lý (chip đa nhân mãi tới thập kỷ 2000 mới xuất hiện). SMT được đề xuất như một cách để tối ưu hoá thời gian chip "chết" (luồng xử lý bị stall). Nhưng khi chip đa nhân ra đời, mục tiêu này dần thay đổi. Nếu nhân 1 đang stall, chúng ta có thể chuyển nhân 2/3/4 để làm việc khác. Vì thế mà các chip hiện đại ngày nay đặc biệt như hệ ARM thường không có SMT (vì tại sao phải dùng nhân ảo trong khi đang thừa nhân thật)?
Trên môi trường server, tình trạng chip "nhàn rỗi" (stall) xảy ra khá phổ biến. Khi có SMT chúng sẽ "bận rộn" hơn
Song nói thế không có nghĩa SMT đã trở thành vô dụng hay một thứ "tàn tích phong kiến". Thực tế là hiện tượng stall sẽ không bao giờ chấm dứt, đặc biệt trong môi trường server. Với các trung tâm dữ liệu mà nói, khoảng cách địa lý luôn tồn tại và dù chúng ta có tối ưu đến mức nào thì liên lạc giữa 2 thiết bị cách nhau vài ngàn km hoặc hơn sẽ luôn bị delay. Hoặc khi chạy ảo hoá thiết bị, ứng dụng, stall là điều không ai muốn nhưng không thể nào tránh khỏi. Có nghĩa nhân xử lý trên server sẽ luôn gặp tình trạng stall vì "đói dữ liệu". Và đây cũng là lý do tại sao CPU của Sun (Oracle) hay IBM hỗ trợ tới tận SMT8. Dữ liệu có thể mất vài giây để di chuyển giữa 2 lục địa nhưng một chu kỳ xử lý chỉ cần vài nano giây (1/10^9 giây).
Khi CPU đa nhân ra đời, năng lực xử lý đa luồng cùng lúc cải thiện đáng kể so với chip đơn nhân
Túm lại nếu trên PC cá nhân, SMT có thể không hữu ích cho lắm (nếu thiết kế chip cực kỳ tối ưu để hạn chế stall) thì trên server, nó vẫn có đất sống. Vậy nên cần hay không không phải vì "trend" công nghệ mà vì bản chất nhu cầu sử dụng của từng đối tượng. Thực tế các CPU AMD từ Zen trở đi đều hỗ trợ SMT vì cơ bản, chúng được ra đời để chạy server (EPYC) và chúng ta chưa thấy thông tin hay động thái gì cho thấy AMD sẽ bỏ SMT.
E-core của Intel và SMT
Dù việc Intel bỏ SMT chỉ mới chính thức từ Arrow Lake nhưng "phôi thai" của câu chuyện đã bắt đầu từ thiết kế E-core của hãng này từ Alder Lake. Bạn có thể cũng đã biết, E-core được ra đời trên triết lý của một nhân xử lý tiết kiệm điện, tối ưu về hiệu suất (so với lượng silicon bỏ ra). Nhìn chung cấu trúc E-core đơn giản hơn P-core rất nhiều và một trong các khác biệt chính là lượng cache cho E-core rất ít ỏi. Chúng ta có thể thấy rõ trong ảnh die shot Arrow Lake, một cụm 4 nhân E-core Skymont mới chiếm diện tích chỉ nhỉnh hơn 1 nhân P-core Lion Cove một ít.
Ảnh die shot phần Compute tile của Arrow Lake, hãy so sánh khác biệt giữa P-core và E-core
Chi tiết này cho thấy cấu tạo của E-core về cơ bản là không có nhiều "đất" để bổ sung thêm các đơn vị xử lý phụ và thanh ghi như P-core. Nói cách khác, E-core muốn chạy SMT cũng không thể. Và P-core thì ngược lại, mọi thứ "thừa thãi" khá nhiều, đủ điều kiện để xử lý 2 luồng cùng lúc (Lion Cove là thế hệ P-core đầu tiên không có tính năng này).
Nhưng hãy dừng lại một lát và so sánh, bạn nhận thấy điều gì?
Hãy gác vấn đề hiệu năng E-core vs. P-core qua một bên (chúng ta không nói chuyện đó ở đây), bạn có thấy "phần đất" E-core chiếm dụng là cực kỳ nhỏ (so với P-core)? Và nếu lôi hiệu năng vào, thì rõ ràng lượng IPC mà 4 nhân E-core giải quyết được chắc chắn nhiều hơn chỉ 1 nhân P-core. Có nghĩa nếu lôi "cơm áo gạo tiền" ra đong đếm, 4 nhân E-core vẫn có giá trị thực tế hơn 2 nhân P-core "thật/ảo". Chi tiết này dẫn tới một thực tế khác - lượng silicon bỏ thêm ra (khoảng 10% theo Intel) để có thêm SMT có thực sự "đáng"? Hay bỏ thêm ít silicon nữa để được 4 nhân E-core thì hơn?
Đấy là một phần lý do Intel tạo ra 2 dòng sản phẩm Xeon khác biệt - Rapids chỉ có P-core cho hiệu năng cao và Forest với toàn E-core tập trung sức mạnh xử lý đa luồng. Nhân thật dù sao vẫn cho hiệu năng hơn nhân ảo.
Điều phối công việc trên kiến trúc Hybrid của Intel có tính phức tạp cao hơn một kiến trúc đơn nhất
Song nói vậy không có nghĩa SMT trở nên thừa thãi. Kiến trúc xử lý hỗn hợp (Hybrid) gồm P-core và E-core trong cùng một con chip có nhược điểm là do 2 loại nhân này khác kiến trúc, một số tính năng P-core có và E-core không có (ví dụ các tập lệnh cao cấp). Đặc trưng này dẫn tới việc khi kernel hệ điều hành gửi công việc cho từng nhân, nó phải nắm rõ nhân nào bị hạn chế tính năng và không bị hạn chế để chia việc cho phù hợp.
Ngoài ra, đôi khi luồng dữ liệu của nhân A được lấy ra từ nhân B/C/D, sự khác biệt về kiến trúc có thể dẫn tới tình trạng trì trệ không đáng có nếu nhân B/C/D không có tập lệnh phù hợp để xử lý dữ liệu nhanh chóng (chúng phải dùng tập lệnh cũ hơn và hiệu quả kém hơn). Ở tình huống này, luồng dữ liệu 1 trên nhân A có thể bị stall để chờ dữ liệu từ B/C/D gửi sang. Nếu không có SMT thì lúc này, nhân A sẽ "ngồi chơi" vì nó không thể xử lý thêm luồng 2 nữa.
Để có SMT thì kích thước nhân xử lý sẽ tăng thêm khoảng 10%, và hiệu năng cao hơn khoảng 15%
Nói cách khác, việc có thêm SMT cũng là một giải pháp để hạn chế tình trạng stall nhân xử lý khi có nhiều kiến trúc khác biệt trong cùng một con chip. Nhưng thêm SMT sẽ tốn thêm silicon và bài toán đánh đổi ở đây là cái nào "đáng tiền" hơn.
Intel và Lip-Bu Tan
Một thực tại rõ ràng nhất là tập đoàn chip x86 lớn nhất thế giới đang có những ngày tháng xám xịt nhất. Từ vị thế dẫn đầu nay Intel đã không còn trong top 10 hãng chip lớn nhất, vị CEO gốc Hoa đã không ngần ngại nói lên sự thật. Cũng theo nhận xét của giới công nghệ, Lip-Bu là một người thực tế, không ưa nói những lời hoa mỹ (và thường sáo rỗng) như nhiều CEO khác. Việc ông muốn mang SMT trở lại có thể xem như một cách nhìn thực tế hơn về thị trường CPU.
Tất nhiên ở đây có 2 mảng sản phẩm độc lập với nhau - PC vs. server. Với PC mà nói, nó gần gũi người dùng hơn, cũng là nơi các giải pháp ARM đang cạnh tranh trực diện với x86. Và ARM thì không/chưa có SMT nhưng gần như không thể hiện sự yếu kém nào trước các con chip x86 đang có SMT. Tâm thư của Lip-Bu cũng không nhắc tới SMT trên PC, cho thấy trong tương lai gần, "dòng họ" Lake (Panther Lake, Nova Lake) có thể sẽ tiếp tục không có SMT giống Arrow Lake. Dù sao thì 2 thế hệ chip này đã được thiết kế từ trước khi Lip-Bu làm CEO nên dù muốn hay không thì ông cũng không thay đổi gì được vào lúc này.
Vấn đề chính rơi vào các chip Xeon, nơi SMT thực sự có đất dụng võ. Song cho tới nay Intel chưa có thông tin chính thức nào về các sản phẩm tương lai trừ Clearwater Forest (E-core). Chúng ta chỉ có một vài tin đồn về Diamond Rapids (P-core) đến từ các kênh không chính thống dự kiến sẽ ra mắt vào 2026, sử dụng socket mới LGA 9324. Về kiến trúc, Diamond Rapids có thể dựa trên P-core Panther Cove, cùng loại với Panther Lake. Nếu điều này đúng thì Diamond Rapids sẽ không có SMT. Do đó sẽ có tối thiểu một thế hệ Rapids có thể xử lý được ít luồng hơn thế hệ trước (Granite Rapids hiện vẫn có SMT cho phép xử lý được tới 256 luồng).
Tin đồn sơ bộ về thế hệ chip Rapids kế tiếp của Intel
Và nếu một thế hệ Rapids tồn tại tới 2 năm thì nhanh nhất tới 2028, chúng ta mới thấy sự trở lại của SMT tại Intel. Từ giờ cho tới lúc đó, có lẽ các cổ đông tập đoàn vẫn phải chấp nhận một thực tại rằng họ sẽ tiếp tục là "kẻ theo đuôi" như AMD đã từng trong suốt một thời gian dài.
