wtorek, listopada 17, 2009

Wilcze Stado

Tworząc rozproszony system obliczeniowy, w którym nie jesteśmy w stanie oszacować obciążenia całości układu w czasie, musimy rozważać różnorakie scenariusze: utrzymywanie całości sieci w stanie gotowości może wiązać się ze zbyt dużym kosztem, przydzielając sztywną ilość jednostek do danego zadania nie jesteśmy w stanie reagować na zmieniające się wymagania. Założenie, że wszystkie jednostki są identyczne, może być zbyt niewygodne, niektóre zadania wchodzące w skład procesu mogą wymagać specyficznie skonfigurowanych jednostek.

W celu uniknięcia takich problemów, by sieć była efektywna oraz odpowiednio wykorzystywała zasoby, będąc jednocześnie elastyczną i łatwą w utrzymaniu zastosujemy podejście zakładające dużą samodzielność poszczególnych jednostek. Takie podejście oraz taką sieć nazwę Wilczym Stadem. Wewnątrz stada, różnicujemy jednostki ze względu na ich stopień gotowości do wykonania zadania. Jednostki oddelegowane do wykonywania zadań stada określimy mianem wilków, jednostki wykonujące inne zadania, a mogące dołączyć do stada po otrzymaniu odpowiedniego sygnału nazwiemy wilkołakami. W przypadku, gdy utrzymywanie stanu gotowości wiąże się ze zbyt dużymi kosztami, pojedynczą jednostkę można przeprowadzić w stan uśpienia. Śpiąca jednostka może przejść w stan gotowości w reakcji na sygnał od stada. Jednostkę której zadaniem jest koordynacja stada, rozdzielanie zadań pomiędzy jednostki, nazwiemy samcem alfa lub też przywódcą.

Nadchodzące nowe zadanie wymusza na przywódcy określone zachowanie, oprócz zadania przywódca może otrzymać również podstawowe parametry budowanego stada. Zróżnicowanie zadań i obciążeń pozwala wykonywać kilka zadań wewnątrz jednej sieci. Wystarczy wydzielić kilku przywódców i każdy z nich będzie budował własne stado, pobierając jego członków ze wspólnej puli jednostek. Przywódca buduje swoje stado postępując według poniższych reguł:
  • wezwij aktywne wilki do stawienia się w stadzie
  • nie mając odpowiedniej ilości jednostek obudź śpiące wilki i powtórz wezwanie
  • nie mając odpowiedniej ilości jednostek wezwij wilkołaki do stawienia się w stadzie
  • nie mając odpowiedniej ilości jednostek obudź śpiące wilkołaki i powtórz wezwanie

Przywódca mając zbudowane całe stado rozdziela zadania pomiędzy jednostki kierując się ich specyfiką. Może dochodzić do wydzielenia mniejszych sieci, łączących jednostki ze względu na ich charakterystyki. Jednostka która zakończyła swoje zadania zgłasza ten fakt przywódcy i może otrzymać nowe zadanie, lub też zostać odłączone ze stada. W przypadku gdy któreś zadanie wymaga powiększenia sieci przywódca powiększa ją w taki sam sposób w jaki buduje sieć. Sieć może być budowana na bieżąco wraz z rozdzielaniem zadań.

W sieci w której należy liczyć się z tym, że jednostki mogą w sposób niespodziewany odłączyć się od stada wszystkie poszczególne jednostki muszą posiadać funkcję przywódcy. Przy czym przywództwo ustalane jest na zasadzie poniższego algorytmu:
  • będąc przywódcą, rozgłoś to po całym stadzie
  • nie otrzymawszy przez określony czas sygnału od przywódcy stań się pretendentem i rozgłoś ten stan po całym stadzie
  • nie otrzymawszy przez określony czas sygnału od przywódcy i będąc pretendentem uczyń się przywódcą i rozgłoś to po całym stadzie
  • będąc przywódcą i otrzymawszy sygnał od przywódcy przestań być przywódcą
  • będąc pretendentem i otrzymawszy sygnał od przywódcy przestań pretendować

Sieć taką możemy zastosować w rozproszonych systemach testujących, obliczeniowych, monitorujących. Wszędzie tam, gdzie nie mamy stałego obciążenia, obciążenie się zmienia w czasie, zapotrzebowanie na jednostki jest mocno zmienne.

