Siêu máy tính (supercomputer) thường được hiểu là chiếc máy tính có khả năng xử lý và tốc độ tính toán vượt trội so với các máy tính khác. Tuy nhiên, khái niệm này cũng chỉ đúng tương đối, nghĩa là nó chỉ đúng ở một thời điểm nào đó mà thôi.
Siêu máy tính là quá trình nâng cao tốc độ và hiệu suất hoạt động của máy tính để nó có thể phân tích được những số liệu không thể phân tích. Từ đó có thể cung cấp cho người sử dụng các thông tin mà trước đó họ không tài nào có được. Tuy nhiên, vì các phòng thí nghiệm đua nhau tạo ra các siêu máy tính nhanh nhất, nên mục tiêu nói trên thường bị che mờ.
Chiếc máy siêu máy tính đầu tiên. (Trong ảnh là bộ phận luận lý và số học của máy. Bộ phận này lớn bằng cả bức tường của căn phòng và gồm các mạch điện tử được tạo thành từ các ống chân không, điện trở, tụ điện và đi-ốt). |
Người ta vẫn dùng các siêu máy tính trong việc dự báo thời tiết, động lực học chất lưu (để lập mô hình chuyển động của dòng không khí xung quanh máy bay, xe hơi chẳng hạn). Một ứng dụng nữa là mô phỏng các vụ nổ hạt nhân. Các ứng dụng này đòi hỏi máy tính phải giải được những phương trình với rất nhiều biến số, chí ít nó phải tích hợp được chúng theo vô số bước rối rắm hoặc theo cách lấy mẫu xác suất Mote Carlo.
Chiếc máy đầu tiên được công nhận (dù không chính thức) là siêu máy tính chính là NORC (Naval Ordnance Research Calculator) do IBM chế tạo. Nó được Đại học Columbia sử dụng từ năm 1954 đến 1963 để tính toán quỹ đạo phóng tên lửa. Vì ra đời trước khi có các bộ vi xử lý, tốc độ xử lý của nó chỉ khoảng 15.000 phép tính một giây.
Gần nửa thế kỷ sau, siêu máy tính nhanh nhất thế giới Blue Gene/L cũng do IBM chế tạo và đặt tại phòng thí nghiệm quốc gia Lawrence Livemore của Mỹ. Khi được lắp ráp hoàn chỉnh, nó sẽ có 131.072 bộ vi xử lý và tính toán nhanh hơn nhiều so với mức 135,3 ngàn tỷ phép tính động một giây (TFLOPS) đo được trong tháng Ba vừa qua.
Máy Blue Gene/L sẽ được dùng để giả lập các loại vũ khí hạt nhân. Anh em của nó trong gia đình Blue Gene còn được ngành sinh hóa ứng dụng để mô phỏng cách xoắn của protein vốn do gen quy định.
Từ chiếc máy nhỏ ban đầu
Giai đoạn đầu trong lịch sử của siêu máy tính gắn liền với viên kỹ sư người Mỹ Seymour Cray. Ông là người đã thiết kế những chiếc máy đầu tiên thuộc loại này cho Tập đoàn Control Data (CDC) vào cuối thập kỷ 60 của thế kỷ trước. Công trình đầu tay của Cray là máy CDC 6600 với kiến trúc vô hướng ứng dụng kỹ thuật xử lý lệnh liên hoàn (pipelined scalar architecture). Máy dùng một bộ xử lý và tập lệnh giản lược (RISC - reduced instruction set computing) do nhóm kỹ sư CDC phát triển. Với kiến trúc này, CPU sẽ liên tiếp thu nhận, giải mã và thực thi các lệnh để có thể xử lý được mỗi lệnh trong một xung nhịp (clock cycle).
Kỹ thuật đánh giá Linpack |
Để có thể so sánh tốc độ của các siêu máy tính, trước tiên phải giao cho chúng thực hiện các nhiệm vụ giống nhau. Người ta dùng kỹ thuật Linpack để ghi lại khả năng tính toán dấu chấm động của máy tính và lượng thời gian nó cần để giải các hệ phương trình tuyến tính phức tạp.
Kỹ thuật đánh giá này dựa trên Linpack, một thư viện phần mềm được viết bằng ngôn ngữ Fortran. Bốn nhà khoa học máy tính Jack Dongarra, Jim Bunch, Cleve Moler và Pete Stewart đã viết Linpack vào những năm 70 của thế kỷ trước để thực hiện các phép toán đại số tuyến tính trên máy tính kỹ thuật số. Sau này, ông Dongarra, hiện là một giáo sư nổi tiếng của Đại học Tennessee, đã phát triển Linpack thành một kỹ thuật đánh giá hiệu suất hoạt động. Đây chính là phương pháp mà danh sách Top500 dùng để xếp hạng cho các siêu máy tính nhanh nhất thế giới. |
Ông đã tận dụng kiến trúc này để cải tiến khả năng tính toán cho máy CDC 7600, rồi sau đó tăng thêm ba bộ xử lý nữa ở siêu máy tính kế tiếp, CDC 8600. Tuy nhiên, có nhiều bộ vi xử lý cũng đồng nghĩa với việc nảy sinh nhiều vấn đề mà hệ điều hành và phần mềm phải giải quyết.
Khi nghỉ làm ở CDC vào năm 1972 để ra riêng với công ty Cray Reseach, ông cũng ngừng áp dụng kiểu kiến trúc có nhiều bộ xử lý để chuyển sang công nghệ xử lý vector. Đây chính là lý do tại sao ngày nay có hai dòng siêu máy tính (một dòng sử dụng bộ xử lý vô hướng và một cho bộ xử lý vector).
Công ty Cray Reseach theo đuổi công nghệ xử lý vector vì thiết bị phần cứng được thiết kế theo công nghệ này có thể tháo gỡ các vòng lặp "for" và "do". Nếu sử dụng CDC 6600 để lập dự báo thời tiết cho 10 ngày, Trung tâm Dự báo thời tiết tầm trung châu Âu phải mất 12 ngày. Nhưng với siêu máy tính Cray 1-A, một trong những sản phẩm đầu tiên của Cray Reseach, đơn vị này chỉ cần năm tiếng đồng hồ.
Đến niềm tự hào quốc gia
Trong suốt quá trình phát triển non trẻ của mình, các siêu máy tính luôn do các cơ quan chính phủ lớn và các tổ chức được chính phủ tài trợ nắm giữ. Quy mô sản xuất các loại máy này không lớn, việc xuất khẩu chúng cũng được kiểm soát chặt. Đó là do các siêu máy tính thường được dùng để nghiên cứu các loại vũ khí hạt nhân trọng yếu. Ngoài ra chúng còn tượng trưng cho một nên kỹ thuật tiên phong và là niềm tự hào của những nước nào sở hữu chúng.
Vì thế, vào năm 1996, khi Hội Khoa học quốc gia Mỹ (NSF) mua chiếc siêu máy tính NEC của Nhật, người ra đã coi quyết định này là nhát rìu chặt vào cây đại thụ của nền khoa học kỹ thuật Mỹ. Giới lập pháp liền áp dụng luật chống bán phá giá cho các siêu máy tính nhập từ Nhật, vốn vẫn được thiết kế theo những cải tiến trong công nghệ xử lý vector.
Tuy nhiên, chỉ hai năm sau ngày NSF ra quyết định nói trên, cục diện của ngành siêu điện toán đã thay đổi. Lệnh chống bán phá giá đối với Nhật được thu hồi; lệnh cấm xuất khẩu siêu máy tính đến các nước có vũ khí hạt nhân cũng được bãi bỏ một phần.
Sự phát triển của máy tính để bàn đã vượt xa các siêu máy tính của những năm trước. Các trò chơi máy tính đã chạy được trên những bộ xử lý với sức mạnh mà trước đó chỉ các các phòng thí nghiệm của chính phủ mới có. Từ năm 1992 đến 1997, Mỹ đã phải nâng định nghĩa về tốc độ xử lý của máy siêu toán từ 195 triệu phép tính một giây trên lý thuyết (viết tắt là MTOPS - million theoretical operations per second) trên 450 MTOPS vào năm 1997.
Tương lai là hệ thống phân tán, xử lý song song
Các nhà khoa học đã bắt đầu xây dựng những siêu máy tính hoạt động theo cơ chế phân tán và xử lý song song. Họ đã tháo gỡ được những vấn đề về hệ điều hành và phần mềm mà Seymour Cray phát hiện 40 năm trước. Ngoài ta, tốc độ của các thiết bị ngoại vi cũng tăng đáng kể nên việc truyền nhận dữ liệu (I/O) không còn là vấn đề nút thắt cổ chai nữa. Chính khả năng truyền thông tốc độ cao đã biến các thiết kế của các hệ thống phân tán, xử lý song song trở thành hiện thực.
Vì thế, công nghệ xử lý vector cũng phần nào bị lu mờ. Năm 2002, Tập đoàn NEC (Nhật) giới thiệu siêu máy tính Earth Simulator ứng dụng công nghệ xử lý vector với 5.104 bộ vi xử lý. Theo danh sách 500 siêu máy tính nhanh nhất thế giới (Top 500), tốc độ của nó là 35,86 TFLOPS. Tuy nheien, vị trí đầu bảng hiện thuộc về máy Blue Gene/L của IBM với tốc độ tối đa 200 TFLOPS. Chiếc siêu máy tính này bé hơn 50 lần và tiêu tốn điện năng cho mỗi phép tính ít hơn 15 lần so với các đàn anh của nó.
Theo website Top500 (www.top500.org), xu hướng phát triển của các siêu máy tính hiện nay là kết nối các bộ xử lý vô hướng trên nền hệ điều hành Linux. Như vậy, người ta có thể tập hợp và tận dụng được sức mạnh của nhiều bộ vi xử lý bình thường, các hệ điều hành mã nguồn mở và 50 năm kinh nghiệm về những thành phần trung gian giúp liên kết các thành phần này với nhau.
(Theo Thời báo Vi tính Sài Gòn)