Platforma z bliska

Mając do dyspozycji odpowiednie narzędzia, przeniesienie aplikacji na platformę Itanium, a nawet optymalizacja jej wydajności nie są specjalnie trudne.

Mając do dyspozycji odpowiednie narzędzia, przeniesienie aplikacji na platformę Itanium, a nawet optymalizacja jej wydajności nie są specjalnie trudne.

Zorganizowana pod koniec maja br. przez HP konferencja Itanium Developer Forum miała na celu przybliżenie możliwości platformy Itanium 2 firmom zajmującym się tworzeniem oprogramowania. Impreza była w sumie kameralna - na konferencji zjawiło się nieco ponad 70 osób - głównie inżynierów i analityków systemowych.

"Impreza była w sumie udana. Ci, którzy o Itanium wiedzieli niewiele, mogli zdobyć podstawy i porozmawiać o planach i strategiach dostawców technologii na tę platformę. Czasu nie stracili również ci, którzy nad prezentacje marketingowe przedkładają praktyczne doświadczenia. Przez trzy dni mogliśmy podczas warsztatów portować wybrane aplikacje na jednym z działających na Itanium systemów" - mówi Aleksander Grzebyta, główny specjalista w PB Polsoft.

Wydajność w centrum

W determinację producentów stojących w sprawie Itanium po stronie Intela nikt raczej nie wątpi - prędzej czy później Itanium zajmie poważne miejsce w informatyce, diabeł jak zwykle tkwi jednak w szczegółach. To właśnie dlatego największym wzięciem na konferencji cieszyły się wykłady dotykające kwestii najbardziej fundamentalnej dla potencjalnych użytkowników nowej platformy, jaką bez wątpienia jest wydajność aplikacji.

Jedną z ciekawszych prezentacji był wykład Johna Wooda, inżyniera z europejskiego działu wsparcia partnerów w HP. Był to przegląd dostępnych narzędzi migracyjnych i kompilatorów dla platformy Itanium oraz konsekwencji ich stosowania.

"Wiedzieliśmy, że Itanium daje wzrost wydajności przede wszystkim po rekompilacji kodu za pomocą dedykowanych dla tej platformy kompilatorów. John Wood podał, że po rekompilacji i optymalizacji można liczyć na dwu-, trzykrotny wzrost szybkości wykonywania operacji. Ilość dostępnych technik i narzędzi optymalizacji, analizy i strojenia wydajności wskazuje, że przeprowadzenie odpowiedniego procesu portowania istniejących aplikacji na nową platformę jest krytyczne dla maksymalnego wykorzystania możliwości nowej platformy" - twierdzi Jarosław Buchowiecki, kierownik zespołu rozwoju w ComputerLand SA w Warszawie.

"Dzięki mechanizmowi dynamicznej translacji, również aplikacje skompilowane na platformę PA-RISC mogą być uruchamiane na Itanium. Wtedy jednak mogą działać nawet kilkakrotnie wolniej w stosunku do platformy PA-RISC. To oczywiście oznacza, że z punktu widzenia poprawy wydajności uruchamianie istniejących aplikacji na platformie Itanium 2 bez rekompilacji kodu nie ma sensu" - wnioskuje Jarosław Buchowiecki.

John Wood wskazywał jednak, że ostateczna wydajność binariów przeznaczonych dla PA-RISC na platformie Itanium 2 zależy w dużej mierze od typu aplikacji. Według niego aplikacje intensywnie wykorzystujące funkcje systemowe, jak np. serwer Apache, mogą na Itanium 2 dorównywać wydajności swoich odpowiedników na platformie PA-RISC. Na drugim biegunie są aplikacje korzystające z obliczeń na liczbach całkowitych. Spadek wydajności może być dwu-, a nawet czterokrotny, zaś w przypadku obliczeń zmiennoprzecinkowych - od 3 do 6 razy.

Lody topnieją

Platformą Itanium interesują się firmy, które dotychczas grały przede wszystkim w drużynie Sun Microsystems. Kto wie, czy w dłuższym okresie nie zmusi to Suna do zaoferowania serwerów Itanium 2. W oczach wielu klientów Sun już jakiś czas temu utracił bowiem pozycję lidera wydajności. Przykładem firmy eksperymentującej z Itanium jest ComArch.

"Nasze systemy billingowe działają na platformie Sun Solaris. Kiedyś robiliśmy testy z pierwszą wersją Itanium, ale wydajność tamtych układów nie była rewelacyjna. Obecnie mamy w firmie serwer z procesorami Itanium 2, na którym działa system billingowy Tytan. Tu wydajność, a zwłaszcza stabilność jest znacznie lepsza. Wygląda na to, że jeśli klienci będą zainteresowani, to zaoferujemy im taką wersję" - mówi Benedykt Zgutka, główny projektant w ComArch SA w Krakowie.

Pierwsze doświadczenia ze strojeniem i optymalizacją aplikacji dla Itanium ma za sobą Teta SA, która większe rozwiązania oferowała dotychczas na platformie Alpha. "Itanium interesujemy się już od dawna, bo platformy 32-bitowe w niektórych zastosowaniach już jakiś czas temu okazaywały się za słabe. W szczególności mam tu na myśli ograniczenie do 2 GB dla jednego procesu bazy danych, np. Oracle czy SQL Server 2000, co daje o sobie znać zwłaszcza w rozwiązaniach analitycznych. Kilku naszych klientów już wykorzystuje Itanium produkcyjnie" - twierdzi Mariusz Konarski, inżynier systemowy w Teta SA.

