Czy ktoś zna jakieś linki / książki / cokolwiek, co możesz wymyślić, które opisują proces budowy małego klastra domowego (kiedy mówię, że dom , niekoniecznie oznacza utrzymanie w domu - po prostu oznacza, że jest stosunkowo tani i mały) dla cele eksperymentalne, ze szczególnym naciskiem na to, jaki sprzęt byłby dzisiaj odpowiedni, i jakąś analizę kosztów?
Chociaż, jeśli ktoś to zrobił, byłbym wdzięczny za wszystkie doświadczenia, którymi możesz się podzielić.
Odpowiedzi:
Przychodzi mi na myśl Helmer . :)
źródło
W Hack A Day pojawiło się kilka klastrów Ikei:
źródło
Sprawdź książki Beowulf Cluster Computing Thomasa Sterlinga (jeden dla systemu Linux i jeden dla systemu Windows). Mówią ci wszystko, co musisz wiedzieć o używaniu MPI, aby twoje węzły mogły ze sobą rozmawiać.
Wspólnie z przyjacielem zbudowaliśmy klaster 8 urządzeń przy użyciu naprawdę kiepskiego sprzętu i uruchomiłem na nich system Windows XP. Były jak skrzynki Pentium I - 90 MHz. Znacznie poniżej specyfikacji wymaganych dla systemu Windows, ale działało dobrze. Uruchomiliśmy na nich również SQL Server 2000 (również znacznie poniżej zalecanych specyfikacji) i przeprowadziliśmy na nich modelowanie wyceny opcji na akcje według Schwarzesa.
Trudno jest zalecić, jaki sprzęt byłby odpowiedni, nie wiedząc, co chcesz zrobić z klastrem. Ale najważniejsze jest to, że możesz zbudować klaster większości czegokolwiek.
źródło
Alternatywą dla posiadania wielu fizycznych węzłów klastra jest tworzenie maszyn wirtualnych. Miałbyś tylko jedną lub dwie rzeczywiste maszyny fizyczne, ale możesz symulować posiadanie o wiele więcej węzłów. To działałoby dobrze do tworzenia, uczenia się i zużywania mniej zasobów (przestrzeń, moc, $$$).
Nie dałoby to wiele z analizy kosztów, ale pozwoliłoby ci zacząć. Typ konfiguracji klastra zależy od rodzaju pracy, którą chcesz dla niego utworzyć. Możesz mieć wiele małych węzłów lub mieć tylko kilka potężnych węzłów. Istnieją także środowiska pamięci współdzielonej i nieudostępnionej, które należy wziąć pod uwagę. Jakiego rodzaju programy równoległe chcesz utworzyć? Im więcej masz fizycznych węzłów, tym więcej miejsca, energii, chłodzenia i wzajemnych połączeń sieciowych musisz wziąć pod uwagę. Czasami wystarczy jeden wielki komputer (a środowiska pamięci wspólnej są łatwiejsze do zaprogramowania dla IMHO).
Niedawno zacząłem grać z budowaniem klastra kilku losowych P4, ubuntu i LAM-MPI. To zdecydowanie było doświadczenie edukacyjne.
W rzeczywistości było to kilka laptopów i wież typu p4, ułożonych w garażu. To było getto, ale chciałem się tylko nauczyć. Właśnie użyłem sieci Ethernet 100 Mbps. Wybrałem ubuntu, ponieważ nie chciałem zajmować się dużą konfiguracją sprzętową pudeł. Ubuntu miało wiele sterowników, których potrzebowałem. Potrzebowałem środowiska linux, ponieważ aplikacje, które dla niego napisałem, były aplikacjami opartymi na języku C z interfejsami MPI. Próbowałem powtórzyć to, czego użyłem wcześniej. To wszystko było inne. sprzęt, nic standardowego. Większość klastrów ma dokładny sprzęt, dzięki czemu można szybko dodawać i usuwać węzły.
źródło
W zależności od tego, co próbujesz zrobić, rozważ stworzenie systemu na klastrze maszyn wirtualnych. Korzystanie z rozwiązania do wirtualizacji systemu operacyjnego, takiego jak OpenVZ lub Virtuozzo lub Parallel Containers firmy Parallel, pozwoli skalować się do ogromnej gęstości w porównaniu z pełną wirtualizacją systemu (np. VirtualBox / VirtualPC / Xen / VMWare). Następnie, gdy trzeba wdrożyć system, aby uzyskać pewną wydajność, uruchom go „w chmurze” na EC2 Amazon lub podobnym.
źródło
Zacznę od osobistego spojrzenia na projekty LittleFE ( http://littlefe.net/ ) lub Bootable Cluster CD ( http://bccd.net/ ). Zobacz także projekt Ubuntu Cloud ( http://www.ubuntu.com/cloud ).
Mniej więcej każdy sprzęt powinien działać. Byłbym skłonny spojrzeć na jakąś formę zawierania transakcji lub wynajmowanie maszyn w celu zakupu taniego sprzętu.
źródło
Spójrz na skały, które są dystrybucją klastrów, dzięki czemu budowanie klastrów jest naprawdę łatwe. Skaluje także do co najmniej kilku strzeżonych węzłów.
źródło