Pszczoły zwiększają efektywność serwerów
Taniec pszczół zainspirował naukowców z Georgia Institute of Technology do zwiększenia... wydajności serwerów internetowych.
Akademicy, badając ich taniec, opracowali nowy system komunikacyjny dla serwerów. Umożliwia on serwerom, które zostały skonfigurowane do pojedynczego zadania, przełączanie się w miarę potrzeb pomiędzy różnymi zadaniami bez ryzyka przeciążenia i odcięcia od swoich zasobów użytkowników.
Przeprowadzone testy wykazały już, że zastosowanie "pszczelego algorytmu" zwiększyło wydajność serwerów bankowych od 4 do 25 procent. Rezultaty badań zostały opisane w piśmie "Bioinspiracja i biomimetyka" (Bioinspiration and Biomimetics).
Profesor Craig Tovey zauważył, że pszczoły i serwery muszą borykać się z podobnymi ograniczeniami, jeśli chodzi o wydajność.
Od lat badam pszczoły i zastanawiałem się, jak wykorzystać moją wiedzę w praktyce. Jeśli pracujesz nad biomimetyką musisz szukać ścisłych analogii pomiędzy dwoma systemami, a nie patrzeć, który jest doskonalszy. A tu zachodzi taka właśnie analogia - mówi Tovey.
Swoje spostrzeżenia przedyskutował z Sunilem Narkanim z University of Oxford.
Obaj stwierdzili, że strategie, jakie pszczoły przyjmując radząc sobie z zarządzaniem ograniczonymi zasobami w nieprzewidywalnym i ciągle zmieniającym się środowisku, można zastosować do serwerów pracujących w Internecie.
Ograniczona liczba pszczół musi polecieć do kwiatów, zebrać nektar, wrócić z nim do ula i powtarzać te czynności tak długo, jak w danym miejscu można nektar znaleźć. Czasami trzeba zebrać więcej nektaru, czasami mniej. Tymczasem środowisko, w którym pracują, ciągle się zmienia. Różne kwiaty kwitną o różnych porach i dają różne ilości nektaru. Bardzo dużo zależy też od warunków pogodowych.
Podobnie działają serwery. Muszą obsłużyć klienta, który się z nimi łączy i odpowiedzieć na wszystkie jego zapytania. I podobne działania przeprowadzają w przypadku każdego z klientów. Liczba klientów zmienia się w zależności od pory dnia lub pewnych wydarzeń (np. po przeprowadzeniu przez firmę kampanii reklamowej, serwery muszą zwykle obsłużyć znacznie więcej klientów).
Pszczoły radzą sobie w następujący sposób: zwiadowca poszukuje nektaru, a gdy go znajdzie, wraca do ula i za pomocą tańca (taniec pszczół to jedyny, oprócz języka ludzi, znany nam dwuklasowy system znaków) informują inne pszczoły o lokalizacji nektaru, jego ilości i właściwościach. Wtedy do źródła leci odpowiednia liczba pszczół. Jeśli nie zbiorą wszystkiego, to po powrocie do ula nadal wykonują swój taniec. Pokazują go aż do wyczerpania zasobów nektaru, albo do czasu, gdy inny zwiadowca wróci z informacją, że w innym miejscu znalazł jeszcze lepszy nektar.
Dzięki takiemu systemowi pszczoły otrzymują na bieżące aktualizowane informacje o źródłach nektaru i mogą kierować się tam, gdzie zbiorą najwięcej najlepszego pożywienia. A wszystko to odbywa się bez centralnego sterowania, które tylko opóźniałoby proces przekazywania informacji.
Serwery internetowe zwykle skonfigurowane są tak, by dobrze sprawowały się w normalnych warunkach pracy. Do obsługi dużych witryn zwykle przypisanych jest wiele maszyn. Gdy nagle pojawia się olbrzymia liczba klientów, mogą mieć one problem z ich obsłużeniem, jednak gdy liczba klientów jest niższa od przeciętnej, serwery pozostają bezczynne. W tym czasie serwery, które obsługują inne części tej samej witryny mogą mieć problemy z nadążeniem z odpowiedzią na zapytania przesyłane przez podłączone do Sieci komputery.
Tovey i Nakrani opracowali rodzaj "sali tanecznej" dla serwerów. Gdy któryś z nich otrzymuje zapytanie od użytkownika, umieszcza w "sali tanecznej" zaproszenie do współpracy dla innych maszyn. Na zaproszenie odpowiadają serwery, które akurat mają mniej pracy. Im żądanie klienta jest bardziej skomplikowane, a korzyści osiągnięte z jego obsłużenia większe, tym dłużej ważne jest zaproszenie. A im dłużej zaproszenie jest ważne, tym więcej serwerów przyłącza się do jego obsługi.
Dzięki takiemu rozwiązaniu można efektywnie zarządzać mocą dostępnych serwerów i tak nimi kierować, by te, które akurat mają mniej pracy, wspomogły te najbardziej zapracowane.
Mariusz Błoński