Skocz do zawartości

Skład Gier Sergiego

  • wpisy
    161
  • komentarzy
    916
  • wyświetleń
    178028

Ile jest chmury w chmurze?


Sergi

1221 wyświetleń

W poprzednim wpisie analizowałem plany Microsoftu dotyczące nowego Xbox Live. Pora przyjrzeć się najjaśniejszemu punktowi nowej usługi, i de facto jedynemu poważnemu uzasadnieniu ciągłego połączenia z siecią - Chmurze. Jeśli macie wolną chwilę i nie boicie się technicznego mumbo-jumbo to zapraszam.

cloud3.png

Dla porządku zacznę od tego, czym jest chmura. Chmura obliczeniowa to model przetwarzania informacji, polegający na przeniesieniu ciężaru obliczeń i przechowywania informacji z komputera klienckiego na serwer, który świadczy te usługi dla stacji do niego podłączonych. Definicja jest więc bardzo ogólna i może oznaczać prawie każdą stronę i usługę internetową.

Chmura jaka nas - graczy - interesuje, i jaką ma zamiar oferować Microsoft, polega na czymś bardziej skomplikowanym - dzierżawiona jest moc obliczeniowa dla obliczeń związanych z grami uruchomionymi na Xbox One, w czasie rzeczywistym. Dalej brzmi jak bełkot? Xbox One po podłączeniu do Xbox Live będzie mieć większą moc obliczeniową; Gry będą ładniejsze, jeśli będziecie podłączeni. Prościej się nie da.

MOC

Xbox One ma dysponować 1.2 teraflopsa* mocy obliczeniowej. Dla porównania, Xbox 360 miał około 0.1 teraflopsa a PS4 około 2**. I właśnie ta przewaga mocy sprzętu Sony jest dla Microsoftu problemem. Tutaj do akcji wkracza chmura, która ma zagwarantować każdemu Xboxowi moc przynajmniej 5 teraflopsów (tyle co TITAN nVidii). Piszę "przynajmniej" bo chmura ma być rozwijana, a jej moc rosnąć bez końca.

Skąd wezmą się te cuda? Microsoft ma własne farmy serwerów połączone w sieć Azure. 300 tysięcy z nich, obsługujących Xbox Live, ma - jeśli wierzyć słowom pracowników Redmond - moc równą wszystkim komputerom z 1999 roku. Brzmi nieźle, ale nie brałbym tego argumentu jako kluczowy w dyskusji. Przede wszystkim analitycy szacują moc tej farmy na rok 1993 lub 1994, inni mówią wprost, że Microsoft jest pięć lat za konkurencją. W 1999 komputery i konsole miały razem 180 miliardów IPS (instrukcji na sekundę), ale weźmy pod uwagę najlepszą możliwą opcję - moc wszystkich urządzeń cyfrowych z 1999, czyli 980 GIPS. Jeden IPS to około 71 flopsów, więc cała farma miałaby moc 69580000000000 flopsów. Niecałe 70 terafopsów, czyli tyle co 58 nowych Xboxów. Można to oczywiście położyć na karb zwykłego nieporozumienia. Chmura musi się jednak zmierzyć z jeszcze dwoma poważnymi problemami.

LAG

Lag, czyli opóźnienie, to przekleństwo wszystkich usług internetowych. Im szybciej i więcej danych chcemy przetworzyć, tym bardziej ograniczenia Sieci dają się we znaki. Pakiety informacji, zanim trafią do żądanego centrum obliczeniowego, muszą przemierzyć serwery, repeatery i routery. Każde urządzenie potrzebuje czasu, żeby przekazać dane. Ping w obrębie kontynentu wynosi średnio 100 milisekund. Dla człowieka to niewiele, mrugnięcie trwa dwa razy dłużej. Ale w świecie obliczeń komputerowych to epoka - odczyt z RAMu trwa prawie tysiąc razy krócej. Nawet jeśli serwer znajduje się w obrębie jednego kraju, trudno zejść poniżej 50 milisekund. A jeśli chcemy wykonywać obliczenia dla każdej klatki, musimy zmieścić się w 1/30 sekundy z każdym wysłaniem pakietu, jego przetworzeniem i odbiorem. Jeżeli gra ma działać w 60 klatkach na sekundę, opóźnienie w przesyłaniu danych do serwera musi wynosić poniżej 16 milisekund. To wszystko zakładając, że komputery w chmurze działałyby z opóźnieniami o rząd niższymi i czas na ich obliczenia byłby pomijalny. To wszystko sprawia, że gama zadań, przy których może nam pomóc chmura, poważnie się zawęża.

