Moc obliczeniowa jest kluczem do wydajności oprogramowania. Prawdopodobnie szybko zauważysz duży skok wydajności podczas aktualizacji do nowego komputera z kilkuletniego. Prawo Moore'a opisuje, że liczba tranzystorów w procesorach podwaja się mniej więcej co dwa lata, odkąd wynaleziono procesor. Doprowadziło to do stałego wzrostu mocy obliczeniowej, napędzając regularny cykl aktualizacji.
Pomimo wysokiej wydajności obecnego komputera wysokiej klasy, wiele zadań to po prostu zbyt wiele, aby jeden komputer mógł je obsłużyć w rozsądnym czasie. Na szczęście większość z tych zadań nie wpływa na przeciętnego użytkownika domowego ani nawet na wiele standardowych prac biurowych. Jednak specjalistyczne obciążenia zawodowe to miejsce, w którym zaczniesz znajdować tego rodzaju obciążenia.
Jedną z opcji poradzenia sobie z tym byłoby przypisanie odpowiednich osób do potężniejszych komputerów z wyższej półki. Jednak ta strategia jest kosztowna i w wielu przypadkach nie miałaby znaczenia, ponieważ wymagania dotyczące przetwarzania są po prostu zbyt wysokie.
Inną opcją są farmy serwerów, zamiast próbować wpychać coraz większą wydajność do urządzenia osobistego, mając jedno urządzenie na odpowiedniego pracownika i nadal nie zapewniając wymaganej wydajności. Farma serwerów zasadniczo zleca moc obliczeniową na zewnątrz. W tym przypadku oznacza to posiadanie wielu serwerów zgrupowanych razem, które wykonują ciężkie zadania przetwarzania przypisane do farmy serwerów przez pracownika. Zadania przetwarzania są następnie przydzielane do serwerów.
Kluczowe cechy i zalety farm serwerów
Czynnikiem definiującym farmę serwerów jest to, że nie jesteś już ograniczony do jednego urządzenia wykonującego przetwarzanie. Zamiast tego moc obliczeniową zapewniają dziesiątki, setki, a nawet tysiące serwerów zgrupowanych w klaster.
Same serwery zazwyczaj znajdują się w serwerowni lub centrum danych. Tutaj można je skonfigurować za pomocą szybkich połączeń między sobą i szybkich sieci, aby odbierać obciążenie do przetworzenia i przesyłać ukończone obciążenie z powrotem w odpowiednim czasie.
Dzięki starannemu zarządzaniu rzeczywistą wydajnością wszystkich serwerów można dostroić ogólną wydajność przy rozsądnych kosztach. Serwery są zazwyczaj uruchomione 24 godziny na dobę, 7 dni w tygodniu, jednak w zależności od obciążenia może to nie być możliwe. Praca z maksymalną wydajnością przez cały czas zużywa dużo energii. Oznacza to również, że wymagane jest dużo chłodzenia, co wymaga jeszcze większej mocy. Wiele farm serwerów może działać poniżej swojej szczytowej wydajności, aby osiągnąć wysoki współczynnik wydajności na wat.
Podtypy i odmiany
W zadaniach programistycznych wiele języków wymaga kompilacji aplikacji przed ich uruchomieniem. Ten proces kompilacji wymaga dużej mocy obliczeniowej procesora i w przypadku dużych aplikacji może zająć wiele godzin. Farma serwerów może pomóc skrócić czas kompilacji, oferując większą wydajność niż jest to możliwe na pojedynczym komputerze. Farmy serwerów mogą również działać 24 godziny na dobę, 7 dni w tygodniu, umożliwiając programistom ustawienie w kolejce procesu kompilacji, który będzie działał przez noc, jednocześnie mając możliwość wyłączenia własnych maszyn. Farmy serwerów używane wyłącznie do kompilowania oprogramowania mogą być nazywane farmami kompilacji.
W rolach grafiki komputerowej czas renderowania może być często długi. Nie jest to ogromny problem w przypadku nieruchomych obrazów, chociaż może to zająć trochę czasu. Renderowanie wideo może zająć dużo czasu, szczególnie w przypadku filmów klasy kinowej. Sceny są nie tylko niezwykle złożone, ale również mają wysoką rozdzielczość, a jest ich wiele, ponieważ potrzeba wielu klatek na sekundę. Farmy serwerów dedykowane do zadań renderowania mogą być nazywane farmami renderującymi.
Między farmą serwerów a superkomputerem jest bardzo mała różnica. Oba są obszernymi zbiorami serwerów zaprojektowanych do współpracy w celu wykonania zadania. Nie ma wyraźnej różnicy między nimi. W przeszłości superkomputery używały sprzętu specjalnego przeznaczenia. Jednak obecny trend w superkomputerach polega na korzystaniu z większej liczby gotowych komponentów serwerowych.
Pochmurna przyszłość
Farmy serwerów są drogie. Są energochłonne, potrzebują dużo chłodzenia i potrzebują infrastruktury centrum danych. Farmy serwerów są również kosztowne w konfiguracji, z wysokimi początkowymi kosztami sprzętu. Co gorsza, mają do czynienia z regularnym starzeniem się. W branży centrów danych wysokiej klasy ogólnie uważa się, że 7-letnie centrum danych jest przestarzałe. W tym krótkim czasie obciążenia mogą wzrosnąć wraz ze wzrostem wymagań dotyczących wydajności.
Jedyne realne rozwiązanie tego problemu oferują hiperskalery. Hiperskalery to gigantyczne firmy technologiczne, takie jak Google, Amazon i Microsoft, które są wystarczająco duże, aby budować i obsługiwać wiele ogromnych centrów danych. Firmy te wynajmują wydajność obliczeniową swoich centrów danych jako platformę w chmurze. Ten dostęp jest często zwirtualizowany.
Chodzi o to, że zamiast płacić za zakup i uruchamianie sprzętu, po prostu wynajmujesz dostęp do tego, czego potrzebujesz – wtedy, gdy tego potrzebujesz. Ma to roczny czynnik przyjazny dla budżetu, polegający na braku wysokich, powtarzających się kosztów początkowych. Zamiast tego po prostu płacisz za to, z czego korzystasz. Pomocnie, nie ograniczasz się nawet do jednej konfiguracji sprzętowej. Załóżmy, że masz niewielkie, stosunkowo niepilne obciążenie pracą. W takim przypadku można go po prostu skonfigurować tak, aby działał na mniejszym i – co najważniejsze – tańszym serwerze wirtualnym. To również idzie w drugą stronę. Jeśli masz duży lub pilny projekt, możesz zapłacić więcej za jeszcze większą instancję wirtualną, aby mieć większą moc obliczeniową do szybszego zakończenia.
Realistycznie usługi w chmurze oferują kilka przekonujących zalet w porównaniu z farmami serwerów. Jedynym potencjalnym problemem jest koszt, który jako usługa komercyjna może być wyższy na jednostkę przetwarzania niż w przypadku lokalnej farmy serwerów. Warto zauważyć, że hiperskalerzy czerpią korzyści z ekonomii skali, która filtruje ich ceny.
Wniosek
Farma serwerów to zbiór serwerów, zwykle zlokalizowanych w serwerowni lub centrum danych, do których przydzielane są zadania wymagające dużej mocy obliczeniowej. Zapewnia to szereg korzyści, w tym wysoką wydajność i działanie 24/7. Usługi w chmurze od hiperskalerów to główna opcja konkurencyjna. Oferują one kilka atrakcyjnych korzyści, w tym brak początkowych kosztów sprzętu oraz elastyczność ceny/wydajności w zależności od zadania.