Na czym polega problem z zasypianiem fryzjera?
W świecie komputerów problem z zasypianiem fryzjera to fantazyjna nazwa używana do identyfikowania sytuacji, w której procesy są obecnie utrzymywane w oczekiwaniu na zasoby w celu osiągnięcia pewnego rodzaju rozwiązania. Odniesienie do śpiącego fryzjera ma związek z brakiem wydajności, jaki odczuwa fryzjer, gdy w sklepie nie ma klientów oczekujących na fryzurę. To gra na starym stereotypie fryzjera, który śpi na swoim krześle, dopóki klient nie przejdzie przez drzwi w poszukiwaniu fryzury. Zgodnie z tą analogią fryzjer natychmiast budzi się ze snu, gdy zostaje pobudzony przez klienta, zapewnia fryzurę i natychmiast wraca do snu, gdy klient jest za drzwiami, ale budzi się, gdy pojawia się następny klient. Pod względem funkcji komputera odnosi się to do zasobów, które są w stanie uśpienia, dopóki nie będą potrzebne dla procesu, a następnie powrócą do tego samego stanu, aż do zainicjowania następnego procesu, tworząc opóźnienie między procesami, które może obniżyć ogólną wydajność.
Zdjęcia użyte do opisania problemu śpiącego fryzjera odnoszą się do fryzjera, który ma tylko okazjonalnego klienta, zwykle kończąc z jednym przed przybyciem kolejnego klienta, lub przynajmniej dociera do drugiego klienta z minimalną ilością czasu oczekiwania. Dopóki liczba klientów oczekujących w kolejce jest ograniczona do minimum i nikt nie jest niecierpliwy i nie wychodzi, można powiedzieć, że nie ma problemu, a samotny fryzjer nadąża za popytem. Jednocześnie, jeśli sklep zostanie zalany przez klientów żądających fryzur, ale fryzjer jest już zaangażowany, istnieje duże prawdopodobieństwo, że niektórzy z tych klientów nie będą czekać i odejdą.
Ten sam typ problemu fryzjera-śpiącego można zaobserwować w różnych rodzajach sytuacji przetwarzania związanych z technologią komputerową, która wymaga pewnego rodzaju aktualizacji, aby poradzić sobie ze wzrostem popytu. Na przykład, jeśli call center dla firmy jest zalewany przychodzącymi połączeniami od klientów, którzy chcą teraz pomocy, ale liczba przedstawicieli obsługi klienta nie jest wystarczająca, aby nadążyć za popytem, wówczas część tych klientów zrezygnuje z połączeń i ewentualnie szukać relacji z konkurentem. Podobnie w ramach systemów przetwarzania sieci komputerowej, jeśli zasoby przeznaczone na terminowe przetwarzanie zadań są niewystarczające do liczby zaangażowanych zadań, niektóre z tych procesów pociągną za sobą tak zwaną przerwę, a być może nawet zakończyć. Efektem końcowym jest utrata wydajności, która z kolei może spowolnić inne procesy, które zostały zaplanowane zgodnie z tymi, które przekroczyły limit czasu.
Nie ma jednego właściwego sposobu na rozwiązanie problemu śpiącego fryzjera. W zależności od konfiguracji używanego sprzętu komputerowego mogą istnieć sposoby wdrażania nowych podejść, które pomagają w realokacji zasobów, aby zadania mogły być zarządzane z większą wydajnością. Na przykład rekonfiguracja usług automatycznego asystenta dla centrum telefonicznego może zaoszczędzić czas poprzez automatyczne przekierowanie następnego połączenia w kolejce oczekującej do przedstawiciela bez konieczności ręcznego wybierania przez innego przedstawiciela innej oczekującej linii. Podobnie jak dodanie dodatkowych fryzjerów do sklepu ułatwia obsługę klientów szukających strzyżenia, dodanie dodatkowych zasobów w zakresie linii przychodzących i stacji obsługi klienta do obsługi wolumenu połączeń ułatwiłoby także obsługę wolumenu bez powodowania wielu opóźnień . W podobny sposób, rozszerzenie zasobów w sieci w celu obsługi dodatkowych funkcji i procesów może również pomóc zminimalizować problem z zasypianiem fryzjera i umożliwić systemowi bardziej wydajną pracę.