ŁĄCZA

Jest jeszcze druga strona medalu z napisem "Internet" - to, co potocznie nazywamy "szybkością" łącza, czyli jego przepustowość. Jeśli lag to prędkość z jaką płynie rzeka, przepustowość łącza to szerokość koryta. Prędkość prądu w przewodach i światła w światłowodach jest stała, więc to właśnie przepustowość decyduje o tym, jak wiele informacji możemy przesłać w jednostce czasu. Pod tym względem Internet też nie powala - Średnią prędkość łącz powyżej 10 Mbps mają tylko dwa kraje na świecie, a jej wzrost następuje powoli. Kraje rozwinięte oscylują wokół ośmiu megabitów, czyli jednego megabajta na sekundę. Jak to wygląda w porównaniu z mocą konsol? Pamięci Xboxa One, DDR3, mają przepustowość 68000 MB/s. Są więc równo 68 tysięcy razy szybsze od domowych łączy, a i tylko wtedy, kiedy założymy, że mamy symetryczne łącze. Przeważnie bowiem możemy wysyłać dane z 1/4 prędkości pobierania lub jeszcze mniejszą. Paradoksalnie, odwrotna sytuacja byłaby korzystniejsza - Wysoka prędkość wysyłu na pakiety informacji do przeliczenia, a mała na odpowiedź typu tak/nie.

Zarówno przepustowość łącza i opóźnienie mogą się oczywiście zmieniać, w obliczeniach zakładam, że nasz ISP jest uczciwy, a ruch sieciowy na trasie jest akurat niski.

Nie możemy więc liczyć na to, że obliczenia będą szybkie, ani że wykonamy ich w danym momencie bardzo wiele.

masterchief.png

KOMPRESJA

"No dobra" - powiecie pewnie - "Jak w takim razie działa OnLive? Przecież takie usługi na bieżąco przesyłają dane przez Internet i da się grać."

Rzeczywiście, do działania OnLive potrzeba tylko czteromegabitowego łącza. Ale też jego zasada działania znacznie różni się od tego, w jaki sposób ma działać nowa usługa MS.

Kolokwialnie mówiąc, jeśli w chmurze XOne przesyłamy informację "Marysia ma koszyk z sześcioma jabłkami, wkłada do niego osiem, a potem wyjmuje połowę. Ile jej zostaje?" to w OnLive prześlemy tylko "7 jabłek". Streaming gier korzysta z Internetu na dużo mniej newralgicznym odcinku niż hybrydowa chmura (bo tak chyba należy ten pomysł nazywać). Daje to dwie przewagi - po pierwsze, danych, jak już stwierdziliśmy, jest dużo mniej, a po drugie, dają się łatwo kompresować. Czemu w takim razie nie zastosować tego w nowym xboxie? Projekty które wyciekły, świadczą o tym, że silniki kompresji rzeczywiście zostaną zastosowane, i może to w pewnym stopniu poprawić osiągi konsoli - tak przy odczycie z dysku, jak i z Sieci. Niestety, kompresja, jaką można zastosować w przypadku danych do obliczeń jest dużo mniej wydajna niż ta stosowana w grafice. Ludzkie oko i uchu stosunkowo łatwo oszukać i oszczędzić do 80% danych bez wyraźniej utraty jakości. W przypadku surowych danych górna granica to ok. 50%. Oznacza to, że nasze łącze zamiast czterech megabitów będzie miało - przynajmniej dla tych usług - osiem megabitów. Kompresowanie i dekompresowanie danych też oczywiście trwa, ale - o czym wiedzą od dawna programiści - nawet skomplikowane algorytmy są tutaj szybsze niż odczyt surowych danych z nośników.

ZASTOSOWANIA

Czy wobec wszystkich tych problemów, usługa może się do czegoś przydać? Dobra wiadomość jest tak, że owszem, da się. Zła jest taka, że trudno obecnie o grę, która z tego skorzysta.

