Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Apple way - część 5 - CSI Macintosh

Na początek intymne wyznanie - jestem stałym i wiernym oglądaczem wszystkich odsłon kryminalnego cyklu o funkcjonariuszach CSI. Czy to w Nowym Jorku czy w Miami geniusz policyjnych analityków rzuca mnie zawsze na kolana. Stworzenie portretu przestępcy na podstawie odbicia jego wizerunku w zderzaku zaparkowanego na miejscu zbrodni samochodu jest prawdziwym wyczynem i nie jest to akurat wyczyn najbardziej spektakularny. Te najciekawsze zwykle realizowane są z pomocą wybajerzonych komputerów na trójwymiarowych pulpitach wirujących w powietrzu jak hologramy, a najbardziej wyrafinowane analizy trwają w najgorszym przypadku jakieś siedem minut. No, może osiem. Przecudnej urody funkcjonariuszka swoimi zgrabnymi paluszkami wbija z wirtualnej klawiatury kilka literek lub cyferek odszyfrowanych ze skrawka spalonego prawa jazdy i już po chwili na ekranie pojawia się zdjęcie złoczyńcy (lub ofiary) w ujęciu modelowym, opisane milionem parametrów z rozmiarem buta i kulinarnymi upodobaniami na czele - po prostu ideał państwa policyjnego. I to wszystko w efektownej cukierkowej oprawie jakiej nawet w grach nie uświadczymy. Fantazja? W takim wydaniu na pewno tak, ale sama idea już taka fantastyczna nie jest.

Zwykle przy takiej okazji staram się na ekranie wypatrzeć mojego ulubionego Maczka, wszak jest to chyba najlepszy aktor wśród komputerów, ale akurat w CSI Maczki nie przeszły castingu. A szkoda, pasowałyby tutaj całkiem nieźle. Firma Apple zawsze z dużym respektem odnosiła się do sfer uniwersyteckich, naukowych i szeroko pojętej edukacji. Swojego czasu był to nawet obszar gorącego sporu ze swoim głównym konkurentem, który oskarżał Apple o nieuczciwą konkurencję na tym polu. Dzisiaj mało kogo zaskakuje iMac na biurku genetyka lub MacBook w torbie uniwersyteckiego fizyka i przyczyną tego nie jest snobizm czy upodobanie a jedynie praktyka. Komputery Apple, a właściwie ich oprogramowanie ma kilka cech, które bywają cenne dla ludzi nauki.

Z czysto praktycznego punktu widzenia fakt, że MacOSX jest systemem zgodnym ze specyfikacją UNIX03 automatycznie daje mu fory na drodze do serc studentów i naukowców. Apple konsekwentnie dba o potwierdzanie tych dobrych opinii oferując sporo narzędzi systemowych wspierających ich pracę. Najważniejszym jest oczywiście pakiet Xcode - kompletne środowisko programistyczne, regularnie aktualizowane i dostarczane wraz z każdą kopią systemu. Pozwala pisać programy praktycznie w dowolnym popularnym i obecnym w systemie języku programowania, od C przez Ruby do Pythona. Wszystko to bardzo dobrze udokumentowane i wspierane, a nie bez znaczenia jest też brak opłat za to narzędzie. Można co prawda skorzystać z płatnego (99$/rok) uczestnictwa w Mac Developer Program, ale nie jest to obowiązkowe. Dzięki temu powstaje dużo specjalistycznego, niszowego oprogramowania tworzonego w dużej mierze dla potrzeb konkretnych projektów naukowych. Dodatkowym atutem są promowane przez Apple rozwiązania i technologie wspierające prace programistów. OpenCL, Grand Central Dispatch, Quartz Extreme, Xgrid - to tylko te najważniejsze.

OpenCL - Open Computing Language - otwarta konkurencja dla np. CUDA Nvidii, pozwala na zaprzęgnięcie do pracy mocy procesorów wszystkich urządzeń obecnych w systemie, np. kart graficznych. Dzięki temu zmiennoprzecinkowe operacje mogą być wykonywane tysiące razy szybciej i doceniają to wszyscy ci, którzy programują algorytmy analiz danych np. meteorologicznych lub molekularnych. Bazujący na C99 język korzysta z API umożliwiającego kontrolę dowolnego urządzenia i ich równoległą pracę.

GDC - Grand Central Dispatch - opracowana przez Apple technologia wsparcia dla programowania aplikacji działających w 64-bitowym środowisku MacOSX na procesorach wielordzeniowych. Dzięki niej można już na etapie projektowania aplikacji zadbać o równomierne wykorzystanie mocy wszystkich rdzeni lub zdecydować o rozdziale wątków na każdy z nich. Początkowo technologia ta sprawiała pewne problemy, ale po wyrośnięciu z wieku dziecięcego nabrała rozpędu i jest dzisiaj jedną z najważniejszych cech MacOSX. M.in. dzięki technologii GDC aplikacje optymalizowane pod MacOSX Snow Leopard notują lepsze wyniki wydajności niż uruchamiane bez niej na starszych systemach. Osiągane są nawet kilkudziesięcio-procentowe wzrosty wydajności.

