Các siêu máy tính được sử dụng để tính toán các tác vụ nặng như các vấn đề về vật lý lượng tử, dự báo thời tiết, nghiên cứu khí hậu, thăm dò dầu khí, xây dựng mô hình nguyên tử (tính toán cấu trúc và tính chất của các hợp chất hóa học, sinh học, polyme và đá quý), giả lập môi trường vật lý (như giả lập một chiếc máy bay trong vòng xoáy của gió, giả lập sự phát nổ của các vũ khí hạt nhân…). Sequoia của IBM hiện tại là siêu máy tính nhanh nhất thế giới.
Hơn 50 năm phát triển Lịch sử ra đời của các siêu máy tính được bắt đầu từ những năm 1960 khi mà có một lượng lớn các máy tính ở CDC được thiết kế bởi Seymour Cray để thực hiện những tác vụ máy tính mạnh mẽ. CDC 6600 được giới thiệu vào năm 1964, có thể được xem như là cỗ siêu máy tính đầu tiên trên thế giới.
Cray rời khỏi CDC vào năm 1972 để mở một công ty riêng. 4 năm sau khi rời khỏi CDC, Cray đã giới thiệu bộ vi xử lý Cray 1 có tốc độ 80 MHz vào năm 1976, và đây là một trong
những siêu máy tính thành công nhất trong lịch sử. Cray 2 được giới thiệu vào năm 1985 với 8 bộ vi xử lý được làm mát bằng chất lỏng và dung dịch flo đã được truyền vào trong khi máy hoạt động. Cỗ máy này có thể tính được 1,9 tỉ phép tính (gigaflop) và là cỗ máy nhanh nhất thế giới cho đến năm 1990.
Trong khi những năm 1980, các cỗ siêu máy tính chỉ có vài bộ vi xử lý, thì vào những năm 1990, những con quái vật này được trang bị hàng nghìn bộ vi xử lý, xuất hiện ở Mỹ và Nhật, đem lại những kỉ lục thế giới mới. Numerical Wind Tunnel của Fujitsu sử dụng 166 bộ vi xử lý để đạt vị trí đầu bảng trong năm 1994 với tốc độ tính toán khoảng 1,7 tỉ phép tính/bộ vi xử lý. SR2201 của Hitachi có tốc độ tính toán 600 tỉ phép tính trong năm 1996 với việc sử dụng 2.048 bộ vi xử lý thông qua một hệ thống mạng crossbar 3 chiều. Paragon của Intel dẫn đầu thế giới vào năm 1993 có thể sử dụng từ 1.000 đến 4.000 bộ vi xử lý Intel i860 tùy thuộc vào nhiều dạng thiết kế khác nhau.
Phần cứng và kiến trúc Kiến trúc của các siêu máy tính đã thay đổi khá nhiều kể từ lần đầu tiên giới thiệu vào những năm 1960. Các kiến trúc đầu tiên của siêu máy tính được phát triển bởi Seymour Cray dựa trên các thiết kế nhỏ gọn và các hệ thống nội bộ song song để đạt được khả năng hoạt động cao. Tuy nhiên, khi mà nhu cầu sử dụng nguồn lực máy tính nhiều hơn thì các thiết kế mới cần phải có một hệ thống song song đồ sộ hơn. Các siêu máy tính của thế kỉ 21 có thể sử dụng hơn 100.000 bộ vi xử lý (một số trong này có thể là các đơn vị xử lý đồ họa) được kết nối với tốc độ cao.
Khi mà các bộ vi xử lý đồ họa phổ thông có tỉ lệ chi phí/hiệu năng được cải thiện đáng kể, một lượng lớn các siêu máy tính có khả năng tính toán lên đến hàng triệu tỉ (petaflop) như Tianhe-I và Nebulae đã bắt đầu sử dụng các linh kiện này. Tuy nhiên, những hệ thống khác như K computer tiếp tục sử dụng các bộ vi xử lý truyền thống khác như thiết kế của SPARC. Khả năng tương thích với các ứng dụng của các bộ vi xử lý đồ họa là một vấn đề còn nhiều tranh cãi, bởi hệ thống bộ vi xử lý đồ họa này có thể ghi được điểm số cao trên các bài kiểm tra benchamark nhưng khả năng xử lý các thuật toán hàng ngày có thể sẽ bị giới hạn. Tuy nhiên, các bộ vi xử lý đồ họa này vẫn đang có sự tăng trưởng trong dân số và trong năm 2012, siêu máy tính Jaguar đã biến thành một Titan khi thay đổi các linh kiện bộ vi xử lý CPU thành GPU.
Có nhiều hệ thống được thiết kế dành riêng cho một mục đích đặc biệt để giải quyết 1 vấn đề duy nhất. Điều này cho phép các bộ vi xử lý được lập trình một cách đặc biệt như FPGA hay VLSI cho phép đem lại hiệu năng xử lý tốiưu hơn so với giá thành. Những ví dụ về cácsiêu máy tính dạng này gồm có Belle, DeepBlue, và Hydra dùng để chơi cờ, Gravity Pipe dùng để nghiên cứu thiên văn học MDGRAPE-3 dùng để tính toán các cấu trúc của phân tử và Deep Crack dùng để bẻ gãy các mã hóa DES.
Năng lượng sử dụng và quản lý nhiệt độ Một chiếc siêu máy tính sẽ ngốn rất nhiều năng lượng và hầu hết những nguồn năng lượng này đều được chuyển hóa thành nhiệt. Ví dụ Tiahe- 1A cần phải có 4,04 megawatt để hoạt động. Chi phí dành cho nguồn năng lượng cũng như hệ thống làm mát sẽ là một thách thức không nhỏ, ước tính khoảng 3,5 triệu USD mỗi năm.
Việc quản lý hệ thống nhiệt độ của các siêu máy tính là một vấn đề lớn, bởi điều này sẽ ảnh hưởng rất nhiều đến các hệ thống này theo nhiều cách khác nhau. Thiết kế tản nhiệt và khả năng làm mát cho CPU trong các hệ thống siêu máy tính vượt xa các công nghệ được sử dụng cho các máy tính thông thường.
Cray 2 đã sử dụng công nghệ làm mát bằng chất lỏng với dung dịch flo được truyền tải đến các bộ phận của hệ thống bằng áp lực. Blue Gene của IBM sử dụng các bộ vi xử lý có điện năng tiêu thụ thấp để giải quyết vấn đề về nhiệt độ. Mặt khác, Power 775 của IBM, được giới thiệu vào năm 2011, được tích hợp nhiều thành phần đòi hỏi phải được sử dụng làm mát bằng chất lỏng. Hệ thống Aquasar của IBM, lại sử dụng dung dịch chất lỏng nóng để tăng thêm nguồn năng lượng cần thiết cho hệ thống, nguồn nước này cũng được sử dụng để làm nóng các tòa nhà.
Sự hiệu quả của các hệ thống làm mát dành cho các hệ thống máy tính khổng lồ này được đo đạc dựa trên thông số FLOPS/Watt (phép tính/watt). Vào năm 2008, Roadrunner của IBM đạt được chỉ số 376 MFLOPS/Watt. Vào tháng 11/2010, Blue Gene/Q đạt được chỉ số 1684 MFLOPS/Watt.
Phần mềm và hệ thống quản lý Kể từ cuối thế kỉ 20, các hệ điều hành dành cho hệ thống siêu máy tính có những chuyển biến lớn, với nhiều thay đổi trong kiến trúc của các cỗ máy này. Trong khi các hệ điều hành trước đây được thiết kế dành riêng cho khả năng tăng tốc của các siêu máy tính, xu hướng hiện nay đã thay đổi, với các hệ điều hành được thiết kế để tương thích với nhiều dạng phần mềm khác nhau, như Linux chẳng hạn.
Các hệ thống máy tính hiện đại sử dụng khả năng của những hệ thống song song lớn, để có thể sử dụng những dịch vụ khác nhau hiệu quả nhất, được gọi là các mắt xích (node). Các mắt xích này thường sử dụng các hệ điều hành khác nhau, như các hệ điều hành có nhân nhẹ như CNK hay CNL để dành cho các mắc xích tính toán, nhưng các hệ thống lớn hơn đòi hỏi phải có Linux trên server cũng như các hệ thống I/O.
Trong khi các hệ thống máy tính đang được lập kế hoạch để tính toán các tác vụ, với một hệ thống song song, cần phải có một hệ thống quản lý nhiệm vụ tốt để có thể phân phối được cả việc tính toán và liên lạc, cũng như việc đương đầu với sự ảnh hưởng trong việc hư hại các linh kiện khác, khi mà có đến hàng chục nghìn bộ vi xử lý đang hoạt động.Hầu hư toàn bộ các hệ thống siêu máy tính hiện đại nhất sử dụng hệ điều hành Linux,và mỗi nhà sản xuất đều thay đổi để tương thích với hệ thống của mình, và có thể nói là không có một tiêu chuẩn nào cả, bởi sự khác biệt trong kiến trúc phần cứng đòi hỏi phải có những thay đổi trong hệ điều hành để tối ưu hiệu năng.
Công cụ phần mềm Kiến trúc song song của các siêu máy tính thường được sử dụng chuyên biệt một kỹ thuật lập trình để tăng tốc. Các công cụ phần mềm để tăng tốc bao gồm các API như MPI và PVM, VTL và các giải pháp phần mềm nguồn mở như Beowulf.
Trong hầu hết các tình huống, những môi trường như PVM hay MPI sẽ được dùng để kết nối các cluster và OpenMP thường được sử dụng để quản lý bộ nhớ được chia sẻ giữa các máy tính. Những cố gắng được đặt ra để tối ưu hóa các thuật toán dùng để kết nối các máy tính với nhau khi đang sử dụng, với mục đích là ngăn cản các CPU khỏi việc chờ đợi dữ liệu từ những mắc xích khác. Các bộ vi xử lý đồ họa có hàng trăm nhân xử lý được lập trình thông qua các cơ chế như CUDA.
Khả năng hoạt động Các siêu máy tính thường nhắm đến khả năng hoạt động tối đa hơn là lượng dữ liệu tính toán được. Khả năng tính toán được hiểu là sức mạnh tính toán tối đa để có thể giải quyết một vấn đề lớn đơn lẻ trong một lượng thời gian thấp nhất có thể. Thông thường một hệ thống có thể giải quyết được các vấn đề với kích cỡ và độ phức tạp mà không một máy tính đơn lẻ nào có thể làm được, ví dụ như ứng dụng giả lập thời tiết.
Khả năng tính toán thường được cho là phải tối ưu hóa sao cho tốt nhất với cả việc xử lý tốt một số ít các tác vụ lớn cũng như thực hiện được số lượng cực nhiều những tác vụ nhỏ. Kiến trúc cho phép người dùng có thể hỗ trợ được nhiều dạng tác vụ hàng ngày có thể có khả năng lớn, nhưng vẫn chưa thể được gọi là siêu máy tính, bởi chúng không thể xử lý được một tác vụ lớn đơn lẻ.
Đánh giá sức mạnh Tốc độ xử lý của các siêu máy tính được đo đạc và đánh giá dựa trên FLOPS (floating point operations per second – tốc độ xử lý các phép tính dấu chấm động mỗi giây) và không phải là MIPS (instructions per second – lượng lệnh thực hiện được mỗi giây), như các máy tính truyền thống khác. Những đo đạc này thường được sử dụng với hệ đếm latin, như tera- chẳng hạn, và được ký hiệu là TFLOPS, hoặc peta – PFLOPS. Các siêu máy tính có thể tính toán ở mức độ petaflops có thể xử lý 1 triệu tỷ FLOPS. ExaFLOPS là các siêu máy tính có thể hoạt động với khả năng là 1 tỷ tỷ FLOPS.
Không có một con số cụ thể nào có thể đánh giá được khả nang hoạt động của một hệ thống máy tính, và mục đích của chương trình đánh giá Linpack là để ước lượng được tốc độ xử lý một vấn đề số học mà máy tính có thể đạt được. Đo đạc FLOPS dựa trên khả năng tính toán các dấu chấm động mà về lý thuyết không thể thực hiện được khi sử dụng các máy tính bình thường. LINKPACK đánh giá các hệ thống siêu máy tính dựa trên phép tính giải mã LU của những ma trận lớn, tuy không thể đánh giá toàn diện khả năng của những hệ thống này như trên các khối lượng công việc thực tế, nhưng cũng phần nào chứng thực được sức mạnh của các chú khủng long này.
2017 mạnh gấp 100 lần hiện nay IBM đang phát triển kiến trúc Cyclops64, cho phép người dùng tạo ra một siêu máy tính trên một bộ vi xử lý. IBM cũng đang thực hiện một dự án siêu máy tính có sức mạnh là 20 PFLOPS ở phòng nghiên cứu quốc gia Lawrence tại Livermore, với tên gọi của đứa con này là Sequoia. Sequoia dựa trên kiếm trúc của Blue Gene, và sẽ được cho hoạt động vào năm nay 2012.Với tiến độ hiện tại, các siêu máy tính được cho là sẽ đạt được mốc 1 exaflops vào năm 2019. Sử dụng kiến trúc đa nhân MIC của Intel, vốn là đòn phản công của Intel với các hệ thống sử dụng bộ vi xử lý đồ họa, SGI có kế hoạch sẽ tăng khả năng hoạt động của máy lên con số 500 lần vào năm 2018 để đạt được exafops. Những bộ vi xử lý mẫu của MIC với 32 nhân được kết hợp với các đơn vị tính toán có tiêu chuẩn phổ thông đã bắt đầu xuất hiện.
Vào ngày 11/10/2011, phòng thí ghiệm quốc gia tại Oak Ridge đã thông báo rằng họ đang xây dựng một siêu máy tính có sức mạnh 20 petaflops, đặt tên là Titan, sẽ được đưa vào hoạt động trong năm 2012. Titan sẽ là một đứa con lai với sự kết hợp giữa các bộ vi xử lý Opteron của AMD và bộ vi xử lý đồ họa GeForce 600 “Kepler” của Nvidia. Cùng thời điểm này, Fujitsu đã thông báo rằng hệ thống 20 petaflops dành cho các cỗ máy K computer của họ, với tên gọi là PRIMEHPC FX10 sẽ sử dụng cùng kết nối nội bộ 6 chiều, nhưng chỉ sử dụng 1 bộ vi xử lý SPARC cho mỗi mắc xích.Erik P. DeBenedictis của phòng thí nghiệm quốc gia Sandia đã chứng minh được rằng các siêu máy tính zettaflops có thể thực hiện được đầy đủ việc mô phỏng thời tiết, và có thể tính toán được thời tiết trong khoảng 2 tuần một cách chính xác. Những hệ thống như thế sẽ xuất hiện vào những năm 2030.Chính phủ Ấn Độ đã chỉ ra rằng cần phải có 940 triệu USD để phát triển được hệ thống siêu máy tính nhanh nhất thế giới vào năm 2017, nếu kế hoạch thành công. Theo Bộ kế hoạch của Ấn Độ, ISRO và hiệp hội khoa học Ấn Độ, Bangalore đã có kế hoạch phát triển một siêu máy tính với sức mạnh là 132,8 exaflops, nhanh hơn khoảng 1.000 lần so với chiếc siêu máy tính nhanh nhất năm 2012 hiện nay.
Những máy tính nhanh nhất thế giới:
Kể từ năm 1993, các siêu máy tính đã được xếp hạng trên TOP500 dựa theo kết quả đánh giá của LINKPACK. Sau đây là danh sách những máy tính đã xuất hiện trong TOP500 với sức mạnh tối đa của hệ thống. Năm 2008: Roadrunner của IBM với 1,105 PFLOPS – New Mexico, Mỹ. Năm 2009: Jaguar của Cray với 1,758 PFLOPS – Oak Ridge, Mỹ. Năm 2010: Tianhe-1A với 2,566 PFLOPS – Tianjin, Trung Quốc. Năm 2011: K computer của Fujitsu với 10,51 PFLOPS – Kobe, Nhật Bản. Năm 2012: Sequoia của IBM với 16,32 PFLOPS – Livermore, Mỹ.Sequoia tiêu tốn khoảng 7890 kW điện mỗi năm.
Cho đến năm 2011, K computer là siêu máy tính nhanh nhất thế giới, với 88.000 bộ vi xử lý VIIIfx SPARC64 và sử dụng 864 trạm máy chủ. Vào tháng 11/2011, lượng điện năng tiêu thụ của K computer được báo cáo là 12.659,89 kW. Chi phí duy trì hệ thống là khoảng 10 triệu USD mỗi năm. |
Các ứng dụng của siêu máy tính:
Các giai đoạn ứng dụng của siêu máy tính có thể được tóm tắt như sau:
Những năm 1970: Dự báo thời tiết, các công trình nghiên cứu khí động học (siêu máy tính Cray 1). Những năm 1980: Phân tích xác suất, xây dựng mô hình bảo vệ rada (siêu máy tính CDC Cyber). Những năm 1990: Những công cụ phá vỡ hệ thống mã hóa (siêu máy tính phá mã EFF DES), giả lập mô hình hạt nhân 3D như là một chương trình trong các điều lệ về phát triển hạt nhân (siêu máy tính ASCI Q). Những năm 2010: Giả lập mô hình phân tử, nguyên tử động (Siêu máy tính Tianhe-1A).
Siêu máy tính Blue Gene/P của IBM được sử dụng để giả lập một lượng lớn các nơ-ron nhân tạo tương đương với 1% của vỏ não người, với 1,6 tỉ nơ-ron và khoảng 9 nghìn tỉ kết nối. Cũng nhóm nghiên cứu đó đã thành công trong việc sử dụng một siêu máy tính để giả lập lượng nơ-ron nhân tạo tương đương với con số có thực trên một não chuột.
Dự báo thời tiết ngày nay cũng dựa trên các siêu máy tính. Hiệp hội biển và khí hậu quốc gia cũng sử dụng các siêu máy tính để tạo ra hàng triệu theo dõi để giúp cho việc dự báo thời tiết trở nên chính xác hơn.
Trong năm 2011, những thử thách và khó khăn trong việc phát triển giới hạn của tính toán đã khiến cho IBM bỏ dở dự án petaflops có tên gọi Blue Waters. |
Tôn Bảo
Tin học & Đời sống 165 – Tháng 9.2012