Cụm Beowulf

Tập tin:Beowulf-cluster-the-borg.jpg|thumb|The Borg, một cụm Beowulf 52-nốt sử dụng bởi nhóm nghiên cứu ẩn tinh Đại học McGill để nghiên cứu ẩn tinh từ các ẩn tinh nhị phân
Cum Beowulf là một cụm máy tính trong đó các máy tính phổ thông thường như nhau, nối mạng thành một mạng địa phương nhỏ với các thư viện và các chương trình cài đặt cho phép chia sẻ quá trình xử lý giữa chúng. Kết quả có được là một cụm máy tính song song hiệu suất cao  từ những máy tính cá nhân rẻ tiền.
Cái tên Beowulf ban đầu được gọi là một máy tính cụ thể được xây dựng vào năm 1994 bởi Thomas Sterling và Donald Becker tại NASA. Cái tên "Beowulf" xuất phát từ nhân vật chính trong bài thơ sử thi sử thi Beowulf, mà Sterling đã chọn vì những bài thơ mô tả người anh hùng cùng tên của nó có "sức mạnh nắm được ba mươi người trong chuôi bàn tay của mình".
Không có định nghĩa phần mềm cụ thể nào về một cụm như một Beowulf. Cụm Beowulf thường chạy một hệ điều hành giống Unix, như BSD, Linux, hoặc Solaris, thường được xây dựng từ phần mềm miễn phí và nguồn mở. Thường sử dụng thư viện xử lý song song bao gồm Message Passing Interface (MPI) và Parallel Virtual Machine (PVM). Cả hai cái này đều cho phép các lập trình viên phân chia công việc giữa một nhóm các máy tính nối mạng, và thu thập các kết quả xử lý. Ví dụ về phần mềm MPI bao gồm OpenMPI hoặc MPICH. Ngoài ra còn có thêm các bộ triển khai MPI nữa.
Các hệ thống Beowulf được sử dụng trên khắp thế giới, chủ yếu hỗ trợ các tính toán khoa học.

**Phát triển**
Chi tiết cụm Beowulf đầu tiên tại Trung tâm Siêu tính toán Barcelona
Một mô tả của cụm Beowulf, từ bản gốc "làm thế nào để", được xuất bản bởi Jacek Radajewski và Douglas Eadline thuộc Dự án Tài liệu Linux trong năm 1998.
Beowulf là một kiến trúc đa máy tính có thể được sử dụng cho tính toán song song. Nó là một hệ thống thường bao gồm một nút máy chủ (server), và một hoặc nhiều hơn các nút máy khách (client) được kết nối thông qua Ethernet hoặc một vài mạng khác. Nó là một hệ thống được xây dựng dựa trên các thành phần phần cứng thương mại, như bấy kỳ máy tính tương thích PC nào có thể chạy một hệ điều hành giống Unix, với các adapter và switch Ethernet tiêu chuẩn. Nó không bao gồm bất kỳ thành phần phần cứng tùy biến nào và việc sử dụng lại thường không được xem trọng. Beowulf cũng sử dụng phần mềm thương mại như hệ điều hành FreeBSD, Linux hoặc Solaris, Parallel Virtual Machine (PVM) và Message Passing Interface (MPI). Nút server điều khiển toàn bộ cụm và phân phát các file cho các nút khách (client). Nó cũng là console và gateway của cụm ra thế giới bên ngoài. Các cỗ máy Beowulf lớn có thể có hơn một nút server, và có thể các nút khác sẽ phụ trách các tác vụ chuyên biệt, ví dụ console hoặc các trạm giám sát. Trong hầu hết các trường hợp các nút client trong một hệ thống là những nút câm, nút câm thì tốt hơn. Các nút được cấu hình và điều khiển bởi nút server, và chỉ làm điều mà chúng được bảo làm. Trong một cấu hình client không có ổ dĩa, một nút client thậm chí không biết địa chỉ IP hoặc tên của nó cho đến khi server nói cho nó biết.
Một trong những khác biệt chính giữa một cụm Beowulf và một Cluster of Workstations (COW)  là Beowulf cư xử giống một máy đơn hơn nhiều máy trạm. Trong hầu hết các trường hợp các nút client không có bàn phím hoặc màn hình, và được truy xuất chỉ thông qua tài khoản truy nhập từ xa hoặc có thể là serial terminal. Các nút Beowulf có thể suy nghĩ giống một gói bộ nhớ + CPU mà có thể cắm vào cụm, giống như một CPU hoặc module bộ nhớ có thể cắm vào một board mạch chủ.
Beowulf không phải là một gói phần mềm đặc biệt, cũng không phải là một tôpô mạng mới, hoặc cách hack nhân mới nhất.  Beowulf là một công nghệ hội tụ các máy tính với nhau dưới dạng song song, siêu máy tính ảo. Mặc dù có nhiều gói phần mềm như biến đổi nhân, PVM, và các thư viện MPI, các công cụ cấu hình sẽ khiến cấu trúc Beowulf nhanh hơn, dễ cấu hình hơn, và hữu dụng hơn, một người có thể xây dựng một máy tính lớp Beowulf sử dụng bản phân phối Linux tiêu chuẩn mà không cần bất kỳ phần mềm phụ thêm nào. Nếu bạn có một mạng gồm 2 máy tính nối với nhau và share ít nhất file hệ thống /home thông qua NFS, và tin rằng mỗi máy sẽ thực thi các shell từ xa (rsh), thì chứng tỏ rằng bạn đang có một máy Beowulf 2 nút đơn giản.