Quartz i Quartz Extreme - API odpowiedzialne za renderowanie grafiki na ekranach komputerów. Quartz obsługuje grafikę 2D (także wektorową) na bazie formatu PDF, Quartz Extreme realizuje obsługę okienkową systemu i aplikacji zapewniając przy okazji interakcję z użytkownikiem. Wykorzystuje potencjał współczesnych kart graficznych i dzięki temu pozwala na generowanie najróżniejszych efektów. W dużej mierze Quartz Extreme jest odpowiedzialne za efektowny wygląd Findera. Z kolei dzięki technologii Quartz uzyskujemy nieograniczony dostęp do formatu PDF, który w MacOSX może być obsługiwany w dowolnej aplikacji, a sam system wykorzystuje go np. w opisanym już przeze mnie QuickLook.

Xgrid - opracowana przez Apple technologia obsługi klastrów, która praktycznie od chwili udostępnienia spotkała się z dobrym przyjęciem na wielu amerykańskich uczelniach. Umożliwia bardzo proste budowanie sieci obliczeniowych bez konieczności dostępu do czułych zasobów lokalnego komputera. W pakiecie Xcode dostępne są biblioteki pozwalające na pisanie programów korzystających z Xgrid. Tak zorganizowany klaster działa na zasadzie podobnej do tej znanej z projektu Seti@Home - w okresie bezczynności (lub przez cały czas w wydzielonym procesie) komputer wykonuje działania cząstkowe przeliczając wg zadanego algorytmu paczki dostarczanych danych, a następnie zwraca wyniki do kontrolera. Przyłączenie się do klastra i udostępnienie własnej mocy obliczeniowej wymaga jedynie prostej konfiguracji, kilku kliknięć w odpowiednim panelu kontrolnym bez potrzeby instalowania dodatkowego oprogramowania. Udostępniamy tylko moc (lub jej nadmiar) i odrobinę pamięci naszego systemu.

A ile to wszystko ma wspólnego z laboratoriami CSI? W wydaniu filmowym niewiele, ale w praktyce technologie oferowane przez Apple pozwalają na zaprzęgnięcie do pracy obliczeniowej potencjału nie tylko jednego systemu. Dzięki temu możliwe jest wykonywanie skomplikowanych obliczeń i analiz w czasie wielokrotnie (czasami są to krotności liczone w tysiącach) krótszym niż w standardowych warunkach. A są to czynniki niezwykle istotne w krytycznych zastosowaniach, np. takich, jakie możemy oglądać w przywołanym kryminalnym serialu, przy analizie niezliczonej ilości danych. Przykłady można mnożyć - operacje macierzowe, układy równań różniczkowych, liczby pierwsze i wiele innych problemów rozwiążemy dużo sprawniej korzystając np. z OpenCL lub Xgrid.

Nie będę ściemniał, innowacyjność rozwiązań Apple nie dotyczy idei a jedynie narzędzi - podobne rozwiązania dostępne są właściwie na każdej platformie i w większości współczesnych systemów, ale Apple swoje zrealizowało w sposób dla siebie charakterystyczny. Wraz z systemem otrzymujemy wszystkie narzędzia, dzięki którym przy właściwych wiedzy i umiejętnościach możemy szybko i sprawnie stworzyć własną sieć obliczeniową, a przy okazji zaprząc do tego cały potencjał sprzętowy obecny w naszych maszynach. M.in. dlatego w wielu uczelniach amerykańskich komputery Apple cieszą się sporą popularnością w zastosowaniach związanych z meteorologią, fizyką molekularną, genetyką czy kryptologią.

Dla ciekawych:

MacResearch - Macintosh na naukowoOpenMacGrid - sieć obliczeniowa zbudowana na MakachXgrid@stanford

Program na dziś:

Quicksilver

Mały, uruchamiany w tle program, dzięki któremu usprawnimy wykonywanie najczęściej stosowanych w systemie operacji. Uruchamianie aplikacji, otwieranie dokumentów, wyszukiwanie kontaktów i wiele innych dzięki Quicksilver sprowadza się do dwóch prostych czynności - skrót klawiaturowy przywołuje małe okienko, a wpisane w nim kilka pierwszych liter tytułu poszukiwanego obiektu przywoła nam jego ikonę z informacją o lokalizacji. Po naciśnięciu klawisza Return uruchomi się odpowiednia akcja.
Quicksilver obsługuje także mechanizm plug-in oraz tzw. triggery. Te pierwsze pozwalają skorzystać z funkcji właściwych dla konkretnych aplikacji lub dokumentów, te drugie pozwalają przypisać akcje do skrótów klawiaturowych. Dzięki temu możemy szybko wykonywać np. skrypty shell’a lub AppleScript.
Quicksilver wg mnie to obowiązkowa pozycja w systemie każdego użytkownika MacOSX. 