sobota, listopada 07, 2009

Darmowe Ogłoszenia

Serwis: olx.pl


Nie mam w zwyczaju pisać o konkretnych serwisach oraz stronach internetowych. Nie lubię i już. Jednak wielokrotnie ponawiana prośba mailowa, kierowana do mnie przez Anne M. z serwisu OLX, skłoniła mnie w końcu, do tego żeby jednak o nim na moim blogu napisać - skoro tak ładnie proszą... Zaznaczam jednak, że to co niżej opisane, zebrałem w dniach 5-7 listopada 2009 roku, więc jak coś nie wygląda tak jak tu pisze, to może już zostało zmienione.

Serwis ten jest kolejnym agregatorem darmowych ogłoszeń, który wchodzi na nasz dość nasycony rynek, albo próbuje się przebić ciut wyżej w rankingu google. Już przy wejściu na stronę www.olx.pl rzuca mi się w oczy przywitanie mnie imieniem jakiegoś użytkownika, dziwne, nigdy tam nie zakładałem konta, z mojego komputera też nikt z tego serwisu korzystać nie mógł, więc skąd ta nazwa?

No nic, każdemu może zdarzyć się taki błąd, lecz ten akurat może znaczyć, że w jakiś sposób można przejąć sesję innego użytkownika. Wpadek gramatycznych i językowych w całym serwisie jest kilka, moim ulubionym jest guzik "Dzielić", służący do przesyłania poszczególnych ogłoszeń na społecznościowe systemy dzielenia się linkami, inny fajny krzak, jest we wskazówkach dla kupujących, jest tam cenna porada aby "płacić za korzystanie z serwisu PayPal". Te potknięcia wynikają pewnie z tego, że ten serwis występuje również w innych językach, został przetłumaczony, jednak nikt tego tłumaczenia nie przejrzał.

Oszczędnie zaprojektowany wygląd nie trafia w moje gusta, przyzwyczajony jestem do trochę bardziej nowoczesnego podejścia do projektowania stron. Pomimo tego, że początkowa lista kategorii jest dość bogata, jednak odznacza się ona wyjątkowo płaską strukturą: przykładowo w dziale kupię/sprzedam jest kategoria zwierzęta, w której znajdują się wszystkie typy zwierząt, od koni przez koty do świnek morskich.

Wyszukiwarka nie odznacza się zbytnią inteligencją, działa dość ociężale, szukając kota nie wyszuka mi sama ogłoszeń sprzedaży kotków, kociaków i kociąt. Nie jest też jasne, w jaki sposób mógłbym wykluczyć pewnych słów z wyszukiwania, przykładowo szukam pracy, ale nie jako przedstawiciel handlowy. Metodą prób i błędów udało mi się w końcu odkryć, że użycie gwiazdki, pozwala na wyszukiwanie słów które zaczynają się od pewnych znaków, zaś wstawienie słówka "not" pozwala odrzucić słowa z wyników. Do tej pory nie wiem jak wyrzucić pełne frazy z wyników, wygląda na to, że przeglądarka nie traktuje zdań w apostrofach jako ważnych tylko w całości. Wyszukiwarce jest też wszystko jedno w którym miejscu ogłoszenia znajdzie wyszukiwaną frazę, tytuł traktuje na równi z treścią, nie można też szukać w samych tytułach.

Mnóstwo ogłoszeń, pomimo występowania na liście, radośnie oznajmia mi, że nie istnieje. Często jest to większość ogłoszeń z jakiejś kategorii, to trochę denerwujące, gdy po raz piąty trafia się w pustkę. Drogą dedukcji doszedłem do wniosku, że te nie istniejące ogłoszenia są własnoręcznie usunięte przez twórców. Nie znalazłem też nigdzie informacji o tym, jak długo ogłoszenie będzie trwało na stronie. Wygląda na to, że jak się je doda, to będzie tkwiło w nieskończoność. Czasem, gdy w jakimś konkretnym regionie, nie znajdzie odpowiedzi na zadane wyszukiwanie zwraca wyniki z innych województw, nie jest to oznaczone, więc byłem mocno zdziwiony znajdując na podkarpaciu wyniki z Kielc. Nie ma też prostej metody na przejście z jednego województwa do drugiego będąc na liście ogłoszeń w danym mieście. Można wpisać miasto, albo klikać kilkukrotnie wracając do głównej strony, po to by przejść do województwa. Nie ma też możliwości wyszukania czegoś w województwie oraz województwach ościennych.