**Hệ điều hành**
Tập tin:Beowulf.jpg|thumb|Một cụm Beowulf tự chế tại nhà được tạo thành từ các máy tính cá nhân.
Một số các bản phân phối Linux, và ít nhất một bản BSD, được thiết kế để xây dựng các cụm Beowulf. Đó là:- MOSIX, hướng tới các ứng dụng tính toán chuyên sâu, IO-thấp,- ClusterKnoppix, dựa trên Knoppix- Kerrighed- Rocks Cluster Distribution- Scyld- DragonFly BSD- Quantian, một DVD live với các ứng dụng khoa học, dựa trên Knoppix và ClusterKnoppix- KestrelHPC- ABC GNU / Linux dựa trên Ubuntu- Kentucky Linux Athlon Testbed
Có thể cài đặt một cụm bằng cách sử dụng dĩa bootable Knoppix kết hợp với openMosix. Các máy tính sẽ tự động kết nối với nhau mà không cần phải cấu hình phức tạp, để tạo thành một cụm Beowulf sử dụng tất cả các CPU và RAM trong cụm. Một cụm Beowulf có khả năng mở rộng đến một số gần như không giới hạn các máy tính, chỉ giới hạn bởi chi phí của mạng.
Gói hệ điều hành và phần mềm khác cho một cụm Beowulf có thể được tự động hóa bằng cách sử dụng phần mềm Open Source Cluster Application Resources (OSCAR) (OSCAR). OSCAR dựa trên một bản cài đặt tiêu chuẩn của một bản phân phối Linux hỗ trợ cụm máy tính.

**Xem thêm**
 Cụm Aiyara- Alewife (multiprocessor)- Apache Hadoop- Condor High-Throughput Computing System- Coreboot- Fastra II- Tính toán lưới- Kentucky Linux Athlon Testbed- Maui Cụm Scheduler- Open Source Cluster Application Resources (OSCAR)- Nền tảng LSF- Portable Batch System- Simple Linux Utility for Resource Management- Stone Soupercomputer- Sun Grid Engine- TORQUE Resource Manager

**Tham khảo**
 Beowulf Cluster Computing With Windows by Thomas Lawrence Sterling 2001 ISBN 0262692759 MIT Press- Beowulf Cluster Computing With Linux by Thomas Lawrence Sterling 2001 ISBN 0262692740 MIT Press

**Các liên kết ngoài**
  Trang web Cụm Beowulf
Thể loại:Tính toán cụm
Thể loại:Tính toán song song
Thể loại:Phần mềm cho Unix