Komentarze

0 nowych
  #1 12.05.2010 15:35

Jeśli pracujesz w apple to żądaj podwyżki - świetnie ci idzie promowanie maców ;)

mati75   6 #2 12.05.2010 20:39

"OpenCL - Open Computing Language - otwarta konkurencja dla np. CUDA Nvidii, pozwala na zaprzęgnięcie do pracy mocy procesorów wszystkich urządzeń obecnych w systemie, np. kart graficznych."
A apple przypadkiem nie korzysta z kart nvidii?

Siplas   8 #3 12.05.2010 21:22

Tak, Apple używa kart Nvidii, ale oni też od niedawna wspierają openCL i aktywnie uczestniczą w rozwoju. Więcej tutaj: http://www.khronos.org/members/promoters

n-pigeon   5 #4 12.05.2010 22:33

Jeśli chodzi o tekst to można to powiedzieć nie tylko o macach.

OpenCL spoko, ale implementacje są jeszcze nie stabilne i nie nadaje się do każdego rodzaju obliczeń.

roobal   14 #5 13.05.2010 04:27

Bez przesady z tym brakiem Maczków w CSI. Maki bardzo często występują i często je widzę, może nie w każdym odcinku ale jednak są i to nie raz czy dwa, zarówno w CSI: Miami jak i NY.

Najczęściej jednak występują komputery HP lub Dell :)

Na uniwersytetach oprócz Maków wykorzystuje się też wolne oprogramowanie ze względu na swobodę modyfikacji kodu i pisania chociażby własnych sterowników do przeróżnych urządzeń i dostosowania ich do własnych potrzeb.

Chociażby tutaj fajnie opisano jeden z przykładów http://www.linux.pl/?id=article&show=516

Pozdrawiam!

  #6 13.05.2010 10:58

Nie ma to jak mac-fan :) Nie wiem czy zauważyliście ale wielbiciele maców ze Stevem Jobsem na czele potrafią nawet najbardziej podstawową technologię dostępną w ich sprzęcie przedstawić jako rewolucje, rewelacje itp. i przy okazji wyciągnąć niezłą kasę od użytkowników, brawo za marketing stary. Swoją drogą ile Apple ci płaci za takie artykuły?

Siplas   8 #7 13.05.2010 11:13

@digitalbear
A możesz rozwinąć tą swoją głęboką myśl? Jaka to jest ta "najbardziej podstawowa technologia dostępna w ich sprzęcie"? I gdzie w związku z nią wyciągana jest niezła kasa?

Apple mi nie płaci, a szkoda...

n-pigeon   5 #8 13.05.2010 15:02

@ digitalbear

Głupoty gadasz software Appla jest bardzo dobry (na pewno lepszy niż produkty MS), jedynie sprzęt jest dość drogi, ale taka już marka.

Jedyną wadą Apple jeśli już, są obwarowania licencyjne i przesadzona zamkniętość.

roobal   14 #9 13.05.2010 21:02

@n-pigeon

Niestety zawsze jest coś za coś - w przypadku Maków system operacyjny jest tani a sprzęt drogi. W przypadku PC jest odwrotnie - tani sprzęt a ceny Windowsa wzięte z kosmosu i mam tu namyśli edycje pudełkowe a nie preinstalowane OEMy z masą śmieci, które są nam wciskane i do tego, moim zdaniem na gorszych warunkach licencyjnych niż system Apple. Zamkniętość Apple przy Windows OEM to pikuś.

Poza tym zamkniętość Apple ma tylko swoją zaletę - lepiej dopracowany system pod konkretną architekturę sprzętową i praktycznie brak problemu ze sterownikami.

Pozdrawiam!

n-pigeon   5 #10 14.05.2010 11:38

@ roobal

No cenny Appla są jakie są, nie czepiam się zbytnio tego.

Zamkniętość Apple nie ma nic wspólnego z dopracowaniem lub brakiem problemów z sterami. Tu raczej chodzi o wolność, tego że mogę zainstalować co chce, na czym chce, a to czy to stabilne czy nie, to moja sprawa :)

  #11 01.06.2010 13:43

Ludzie "zamkniętość"? Co to za wyraz w ogóle? Żaden ze mnie purysta. Po prostu brzmi jakby dziecko z podstawówki to pisało.

"Brak otwartości Apple...", "Ograniczona dostępność Apple...";