Nowa platforma oferuje też większą skalowalność i to nie tylko jeśli chodzi o możliwość adresowania pamięci. "Itanium 2 prezentuje się dobrze pod względem obciążalności - dodawanie kolejnych użytkowników w aplikacji pracującej na 64-bitowej wersji Windows Server 2003 na Itanium 2 nie powoduje nagłego załamania się wydajności, jak ma to miejsce w przypadku tej samej aplikacji działającej na 32-bitowej wersji tego systemu " - wyjaśnia Mariusz Konarski.

Systemy z priorytetem

Podczas Itanium Developer Forum inżynierowie mieli możliwość skompilowania kodu swoich aplikacji kompilatorami udostępnionymi przez Intela i HP. W ciągu trzech dni na Itanium 2 uczestnikom konferencji udało się przenieść i wstępnie zoptymalizować 24 aplikacje - niektóre nawet na wszystkie 4 systemy: HP-UX, Linux, OpenVMS i Windows.

Oczywiście firmy, których aplikacje były tworzone w technologii Java, miały znacznie prostsze zadanie, jako że HP od dawna inwestował w rozwój JVM dla Itanium. "Muszę przyznać, że byłem zaskoczony bogactwem narzędzi do migracji i profilowania aplikacji Java - Itanium to w końcu nowa platforma. Poza tym JVM - przynajmniej na HP-UX - działa stabilnie i wydajnie i to nawet z serwerem aplikacji JBoss" - mówi Aleksander Grzebyta.

Itanium 2 to potencjalnie atrakcyjna platforma dla firm, które rozwijają bądź wykorzystują aplikacje na platformie Alpha, zwłaszcza z systemem OpenVMS. Potencjalnie, widać bowiem, że priorytet dla HP ma HP-UX i Windows.

"Na konferencji HP mieliśmy możliwość przeprowadzenia tylko częściowego portingu naszych aplikacji. Kluczowe elementy naszego środowiska aplikacyjnego - monitor transakcyjny RTR i baza RDB - wciąż nie są bowiem dostępne, nawet w wersjach Beta. Poczekamy, zobaczymy. Ale platforma Itanium jest dla nas interesująca nie tylko ze względu na aplikacje działające na Open VMS. Liczymy na to, że na tym samym sprzęcie będzie można uruchomić kilka systemów" - twierdzi Wojciech Jaworski z Centrum Automatyzacji Obrony Powietrznej.

Postawę wyczekującą przyjmują także inni. "Nasze zainteresowanie platformą Itanium 2 jest proporcjonalne do zainteresowania nią naszych klientów, a więc na razie bardzo wstępne. Nasze aplikacje bankowe działają na platformie OpenVMS, a ostatnio HP wydał deweloperską wersję tego systemu na platformę Itanium 2. Działają też na HP-UX. Na razie chcemy spokojnie przetestować aplikacje z oboma systemami na serwerze dostarczonym przez HP w ramach programu partnerskiego. Dopiero wtedy będziemy w stanie wydać rzetelną opinię o nowej platformie. Ewentualny porting to tak naprawdę decyzja klientów, a nie nasza" - przekonuje Ryszard Srokosz, prezes Softax z Warszawy.

<hr size=1 noshade>Skompilować trzeba, ale nie wystarczy

Na Itanium Developer Forum Intel prezentował swój dorobek w dziedzinie kompilacji i optymalizacji kodu na platformę Itanium. Właściwa kompilacja odgrywa fundamentalną rolę w optymalizacji wydajności aplikacji na platformę Itanium. "Kompilator dla Itanium z góry określa kolejność wykonywania instrukcji, wskazując przy tym, które z nich można wykonać równolegle. Może też np. wykorzystać fakt, że w długiej pętli nie występują zależności między kolejnymi etapami i zamiast realizować je kolejno, może zrównoleglić iterację" - mówi Jewgienij Charczenko z laboratorium Intela w Wyżnym Nowogrodzie w Rosji.

Platforma z bliska
Interesująco prezentował się profiler aplikacji Vtune. Umożliwia on profilowanie wydajności kodu w aspekcie czasu, cykli zegara i innych parametrów. Narzędzie Intela pozwala nie tylko precyzyjnie określać zakres i typ zdarzeń, które mają być śledzone. Vtune śledzi każde wywołanie oddzielnie, do tego stopnia, że oddzielnie jest traktowane wywołanie tego samego modułu przez różne funkcje/moduły.

Jednym z ciekawszych narzędzi pakietu Vtune jest Tuning Assistant. Na podstawie wbudowanej bazy wiedzy o zasadach tworzenia poprawnego kodu podpowiada ono programiście lub testerowi co mogło spowodować wolniejsze wykonywanie pewnych operacji, włącznie ze wskazaniem fragmentu kodu odpowiadającego za słabszą od zakładanej wydajność. Jest to możliwe, ponieważ architektura Itanium narzuca określoną hierarchię zdarzeń. "Vtune najlepiej uruchamiać z zaawansowanymi opcjami tuningu, dopiero wtedy bowiem kod będzie naprawdę dobrze dostosowany do możliwości stwarzanych przez kompilatory dla Itanium" - mówi Jewgienij Charczenko.

Podstawowa, graficzna wersja Vtune (7.1) działa wyłącznie na Windows. Istnieje też Vtune for Linux 2.0, jednak nie oferuje ona wygodnych narzędzi graficznych, co ma znaczenie zwłaszcza dla analizy wyników. Do końca br. na rynek powinna trafić kolejna wersja - Vtune for Linux 3.0, która będzie wykorzystywać interfejs graficzny oparty na Eclipse.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200