Często przyczyną takiego zachowania jest brak znaku końca wiersza ([enter]) na końcu pliku, tuż za poleceniem uruchamiającym program obliczeniowy. Powłoka csh (tcsh) po prostu nie widzi tego wiersza i nie wykonuje tego polecenia.
Dostęp interaktywny do nodów obliczeniowych jest zablokowany dla zachowania porządku. W razie konieczności można jednak uruchomić polecenia nieinteraktywnie przez rsh, np.:
rsh h10 'ps -ef' rsh h10 'setenv TERM vt100;top -b -n 1'
Klaster to grupa połączonych ze sobą komputerów dedykowanych do obliczeń. Moża to sobie wyobrazić jak pracownię komputerową, tylko że bez monitorów, klawiatur i myszy. Komputery wchodzące w skład klastra - zwane nodami - są połączone szybką siecią umożliwiającą im współdziałanie, tak że klaster pracuje tak ja by był jednym komputerem o wielu procesorach. Daje to kilu-, kilkudziesięciokrotne skrócenie czasu obliczeń.
Aby program mógł wykorzystać moc obliczeniową klastra, musi być napisany w specjalny sposób umożliwiający jednoczesne obliczenia na wielu procesorach - musi być zrównoleglony. Jeśli użyte w programie algorytmy poddają się zrównolegleniu to możliwe jest uzyskanie znaczącego przyspieszenia obliczeń. Jeśli jest to program komercyjny należy sprawdzić w jego dokumentacji lub u producenta czy jest przystosowany do uruchamiania na klastrach linuksowych - zarówno 32- jak o 64-bitowych.
Program, mimo że jest zrównoleglony, zawsze wykonuje pewne elementy obliczeń sekwencyjnie. Ponadto części programu uruchomione na wielu procesorach muszą się ze sobą komunikować i wymieniać dane. Jeśli tych danych jest dużo, komunikacja może trwać znacząco długo w porównaniu do samych obliczenia. Dlatego niektóre programy przy zwiększaniu liczby procesorów ponad pewną granicę nie wykazują już przyspieszenia, mogą nawet zwalniać. Skrócenie czasu obliczeń ze wzrostem liczby użytych procesorów nazywamy skalowalnością. Skalowalność może wynosić np. 60 procesorów - tj. do tej liczby uzyskuje się jeszcze sensowne przyspieszenie. Skalowalność zależy od jakości zrównoleglenia aplikacji, oraz od sieci lub innego medium komunikacyjnego łączącego nody klastra.
Skalowalność najlepiej sprawdzić eksperymentalnie. Jeśli to możliwe należ dobrać taki zestaw danych wejściowych dla których zadanie na jednym procesorze liczy się co najmniej kilkadziesiąt minut nie dłużej jednak niż 10 godzin. Następnie zadanie to należy uruchomić na 2,4,8,16,32,64 procesorach i sprawdzać czas wykonania i stopień przyspieszenia obliczeń.
Czasami na galerze zdarza się tak, że zadania mają status PENDING mimo, że są wolne zasoby, a w opisie zadania pojawia się informacja:
PENDING REASONS: The queue is inactivated by the administrator;
Najczęściej kolejki są inaktywowane automatycznie gdy wolne miejsce na dysku /atmp1 spadnie poniżej pewnej wartości, (aktualnie jest to 500 MB). Ma to zapobiec przepełnianiu się dysku i przerywaniu przez to obliczeń. Niekiedy kolejki są nieaktywne gdy jest planowane wyłączenie klastra.
System kolejkowy to narzędzie umożliwiające organizację dostępu wielu użytkowników do zasobów obliczeniowych. Ułatwia też przydzielanie procesorów dla zadań wieloprocesorowych.
Nie, ponieważ gdyby zbyt wielu użytkowników na raz chciało uruchomić obliczenia łatwo mogłoby dojść do konkurowania o te same zasoby przez działające jednocześnie procesy, następstwem czego byłoby obniżenie efektywności obliczeń. W skrajnych przypadkach mogłoby dojść do całkowitego zużycia zasobów i zawieszania się systemu. Ponadto w systemach klastrowych należy ustalić pewną pulę procesorów przydzieloną do zadania. Samodzielne wyszukiwanie wolnych procesorów przez użytkownika byłoby co najmniej czasochłonne i trudne. System kolejkowy umożliwia rozwiązanie tych problemów poprzez kolejkowanie zadań użytkowników, przydział zasobów zadaniom użytkowników na określony czas, kierowanie zadań na aktualnie wolne nody klastra i zwracanie wyników do użytkownika. System kolejkowy maskuje przed użytkownikiem złożoność klastra
Polityka to zbiór zasad na jakich są przydzielne zasoby obliczeniowe. Może obejmowć takie elementy jak maksymalna liczba zadań uruchomionych przez użytkownika, maksymalny czas trwania zadania o określonych wymaganiach, dostęp do ograniczonych zasobów, np: licencje, komputery o dużej pamięci, uprzywilejowani użytkownicy, grupy i projekty. Polityka jest definiowana przez administratora tak aby zasoby były wykorzystywane możliwie optymalnie, przydział by sprawiedliwy i zgodny z założeniami centrum obliczeniowego oraz ewentualnymi porozumieniami użytkowników. Polityka jest realizowana głównie poprzez system kolejkowy. Ponieważ możliwości konfiguracyjne systemów kolejkowych są ograniczone, niektóre zasady porządanej polityki nie mogą zapisane wprost i są realizowane w sposób przybliżony.
Przyczyn, że zadanie nie startuje mimo wolnych zasobów może być wiele:
Komunikaty typu:
Warning: no access to tty (BĹÄdny deskryptor pliku). Thus no job control in this shell.
w plikach wyjściowych (*.oJOBID) pochodzą z powłoki tcsh i należy je ignorować - nie mają wpływu na obliczenia.
Komunikat typu:
./solver.bin : Bledny format pliku wykonywalnego. Nieprawidlowa architektura.
może się pojawić gdy plik binarny solver.bin nie jest programem wykonywalnym na komputerze na którym próbowano go uruchomić. Taka sytucja zachodzi najczęściej gdy program został skompilowany na pewnym komputerze, a uruchomiony na zupełnie innym o innej architekturze sprzętowej. W TASK są używane komputery o różnych architekturach np. Sun (Karawela), Intel IA64 (Holk, Galeon), SGI Origin (fregata). Maszyny te różnią się między sobą na tyle, że nie możliwe jest przenoszenie pomiędzy nimi programów w postaci binarnej.
Wyrzuć GUI (albo zrób z niego osobny program do pre/postprocesingu) i wszelkie odwołania do niestandardowych bibliotek potem spróbuj skompilować odpowiednim kompilatorem C++ na klastrze. Dopisz moduł wczytujący dane z pliku zamiast z GUI.
Nie. Prowadzenie obliczeń na komputerach dużej mocy w trybie emulacji mija się z celem. Aplikacja powinna być skompilowana na systemie na którym ma być uruchamiana za pomocą kompilatora optymalizującego dla danej platformy sprzętowo-programowej.
Nie. Opteron i Itanium2, mimo że są procesorami 64-bitowym nie są ze sobą zgodne. Red Hat Linux i Debian różnią się na tyle, że prawdopodobnie nie da się przenosić pomiędzy nimi aplikacji w postaci binarnej. Jeśli program dodatkowo korzysta z jakichś bibliotek np. MPI, to musiałaby one się znajdować na obu klastrach prwadopodobnie w takich samych lokalizacjach, wersjach itp.
Gaussian i niektóre inne aplikacje działają na wątkach. Normalnie polecenia ps czy w top pokazuje wątki jako jeden proces. Aby zobaczyć wątki do polecenie ps należy dodać opcje -L np. procesy i wątki użytkownika janko
ps -fLu janko
Podobnie polecenie top:
top -Hu janko
Warto też zwrócić uwagę na kolumnę %CPU. W przypadku skumulowanych wątków jest tam wyświetlane np. 398%. Oznacza to, że zadanie wykorzystuje 4 procesory.
Te komunikaty znajdują się w pliku /etc/motd. Aby je ponownie wyświetlić należy użyć polecenia:
cat /etc/motd
Powłoka jest elementem systemu operacyjnego odpowiedzialnym za interakcję z uż Często w opisach oprogramowania pojawia się informacja jak ustawić środowisko dla powłok tcsh lub bash. Użytkownicy domyślnie mają przydzielanie powłoki bash, jednak niektórzy z różnych względów mają powłokę tcsh. Aby ustalić jaką powłokę mamy należy wydać polecenie
echo $SHELL
Po pierwsze należy ustalić na którym serwerze obliczeniowym dana aplikacja jest dostępna. Zazwyczaj ta informacja jest zamieszczona w opisie aplikacji. Większość aplikacji jest niedostępna na komputerze kdm (karawela), są natomiast dostępne na serwerach obliczeniowych.
W opisie aplikacji podany jest sposób dostępu do aplikacji na danym serwerze obliczeniowym - zazwyczaj należy się na właściwy serwer zalogować i przygotować środowisko do pracy z daną aplikacją. W przypadku niektórych aplikacji możliwe jest zlecanie zadań bezpośrednio z karaweli poprzez system kolejkowy
Dokładne informacje o sposobie uruchamiania zawarte są w opisach oprogramowania