Amazon EC2 Compute Cluster kosztuje około $ 800- $ 1000 (w zależności od cyklu pracy) na rdzeń procesora fizycznego ciągu 3 lat. Podczas naszej ostatniej rundy akwizycji sprzętu moje laboratorium wybrało sprzęt o wartości 48 rdzeni bardzo podobny do klastrów Amazon za około ~ 300 USD za rdzeń.
Czy coś mi umyka? Czy są jakieś sytuacje, w których ekonomicznie sensowne jest budowanie klastra w chmurze do zadań o wysokiej mocy procesora, takich jak symulacje dynamiki molekularnej? A może zawsze lepiej jest mi samemu zbudować i opiekować się maszyną?
(Powinienem wspomnieć, że moje laboratorium nie płaci za prąd w naszej serwerowni (przynajmniej nie bezpośrednio), ale nawet z tą korzyścią Amazon nadal wydaje się niezwykle drogi).
cloud-computing
hpc
tel
źródło
źródło
Odpowiedzi:
Moim zdaniem główną zaletą korzystania z zasobów opartych na chmurze jest elastyczność, tzn. Jeśli masz zmienne obciążenie, płacisz tylko za to, czego potrzebujesz.
Jeśli tak nie jest w twojej aplikacji, tzn. Wiesz, że będziesz mieć wymierne i stałe obciążenie pracą, prawdopodobnie lepiej jest zbudować własny klaster. W chmurze płacisz za elastyczność, a jeśli nie potrzebujesz elastyczności, płacisz za coś, czego nie potrzebujesz.
Jeśli twoje obciążenie jest elastyczne, ale nieco intensywne i opiera się na pewnych funkcjach sprzętowych (patrz odpowiedź aeismail), możesz spróbować udostępnić klaster innym osobom na uniwersytecie, aby amortyzować bezczynne cykle. Moja stara uczelnia prowadzi taki wspólny klaster z „modelem akcjonariuszy”, w którym każdej grupie gwarantuje się udział mocy obliczeniowej proporcjonalny do ich inwestycji w sprzęt, a każdy z nich może korzystać z bezczynności. Jedyną trudnością jest centralizacja administracji klastra.
źródło
Podczas przetwarzania w chmurze za pomocą symulacji MD należy się martwić. Na przykład musisz się martwić fizycznym układem procesorów w farmie serwerów, w której będą wykonywane te zadania. Powodem jest to, że w zależności od wielkości twoich symulacji i rodzaju wykonywanych obliczeń (na przykład systemów z elektrostatyką), możesz być bardzo zależny od FFT - i popychając elektrony do różnych procesorów w gigantycznej gromadzie może stać się bardzo czasochłonną częścią całkowitego czasu obliczeniowego.
Ponadto, w przypadku czegoś tak intensywnego jak MD, musisz upewnić się, że masz szybkie połączenia do przesyłania i pobierania z serwerami, a także rozsądne limity przechowywania danych. W przeciwnym razie znaczna część oszczędności może zostać pochłonięta przez utraconą wydajność i opłaty za przechowywanie.
Za to, co jest warte, nasz instytut właśnie kupił około ~ 240 rdzeni dla naszego lokalnego klastra, kosztem poniżej 500 € za rdzeń. Koszt ten obejmuje hosting i administrację oraz usługi na naszym kampusie przez cztery lata. W ujęciu rocznym wydaje się to absurdalnie tanie. Myślę, że to chyba najlepszy z obu światów - dostęp lokalny, ale profesjonalnie utrzymany bez potrzeby posiadania własnego zespołu IT.
źródło
Nie mam doświadczenia z pierwszej ręki z usługami w chmurze, takimi jak EC2 Amazon, ale rzeczywisty koszt na rdzeń jest prawdopodobnie znacznie większy niż cytujesz: jest to koszt początkowego zakupu, energii elektrycznej, chłodzenia, miejsca w budynku, wymiany sprzętu. Plus koszty administracji: konfiguracja systemu operacyjnego i usług klastrowych, aktualizowanie systemu operacyjnego, rozwiązywanie problemów z kolejką itp. W ogóle nie byłbym zaskoczony, gdyby suma tego wszystkiego była dwukrotnie wyższa od początkowego kosztu zakupu. Oczywiście zyskujesz elastyczność.
Dla mnie model sprowadza się do skalowania: jeśli masz naprawdę duży klaster (1000 rdzeni lub więcej), możesz amortyzować czas pracy, naprawy, administrację systemu, ponieważ jest wystarczająco dużo pracy, aby utrzymać profesjonalistę. Jeśli masz mały klaster, w którym nie warto zlecać tego dedykowanej osobie, prawdopodobnie sprawisz, że zrobi to ktoś, kogo pierwsza praca powinna polegać na nauce, w takim przypadku czas tej osoby jest słabo poświęcony na takie zadania administracyjne. Właśnie tam świecą usługi na żądanie, takie jak serwery chmurowe.
źródło
Jako uzupełnienie niektórych już doskonałych odpowiedzi, należy wziąć pod uwagę jeszcze jeden czynnik:
Spotkałem nietrywialną liczbę dotacji, które w żadnym wypadku nie pokryją kosztów sprzętu, ale zapłacą za czas obliczeniowy na czymś takim jak EC2. Tak więc w pewnych okolicznościach finansowania, chociaż możesz być w stanie sfinansować mały klaster „testbed” za pomocą funduszy niestrukturalnych lub pakietu startowego laboratorium, w przypadku projektów na większą skalę może to być jedyny sposób na sfinansowanie kosztów przetwarzania.
Rozważmy NIH:
Chociaż możliwe jest umieszczenie maszyn klastrowych w kategorii sprzętu o wartości ponad 5000 USD, i można to uzasadnić, znalazłem zarówno recenzentów, którzy są w nim zaniepokojeni, jak i uniwersytety, które są niepewne co do bieżących kosztów utrzymania takiego system.
Niektóre dotacje są jeszcze surowsze. Jeden grant, który obecnie mam, brzmi następująco:
Często po prostu łatwiej jest uzyskać klaster opłacony kosztami bezpośrednimi, jeśli jest oparty na EC2 lub jednym z jego wielu analogów, niż faktycznie kupuje sprzęt, szczególnie jeśli Twoja instytucja jest skąpa na koszty pośrednie. To może nie dotyczyć ciebie, ale tak jest w przypadku niektórych.
źródło
Istnieje już wiele boskich odpowiedzi. Chcę tylko dodać dwa małe punkty.
1.) Wiem, że IBM oferuje coś podobnego. Dlatego w zależności od aplikacji warto porównać różne oferty. Nie tylko pod względem kosztów, ale także wyposażenia.
2.) Oczywiście większość laboratoriów jest zbyt mała, aby móc zainwestować we własny klaster. Zatem pytanie brzmi, czy nie jest możliwe zebranie kilku laboratoriów razem i zainwestowanie w klaster, który jest wspólny dla różnych laboratoriów. Ma to, oprócz oczywistego efektu podziału kosztów, również zaletę bardziej równomiernego rozkładu obciążenia.
źródło