Blog (31)
Komentarze (132)
Recenzje (0)

Apple way - część 5 - CSI Macintosh

@SiplasApple way - część 5 - CSI Macintosh11.05.2010 14:44

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 naukowo OpenMacGrid - sieć obliczeniowa zbudowana na Makach Xgrid@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.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.