Beowulf (informatyka)

Beowulf

Beowulf – rodzaj klastra komputerowego realizowanego z założeniem uzyskania maksymalnej mocy obliczeniowej jak najmniejszym kosztem. Najczęściej budowany ze zwykłych, masowo produkowanych komputerów klasy PC, połączonych siecią Ethernet. Komputery tworzące taki klaster pracują zazwyczaj pod Linuksem, a do przetwarzania równoległego używa się bibliotek MPI, LAM lub PVM.

Pierwszy klaster tego typu, nazwany właśnie "Beowulf", stworzył w 1994 roku Donald Becker z NASA. Nazwa pochodzi od imienia bohatera staroangielskiej legendy.

Ze względu na nieduże koszty i dużą dostępność komponentów klastry typu Beowulf są często budowane i używane przez niewielkie grupy naukowców do prowadzenia badań w wielu dziedzinach: chemii, fizyce, mechanice. Klaster tego typu można również zorganizować z grupy stacji roboczych np. pracowni komputerowej.

Definicja z oryginalnego Beowulf HOWTO

Beowulf to wielokomputerowa architektura, która może zostać użyta do obliczeń równoległych. Jest to system, który na ogół składa się z jednego węzła-serwera i jednego lub więcej węzła-klienta połączonego przez Ethernet lub jakąś inną sieć. Jest to system zbudowany w oparciu o powszechnie dostępne komponenty sprzętowe, jak każdy PC zdolny do uruchomienia Linuksa, standardowe karty Ethernet i switche. Nie zawiera unikalnych komponentów sprzętowych i jest łatwy w tworzeniu. Beowulf korzysta również ze zwykłego oprogramowania, jak system operacyjny Linux, Parallel Virtual Machine (PVM) oraz Message Passing Interface (MPI). Węzeł-serwer kontroluje cały klaster i udostępnia pliki klientom. Pełni on także funkcję konsoli klastra i jest jego bramą do zewnętrznego świata. Duże maszyny Beowulf mogą posiadać więcej niż jeden węzeł-serwer, oraz inne węzły stworzone dla specyficznych zadań, na przykład konsole lub stacje monitorujące. W większości przypadków węzły-klienci w systemie Beowulf są głupie, im głupsze tym lepiej. Węzły są konfigurowane i kontrolowane przez węzeł-serwer, i robią tylko to, co kazano im robić. W konfiguracji bezdyskowej klienci nie znają nawet swojego adresu IP lub nazwy, dopóki serwer im ich nie poda. Jedną z podstawowych różnic pomiędzy Beowulfem a architekturą Cluster of Workstations (COW) jest to, że Beowulf zachowuje się bardziej jak jedna maszyna, niż wiele stacji roboczych. W większości przypadków węzły-klienci nie posiadają klawiatur czy monitorów, a dostęp do nich jest możliwy jedynie przez odległe logowanie bądź opcjonalny terminal szeregowy. Węzły Beowulf można sobie wyobrazić jako pakiet CPU + pamięć, który może zostać podłączony do klastra, tak jak CPU czy moduł pamięci może zostać dołączony do płyty głównej.

Beowulf to nie żaden specjalny pakiet oprogramowania, nowa topologia sieci czy nowa nakładka na jądro. Beowulf to technologia łączenia komputerów Linux aby utworzyć równoległy, wirtualny superkomputer. Chociaż istnieje wiele pakietów oprogramowania, takich jak modyfikacje jądra, biblioteki PVM i MPI, narzędzia konfiguracyjne, które przyspieszają architekturę Beowulf, ułatwiają konfigurację i zwiększają użyteczność, jednak możliwe jest zbudowanie maszyny Beowulf wykorzystując standardową dystrybucję Linux, bez żadnego dodatkowego oprogramowania. Jeśli masz przynajmniej dwa usieciowione komputery Linux które dzielą przynajmniej katalog /home poprzez NFS, i ufają sobie nawzajem na tyle, aby uruchomić odległą powłokę (rsh), możesz się upierać że dysponujesz prostą, dwu-węzłową maszyną Beowulf.

Systemy operacyjne

Obecnie istnieje wiele dystrybucji Linuxa oraz BSD, które wspierają budowę klastrów Beowulf. Na przykład:

  • KestrelHPC[1],
  • ABC Linux[2], bazujący na Ubuntu – Pozwalający na automatyczne tworzenie Beowulf clusters, „na żywo” lub poprzez instalację na węźle front end. Wszystkie węzły pracują bez dysków diskless.
  • MOSIX
  • ClusterKnoppix, oparty na Knoppix – ostatnie wydanie 31 sierpnia 2004
  • Kerrighed
  • ParallelKnoppix[3], także Knoppix – ostatnie wydanie 29 maja 2008
  • PelicanHPC[4] (Następca ParallelKnoppix-a w oparciu o Debian Live[5]) - Ostatnia aktualizacja 12 stycznia 2010
  • Rocks Cluster Distribution
  • Scyld
  • DragonFly BSD
  • Bootable Cluster CD[6]
  • Quantian, Live DVD zawiera aplikacje naukowe, oparty na Knoppix oraz ClusterKnoppix. Ostatnia aktualizacja 26 lutego 2006.

Klaster może być zbudowany za pomocą Knoppix boot-ującego CD w połączeniu z OpenMosix. Komputery można automatycznie łączyć, bez skomplikowanej konfiguracji, Można utworzyć klaster Beowulf wykorzystujący wszystkie procesory i pamięci RAM w klastrze. Klaster Beowulf jest skalowalny do prawie nieograniczonej liczby komputerów, ograniczony jedynie przepustowością sieci.

Przypisy

  1. KestrelHPC
  2. ABC GNU
  3. ParallelKnoppix. [dostęp 2010-06-24]. [zarchiwizowane z tego adresu (2010-06-28)].
  4. PelicanHPC. [dostęp 2010-06-24]. [zarchiwizowane z tego adresu (2015-06-11)].
  5. Debian Live. [dostęp 2010-06-24]. [zarchiwizowane z tego adresu (2018-04-11)].
  6. Bootable Cluster CD

Linki zewnętrzne

Media użyte na tej stronie

Beowulf.jpg
Autor: User Linuxbeak on en.wikipedia, Licencja: GPL
Picture of a Beowulf Cluster. This particular cluster is owned by Alex Schenck.