Próbowałem umieścić ogłoszenie, udało mi się, jednak zdziwiła mnie bardzo uboga lista opcji. Poza kilkoma standardowymi polami nie mam możliwości zdefiniowania choćby listy tagów, pozostaje mi jedynie pole opisu. Ta skąpa lista pól, połączona z płaską strukturą kategorii daje w wyniku to, że cały serwis sprawia wrażenie pomieszanego i chaotycznego. Co ciekawe, umieszczając ogłoszenie nie trzeba akceptować regulaminu, czyli, można ogłaszać i robić wszystko co jest określone prawem (regulamin w kilku miejscach jest bardziej stanowczy). Innym poważnym błędem jest brak regulaminu w języku polskim, jest tylko angielska wersja. Nie jestem pewien, ale wydaje mi się, że w naszym prawie jest tak, że umowy (a regulamin jest takową) mają znaczenie tylko wtedy jak są spisane po polsku.

Brakuje mi też tego, że przy zgłaszaniu naruszeń regulaminu (a jest po co? - patrz wyżej), nie ma pola z powodem. Takimi oczywistościami jak jawna pornografia się nie należy przejmować, ale, co jeśli podejrzewamy oszustwo, jest kilkanaście identycznych ogłoszeń lub znajdujemy kilka identycznych ogłoszeń, różniących się tylko drobnym, acz znaczącym szczegółem (przykładowo - to samo zdjęcie, inne imię, inny telefon). Każde zgłosimy raz i najprawdopodobniej nic się nie stanie, bo każde z osobna jest w porządku, dopiero razem wyglądają podejrzanie.

Na sam koniec zostawiłem sobie to, co jest szczególnie promowane: wersja mobilna. Udało mi się doczołgać do wersji mobilnej na swoim BlackBerry. Powinienem być od razu tam przekierowany, przy wejściu z urządzenia mobilnego, lub chociażby powinien pojawić się jakiś link, baner, wskazujący mi drogę (głupio to wygląda, jak na urządzeniu widzę "wejdź ze swojej komórki na adres..."). Na urządzeniu mobilnym prezentuje się bardzo dobrze, odpowiednio zmieniony wygląd jest dostosowany do małych ekranów. Czcionka mogłaby co prawda być ciut większa, dla urządzeń o większej rozdzielczości, jednak nie jest to coś co uniemożliwia przeglądanie serwisu.

* * *

Podsumowując, serwis jest ubogi w funkcjonalności, wypełniony drobnymi niedociągnięciami, zaginionymi ogłoszeniami. Rażą dziwaczne błędy w tłumaczeniach, dziwi prosta lista kategorii. Z wielu miejsc wygląda niestaranne wykonanie i nieskończenie. Jest to któryś z kolei serwis z darmowymi ogłoszeniami, każdy nawet niezbyt rozgarnięty programista jest w stanie wykonać taki serwis w kilka wieczorów. Zamiast wysyłać prośby o oceny do blogerów, mogli posadzić dziesięciu testerów przed systemem i na pewno wyłapali by wszystkie niedociągnięcia o których tu napisałem (oraz całą masę innych których nie chciało mi się tu wymieniać). Może wtedy nie miałbym wrażenia amatorszczyzny wykonania.

wtorek, listopada 03, 2009

Zwykły dzień...

Wypadek, Generała Maczka, RzeszówWychodzisz rano z domu, jest chłodno, idziesz do pracy. Tak jak co dzień, tak jak przez ostatnie kilka lat i tak jak myślisz, że będziesz chodził przez kolejne kilkanaście. Myślisz, że do domu wrócisz wieczorem, zrobisz zakupy, nakarmisz kota.

Do domu nie wracasz, bo ktoś cię zupełnie przypadkiem rozbija na przejściu, skrzyżowaniu, dostajesz zawału. Wszystkie niezamknięte sprawy stają się z miejsca nieaktualne, nic co chciałeś dokończyć dokończone nie zostanie. Czasem warto o tym pomyśleć.