Cần một chiếc máy có thể thực hiện hàng nghìn tỷ phép tính dấu phẩy động trong một giây? Hay bạn cần một câu chuyện thú vị về siêu máy tính cá nhân đã tắt đèn trong làng của bạn? Chế tạo một siêu máy tính là một thử thách thú vị nếu bạn là một thiên tài giàu có và có chút thời gian rảnh rỗi. Về mặt kỹ thuật, siêu máy tính đa xử lý là một mạng lưới các máy tính làm việc cùng nhau để giải quyết một vấn đề. Bài viết này sẽ thảo luận ngắn gọn về từng giai đoạn tạo ra nó, tập trung vào phần cứng và phần mềm.
Bươc chân
Bước 1. Đầu tiên, hãy tìm hiểu những thành phần phần cứng bạn sẽ cần
Một nút chính, ít nhất một chục nút tính toán giống hệt nhau, một bộ chuyển mạch Ethernet, một đơn vị phân phối điện (PDU) và một giá đỡ máy chủ. Cũng tìm hiểu về nhu cầu điện, làm mát và không gian. Chỉ định địa chỉ IP cho mạng riêng, tên của các nút, gói phần mềm bạn muốn cài đặt và công nghệ bạn muốn sử dụng để làm cho tất cả chúng hoạt động cùng nhau để thực hiện tính toán song song (thông tin thêm về điều đó bên dưới).
- Mặc dù phần cứng bạn sẽ cần đắt nhưng phần mềm trong hướng dẫn này đều miễn phí và hầu hết đều là mã nguồn mở.
- Nếu bạn muốn xem tốc độ siêu máy tính của mình (trên lý thuyết), hãy sử dụng trang này:
Bước 2. Xây dựng các nút tính toán
Bạn có thể tự mình lắp ráp các nút máy tính mà bạn cần hoặc sử dụng một máy chủ làm sẵn.
- Chọn một khung máy chủ máy tính tối đa hóa không gian, làm mát và hiệu quả năng lượng.
- Hoặc bạn có thể sử dụng khoảng một tá máy chủ đã lỗi thời. Khi được sử dụng cùng nhau, chúng hữu ích hơn nhiều so với khi sử dụng riêng lẻ và bạn có thể tiết kiệm được kha khá. Tất cả bộ xử lý, bộ điều hợp mạng và bo mạch chủ phải giống nhau để đảm bảo hệ thống chạy trơn tru. Tất nhiên, đừng quên RAM và dung lượng lưu trữ cho mỗi nút và ít nhất một ổ đĩa quang cho nút chính.
Bước 3. Gắn máy chủ bạn đã tích hợp sẵn vào giá máy chủ
Bắt đầu ở phía dưới để tránh những phản đối ở phía trên. Mời một người bạn giúp bạn, vì các bộ máy chủ bị tắc nghẽn có thể trở nên nặng nề đến mức khó có thể xếp chúng vào ngăn kéo.
Bước 4. Gắn công tắc Ethernet lên trên khung máy chủ
Tận dụng cơ hội này để cấu hình nó: cung cấp cho nó kích thước khung là 9000 byte, đặt địa chỉ IP thành địa chỉ tĩnh mà bạn đã chỉ định trong bước 1 và tắt các giao thức định tuyến không cần thiết như SMTP Snooping.
Bước 5. Lắp đặt bộ phân phối điện
Bạn có thể cần 220 volt để tính toán hiệu suất cao, tùy thuộc vào cường độ dòng điện mà nút yêu cầu ở tải tối đa.
Bước 6. Sau khi mọi thứ được cài đặt, bạn có thể bắt đầu quá trình cấu hình
Linux là hệ điều hành bắt buộc phải sử dụng cho các cụm máy tính hiệu suất cao, vì ngoài lý tưởng cho tính toán khoa học, nó còn miễn phí 100%. Với những nút lên tới hàng trăm, thậm chí hàng nghìn, chắc chắn sẽ rất tốn kém nếu bạn sử dụng Windows!
- Bắt đầu bằng cách cài đặt phiên bản mới nhất của BIOS và phần sụn bo mạch chủ. Phiên bản đã cài đặt phải giống nhau cho tất cả các nút. Bắt đầu bằng việc cài đặt phiên bản mới nhất của BIOS và phần sụn bo mạch chủ, phiên bản này phải giống nhau trên tất cả các nút.
- Cài đặt bản phân phối Linux bạn muốn trên mỗi nút, với giao diện đồ họa trên nút chính. Các lựa chọn phổ biến là CentOS, OpenSuse, Scientific Linux, RedHat và SLES.
- Tác giả thực sự khuyên bạn nên sử dụng Phân phối cụm đá. Rocks sẽ cài đặt ngay lập tức tất cả các chương trình mà siêu máy tính của bạn cần để hoạt động và sử dụng một cách tiện lợi để 'chia sẻ' chính nó trên tất cả các nút hiện có bằng cách sử dụng quy trình khởi động PXE và 'Kick Start' của Red Hat.
Bước 7. Cài đặt giao diện nhắn tin, quản lý tài nguyên và các thư viện phần mềm thiết yếu khác
Nếu bạn không cài đặt Rocks ở bước trước, bạn sẽ phải tự chuẩn bị phần mềm cần thiết để cung cấp năng lượng cho cơ chế tính toán song song.
- Đầu tiên, bạn sẽ cần một hệ thống quản lý bash di động như Torque Resource Manager, hệ thống này sẽ thực hiện chia sẻ công việc giữa các máy.
- Ghép nối Mô-men xoắn với Bộ lập lịch cụm Maui để hoàn tất thiết lập.
- Tiếp theo, bạn cần cài đặt giao diện nhắn tin, giao diện này cần thiết để làm cho các nút tính toán riêng biệt chia sẻ cùng một dữ liệu. OpenMP là một sự lựa chọn chắc chắn.
- Đừng quên các thư viện và trình biên dịch toán học đa luồng để xây dựng các chương trình tính toán song song mà bạn cần. Hoặc, chỉ cần cài đặt Rocks để làm cho nó dễ dàng hơn.
Bước 8. Kết hợp tất cả các nút tính toán thành một mạng
Nút chính sẽ gửi các tác vụ tính toán đến nút tính toán, nút này sau đó phải gửi lại kết quả trong khi trao đổi thông điệp với nhau. Càng sớm càng tốt.
- Sử dụng mạng ethernet riêng để kết nối tất cả các nút trong cụm siêu máy tính của bạn.
- Nút chính có thể là máy chủ NFS, PXE, DHCP, TFTP và NTP trong mạng ethernet.
- Bạn phải tách mạng này khỏi mạng công cộng để đảm bảo rằng các gói được gửi đi không gây trở ngại cho các mạng khác trong mạng cục bộ của bạn.
Bước 9. Kiểm tra siêu máy tính bạn đã tạo
Trước khi được người khác sử dụng, chúng tôi khuyên bạn nên kiểm tra hiệu suất của siêu máy tính trước. HPL (High Performance Linpack) là tiêu chuẩn phổ biến để đo tốc độ tính toán của siêu máy tính. Bạn sẽ cần phải biên dịch từ nguồn, với tất cả các tùy chọn tối ưu hóa được cung cấp bởi trình biên dịch mà bạn đang sử dụng cho kiến trúc bạn đã chọn.
- Tất nhiên, bạn cần phải biên dịch từ nguồn với tất cả các tùy chọn tối ưu hóa có thể có cho nền tảng của mình. Ví dụ: nếu sử dụng CPU AMD, hãy biên dịch nó bằng Open64 với mức tối ưu hóa -0fast.
- So sánh kết quả thử nghiệm của bạn trên TOP500.org để so sánh siêu máy tính của bạn với 500 siêu máy tính nhanh nhất trên thế giới!
Lời khuyên
- Để có tốc độ mạng cao, hãy xem giao diện mạng InfiniBand. Tất nhiên, bạn phải chuẩn bị để trả một cái giá đắt.
- IPMI có thể đơn giản hóa việc quản lý các cụm siêu máy tính lớn bằng cách cung cấp KVM-over-IP, điều khiển chu kỳ nguồn từ xa và các tính năng khác.
- Sử dụng Ganglia để giám sát tải tính toán trên các nút.