Nie możemy liczyć na pomoc przy obliczeniach fizyki, kolizji czy cieniowania. W kwestii oświetlenia chmura może w pewnych sytuacjach przygotować tzw. "pre-backed data". W grach z cyklem dobowym możemy dzięki temu otrzymać nieco lepsze oświetlenie. Specjaliści upatrują szansy jednak na innym polu. Chmura może przetworzyć duże ilości skomplikowanych danych, które nie są czułe na opóźnienia. Możemy więc dzięki temu otrzymać dużo lepsze AI napotykanych w grze postaci. Świat w GTA czy Elder Scrolls nie zamarzałby więc w momencie wyłączenia konsoli, tylko żył dalej swoim własnym życiem.

Najbardziej trywialnym, ale i być może najlepszym zastosowaniem dla całej masy tych serwerów byłyby... mecze multiplayer. Obecnie duża część gier korzysta z technologii P2P, która co prawda nie wymaga dedykowanego hosta, ale wiąże się z wieloma problemami. Gdyby dostępne były mocne serwery gotowe w każdej chwili poprowadzić rozgrywkę, jej jakość znacząco by się podniosła. Dzięki jednemu ośrodkowi, w którym odbywają się obliczenia, nie byłoby problemów z brakiem CSHD***, "drewnem" czy lag switchami. Nawet gry już teraz korzystające z dedykowanych serwerów mogły by zyskać na przejściu do chmur. Większe mapy, większa ilość graczy, bardziej złożone mechanizmy - to tylko niektóre elementy, które dzięki chmurze mogą się znaleźć w zasięgu developerów.

PODSUMOWANIE

Microsoft przez swoją chmurę znalazł się w trudnym położeniu. Z jednej strony jest to krok naprzód w dziedzinie grania w sieci i spory postęp; Coś, czego do tej pory nie było. Z drugiej strony mamy przecież już technologie, które są dwa kroki dalej: OnLive, GaiKai czy CoreOnline przeskoczyły trudny etap i znalazły się w nowej erze, podczas gdy Microsoft dopiero przechodzi przez ogrodzenie. Trudno jest przy tym oprzeć się wrażeniu, że właśnie nabił się jajkami na siatkę smile_prosty.gif

Jeżeli chmura ma przetrwać, to jej koncepcja musi zostać znacząco zmieniona i dopasowana do rzeczywistości. W końcu nawet najbardziej kusząca i ambitna wizja jest nic nie warta, jeśli nie da się jej w żaden sposób wykorzystać w rzeczywistości.

PS Jeśli dotrwaliście do tego punktu bez zasypiania, napiszcie w komentarzach, czy chcecie więcej takich wykładów.

* FLOPS - Float Operations Per Second, operacji zmiennoprzecinkowych na sekundę.

** GPU ma 1.84, dokładna moc Jaguara nie jest jeszcze znana.

*** CSHD - Client Side Hit Detection, funkcja na której brak narzekali m.in. gracze serii Gears of War.

Źródła:

eurogamer.net/articles/digitalfoundry-in-theory-can-xbox-one-cloud-transform-gaming

vg247.com/2013/06/14/xbox-one-has-infinite-cloud-grunt-power-of-ten-xbox-360s-microsoft/

theatlantic.com/technology/archive/2013/05/xbox-one-our-servers-will-have-more-power-than-all-the-computers-in-1999-us-really-expert-almost/276131/

eurogamer.net/articles/digitalfoundry-sony-details-final-ps4-spec

7 komentarzy


Rekomendowane komentarze

PS - Dawaj!

Ja mam łącze asymetryczne, 250 kilobajtów downloadu w dzień i 1 megabajt od 11 w nocy do 11 rano. Na moje potrzeby starcza, ale chmura by mnie zadławiła.

Link do komentarza

Dobry tekst, przyznam że mimo tego że śledziłem newsy o nowym Xboxie, to jakoś mi umknęło wykorzystanie "chmury", ale teraz już wiem o co chodzi.

Liczę na więcej takich wpisów! :)

Link do komentarza
Gość
Dodaj komentarz...

×   Wklejony jako tekst z formatowaniem.   Wklej jako zwykły tekst

  Maksymalna ilość emotikon wynosi 75.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...