Công nghệ Vi xử lý tương lai
Kỹ thuật điện toán đã phát triển nhảy vọt trong vòng nửa thế kỷ qua, biến máy tính từ những cỗ máy khổng lồ chậm chạp trong các viện nghiên cứu thành vi xử lý (chip) siêu nhanh trong các thiết bị cầm tay. “Trí tuệ nhân tạo” đã không còn là một thuật ngữ xa lạ hay là tên một bộ phim Hollywood mà đã xâm nhập sâu vào đời sống và kinh tế con người. Tuy nhiên, ngoài sự bóng bẩy trong thiết kế của những cái iPhone hay laptop siêu mỏng, những người ít nhiều quan tâm đến kỹ thuật đều đã nhìn thấy rõ sự giảm tốc trong công nghệ vi xử lý trong hai thập kỷ gần đây. Liệu kỹ thuật vi xử lý hiện tại dựa trên mô hình máy tính von Neumann và công nghệ CMOS sẽ còn nhảy vọt nữa không hay đã chạm ngưỡng, và công nghệ nào sẽ có khả năng thay thế để đáp ứng nhu cầu ngày một cao của loài người, là những câu hỏi được bàn luận sôi nổi trong giới chuyên môn.
Rick Perry, Bộ trưởng Năng lượng Mỹ (DOE) – phải, kiểm tra việc lắp đặt siêu máy tính Summit tại Phòng thí nghiệm quốc gia Oak Ridge (Mỹ) vào tháng 8/2018. Nguồn: oakridgetoday
Vấn đề của Vi xử lý: Lượng và Chất
Khi nói đến tốc độ phát triển của vi xử lý, người ta hay nhắc đến Định luật Moore: Cứ mỗi 2 năm, số lượng transitor của vi xử lý tăng gấp đôi. Thực ra, ban đầu G. Moore phát biểu quan sát của mình là “Cứ mỗi năm…” nhưng 10 năm sau (năm 1975) nhận thấy tốc độ gia tăng số lượng của transitor giảm sút, ông liền sửa lại thành “Cứ mỗi 2 năm…” Mãi đến đầu thế kỷ 21, dự đoán của Moore khá đúng. Tuy nhiên khoảng 10 năm trở lại đây, sự gia tăng mật độ của vi xử lý đã chậm lại thấy rõ.
Kích thước của transitor là một tiêu chí tốt để đánh giá sự phát triển của công nghệ chip. Để số lượng transistor tăng nhưng kích thước chip không tăng thì transistor phải nhỏ lại. Ngoài giữ kích thước chip không bị phình lên quá to, transistor nhỏ còn mang lại nhiều lợi ích thiết thực khác: tần số hoạt động của chip sẽ cao hơn, tức xử lý nhanh hơn, và lượng điện năng tiêu thụ nhỏ hơn (Định luật Dennard). Tuy nhiên, theo thống kê ở Hình 1, trong 15 gần tần số của chip đã dừng lại ở mức 3-4 GHz, chỉ gia tăng 2% mỗi năm, chứ không còn 40%/năm như 2 thập kỷ trước đó.
Hình 1: Tần số (clock rate) của vi xử lý theo thời gian (năm). Trong 15 năm gần đây, tốc độ gia tăng chỉ đạt mức 2%/năm. Nguồn: Hennessy và Patterson (Elsevier) 1.
Giải pháp tình thế trước những khó khăn này là gia tăng về Lượng: Thêm nhiều transistor, tăng số lượng core của chip, tăng bộ nhớ và đường truyền, thực hiện các tác vụ lớn ở những hệ thống siêu máy tính khổng lồ, vân vân. Việc tăng mạnh về Lượng này dẫn đến những trung tâm dữ liệu (data center) và năng lượng tiêu hao khổng lồ. Năm 2016, Google tiêu thụ điện năng bằng cả thành phố sầm uất San Francisco! Các chuyên gia dự đoán rằng tới năm 2050, thế giới sẽ không còn sản xuất đủ điện năng để đáp ứng cho các trung tâm dữ liệu nữa. Do đó về lâu về dài, cần những giải pháp về Chất, tức phải thay đổi hệ thống hiện tại bằng vật liệu, cấu kiện và kiến trúc hoàn toàn khác, như thế mới mong thúc đẩy công nghệ điện toán tiến xa được. Dưới đây tôi sơ lược một số phương hướng chính đang là đề tài nghiên cứu nóng hổi của giới chuyên môn.
1. Xử lý song song
Một giải pháp khá thông dụng để tăng tốc độ của máy tính là xử lý song song (parallel processing). Khái niệm này rất đơn giản: thay vì các câu lệnh được xử lý theo trình tự thì có thể chia ra nhiều nhóm để xử lý cùng một lúc. Trên thực tế, có nhiều cấp độ song song từ xử lý câu lệnh đến truy cập bộ nhớ. Đa phần các vi xử lý đều có chức năng xử lý song song ở một mức độ nào đó, và xu hướng sắp tới là độ song song sẽ càng tăng. Điển hình là vài năm trở lại đây đã thấy sự phổ biến của multicore CPU, tức mỗi CPU do vài vi xử lý (core) chạy song song với nhau cấu thành.
Trường hợp xử lý song song rõ rệt nhất là GPU gồm hàng trăm core nhỏ tạo thành. Các core của GPU yếu hơn nhiều so với core của CPU, do đó không thể xử dụng GPU vào các tác vụ tính toán thông thường. Tuy nhiên GPU vượt trội hơn CPU ở một số tác vụ đặc biệt, thí dụ như làm phép nhân ma trận. Toàn bộ tính toán của mạng nơ-ron nhân tạo (artificial neural network) đều quy về các phép nhân ma trận. Sự phát triển như vũ bão của trí tuệ nhân tạo ở hai thập kỷ nay, và những thập kỷ kế tiếp, đã tạo ra thị trường rất lớn cho GPU. Để thỏa mãn nhu cầu của thị trường to lớn này, hiện nay các tập đoàn thiết kế chip lớn đang ráo riết thiết kế lại vi xử lý của họ theo hướng xử lý song song.
2. Vi xử lý nơ-ron
Sự phổ biến của GPU trong lĩnh vực trí tuệ nhân tạo là điển hình cho xu hướng phổ biến trong phát triển vi xử lý hiện nay: thay vì chế tạo vi xử lý “toàn năng” có thể đảm đương mọi tác vụ, các nhà thiết kế và sản xuất chuyển sang nghiên cứu chế tạo vi xử lý chuyên dụng, chỉ phù hợp ở một số tác vụ nhất định.
Kỹ thuật mạng nơ-ron nhân tạo (mô phỏng chức năng bộ não người) chạy trên GPU hiện nay chỉ là giải pháp tạm thời. Ở cấp độ cơ bản, não người không hoạt động dựa trên phép nhân ma trận, mà dựa vào các xung điện giữa các tế bào thần kinh. Do đó để tạo được một vi xử lý có chức năng như não người (neuromorphic chip), chúng ta phải thiết kế lại toàn bộ vi xử lý từ linh kiện đơn giản nhất để chúng hoạt động dựa trực tiếp vào xung điện chứ không cần phải số hóa. Hướng đi này đã được các tập đoàn và phòng thí nghiệm triển khai từ nhiều năm qua, điển hình là chip TrueNorth của IBM (năm 2014), Loihi của Intel (năm 2018), NeuroGrid của Đại học Stanford (Mỹ) và hệ thống SpiNNaker của châu Âu (Hình 2). Mặc dù các chip này vẫn sử dụng công nghệ CMOS, việc tìm kiếm thiết bị mới cho tác vụ này (thay đổi từ vật liệu đến cấu trúc) đang là đề tài nghiên cứu cực kỳ sôi động.
Bạn đọc quan tâm có thể tham khảo thêm bài viết Máy tính trí tuệ tương lai – các hệ tính toán tự nhiên (Nguyễn Quang) trên Tia Sáng.
Hình 2: Hệ thống máy tính nơ-ron SpiNNaker bao gồm 500 ngàn core. Nguồn: S. Furber (IOPScience) 2.
3. Vi xử lý bộ nhớ cục bộ
Một nhân tố lớn hạn chế tốc độ của máy tính hiện nay gọi là “nút thắt von Neumann” (von Neumann bottleneck) gây ra do bộ nhớ của máy tính được sắp xếp phân tầng theo nhiều lớp: lớp gần nhất với vi mạch tính toán bao gồm các flip-flop và SRAM có tốc độ truy cập rất nhanh để tạm ghi dữ liệu trực tiếp phục vụ tính toán; lớp dữ liệu tạm thời thì chậm hơn, thường sử dụng DRAM, và chỉ lưu trữ những dữ liệu ít khi dùng tới hơn; và lớp sau cùng là đĩa cứng để trữ dữ liệu lâu dài. Mặc dù thiết kế bộ nhớ phân lớp theo nhu cầu sử dụng như vậy có vẻ hợp lý nhưng gây ra hai vấn đề lớn:
– Do đường truyền giữa mạch xử lý số và bộ nhớ có băng thông và tốc độ nhất định nên dữ liệu chuyển động ra vào bị hạn chế, dẫn đến tốc độ xử lý của toàn bộ hệ thống máy tính bị chậm lại.
– Việc chuyển dữ liệu ra vào thường xuyên gây ra tiêu hao năng lượng lớn, đặc biệt ở thời đại Big Data ngày nay, vi xử lý cần truy cập dữ liệu thường xuyên hơn.
Để giải quyết “nút thắt von Neumann”, các nhà nghiên cứu đã đề xuất thiết kế lại bộ nhớ đặt vi mạch nhớ gần với vi mạch tính toán, gọi là vi xử lý bộ nhớ cục bộ (in-memory processor). Ý tưởng thì đơn giản nhưng khâu thực hiện thì khó vô cùng vì không có một loại vi mạch nhớ nào thỏa mãn tất cả các yêu cầu: SRAM rất nhanh nhưng diện tích lớn, lại mất dữ liệu nếu nguồn điện bị ngắt; Flash có thể lưu trữ dữ liệu lâu nhưng rất chậm và tuổi thọ không cao. Do đó để thiết kế vi xử lý bộ nhớ cục bộ đòi hỏi vi mạch nhớ “toàn năng” mà hiện nay còn đang thai nghén trong các phòng nghiên cứu.
4. Máy tính Siêu dẫn
Một giải pháp khá táo bạo trong tham vọng cách mạng hóa ngành kỹ nghệ điện toán là máy tính siêu dẫn (superconducting computer). Trong nhiều kim loại (thí dụ Niobium) ở nhiệt độ đủ thấp (-270C), dòng điện chạy qua mà không sinh ra nhiệt, gọi là hiện tượng siêu dẫn (superconductivity). Thiết bị xử lý số siêu dẫn đã được phát triển từ những năm 1990, hoạt động ở tốc độ rất cao (vài chục đến vài trăm GHz) nhưng nhiệt sinh ra cực kỳ thấp (do đường truyền siêu dẫn không sinh nhiệt), do đó giải quyết được vấn đề tốc độ và năng lượng của các siêu máy tính hiện tại.
Vì chỉ hoạt động ở nhiệt độ cực thấp, hiển nhiên máy tính siêu dẫn không nhắm vào đối tượng cá nhân người dùng mà hướng đến thay thế các trung tâm dữ liệu khổng lồ hiện nay. Các chuyên gia ước tính, ngay cả khi gộp luôn cả chi phí làm lạnh hệ thống thì máy tính siêu dẫn (xây ở tầm vĩ mô) vẫn tiêu thụ năng lượng ít hơn máy tính thường hơn 100 lần, trong khi tốc độ cao hơn 100 lần. Việc xây dựng một hệ thống máy tính siêu dẫn hoàn chỉnh cần sự hợp tác của nhiều nhóm nghiên cứu ở các trường đại học và công ty chip. Kế hoạch này đã và đang được Chính phủ Mỹ và Trung Quốc tích cực theo đuổi trong vài năm nay.
5. Máy tính Lượng tử
Gần đây giới nghiên cứu về điện toán xôn xao với hai sự kiện lớn: Chính phủ Mỹ thông qua dự án National Quantum Act với kinh phí 5 tỷ USD cho nghiên cứu chế tạo máy tính lượng tử (quantum computer), và Google ra thông báo3 chip lượng tử của họ đã giải được một bài toán trong 200 giây mà siêu máy tính bình thường phải mất 10 ngàn năm. IBM và Microsoft cũng đã ra mắt máy tính lượng tử của họ và cho phép người dùng truy cập thử nghiệm một vài tính toán cơ bản. Có thể tóm tắt hai công dụng chính của máy tính lượng tử:
Giải mã: Máy tính lượng tử có thể dễ dàng giải mã toàn bộ thông tin trên mạng internet. Ngoài ra, thông tin do máy tính lượng tử mã hóa không bao giờ bị bẻ khóa. Đây là vấn đề an ninh mạng nghiêm trọng nên được các chính phủ quan tâm đầu tư.
Tìm kiếm: Thuật toán tìm kiếm của máy tính lượng tử hiệu quả hơn nhiều so với máy tính hiện nay. Nhu cầu tìm kiếm thông tin của con người rất lớn (và Google đã xây dựng cả một đế chế từ lĩnh vực này), nên máy tính lượng tử sẽ đem lại lợi ích kinh tế khổng lồ.
Khó khăn lớn nhất trong việc chế tạo chip lượng tử hiện nay là nhiễu: mức năng lượng của trạng thái lượng tử cực kỳ nhỏ, do đó cần phải được cách ly gần như hoàn toàn với thế giới bên ngoài và được đo đạc bằng các thiết bị đo cực nhạy. Việc hoàn thành một máy tính lượng tử có thể thực hiện hai tác vụ giải mã và tìm kiếm nói trên còn rất xa, theo tôi có lẽ phải trên 50 năm nữa
Hình 3: Bên trong hệ thống máy tính lượng tử của Google dựa vào chip siêu dẫn. Khi hoạt động, hệ thống sẽ được làm lạnh xuống nhiệt độ dưới 100 mK. Nguồn: CNET.
Đây là một số hướng chính để thay đổi hệ thống phần cứng của máy tính, đặc biệt của bộ vi xử lý. Một số giải pháp khác mà ngành công nghiệp điện toán đã và đang thực hiện là thay đổi về cấu trúc mạng máy tính, điển hình ở điện toán đám mây (cloud computing). Điện toán đám mây giúp chuyển hầu hết tác vụ nặng nề từ máy tính và thiết bị cá nhân lên thực hiện ở máy chủ (cực mạnh) và chuyển kết quả về cho người dùng. Biện pháp này làm giảm áp lực từ phía người dùng, hiện nay đa số chỉ cần một máy tính hoặc điện thoại mạnh vừa đủ và kết nối vào internet tốt là có thể thực hiện được mọi tác vụ cần thiết. Như vậy, trong khi các chuyên gia đang ráo riết tìm kiếm giải pháp thay thế công nghệ điện toán hiện tại, chúng ta có thể yên tâm rằng, bằng cách này hay cách khác tốc độ xử lý sẽ tiếp tục tăng lên từng ngày. □
* Nhà nghiên cứu về công nghệ điện toán tại ĐH Cornell, Hoa Kỳ.
Tài liệu tham khảo:
1 Hennessy & Patterson, “Computer Architecture – A quantitative approach”, Morgan Kaufmann (2017)
2 S. Furber, “Large-scale neuromorphic computing systems”, J. of Neural Engineering 13, 051001 (2016)
3 Arute et al., “Quantum supremacy using a programmable superconducting processor”, Nature 574, 505 (2019)