Stan systemu Mac OS w obliczeniach naukowych i HPC


17

W początkach systemu OS X wydawało się, że jest dużo hałasu, przynajmniej w świecie komputerów Mac (w tamtym czasie nie byłem tak blisko obliczeń naukowych) na temat Mac OS jako platformy do obliczeń naukowych i aplikacji HPC.

XGrid wyszedł z pudełka, Virginia Tech miała swój fantazyjny klaster obliczeniowy oparty na komputerach Mac, Stanford robił fajne rzeczy itp. Itp.

Jednak ostatnio wszystko ucichło. Witryna Macresearch.org to w zasadzie miasto duchów pełne zombie spamerów, XServe nie żyje, a ogromna literatura marketingowa i tym podobne wydają się pochodzić nawet z obszaru procesorów sprzed Intela. Ale XGrid wciąż tam jest, cały system operacyjny * nix jest tam, a platforma wydaje się mieć przyzwoitą obsługę wśród Python, R i niektórych nowych języków.

Tak więc, od ludzi, którzy wiedzą o tym więcej niż ja ... jak wypada OS X? Czy są to przydatne komputery klienckie do obliczeń naukowych? Używa ich jako serwera / klastra / itp. przez XGrid czy coś w tym rodzaju po prostu nowość?


Czy osoba uprawniona do głosowania może skomentować powód, dla którego głosowałaś niżej?
Geoff Oxberry

Meh Nie jest to okropne na dobrej subiektywnej, złej subiektywnej sprzedaży, ale nadal nic dla mnie nie robi. Moim zdaniem odpowiedź brzmi: jest to system uniksowy, ale kosztuje zbyt wiele w miejscach, w których interfejs użytkownika nie jest krytyczny.
dmckee,

@dmckee: Tak, widziałem to. Myślę, że wiele osób się z tobą zgodzi. Dla mnie problem nie był tak prosty, ponieważ zmęczyły mnie awarie sprzętowe, a nawet wtedy nadal uruchamiam Linuksa na maszynie wirtualnej. Spotkałem ludzi, którzy lubią swoją pracę głównie w systemie OS X, więc myślę, że to rozsądne pytanie dla niszowej społeczności. Wydaje mi się również, że obliczeniowa nauka mogłaby użyć jeszcze kilku pytań, a odpowiedzi z wielu perspektyw byłyby pomocne, dając ludziom pojęcie o tym, jakich narzędzi używamy w informatyce naukowej.
Geoff Oxberry

@dmckee I uważam, że to prawidłowa odpowiedź - że niektóre z rzeczy, które wypiekło Apple, nie stworzyły naprawdę żywego i przekonującego powodu do korzystania z ich systemu operacyjnego.
Fomite,

Pytanie było także próbą zbadania niektórych pytań typu „wykonywanie obliczeń naukowych”, które mogłyby odróżnić pytania sprzętowe od ServerFault, przy użyciu jednego, w którym zarówno jestem zainteresowany, jak i naprawdę nie znam odpowiedzi.
Fomite,

Odpowiedzi:


12

Nie mogę komentować rzeczy po stronie serwera.

Po stronie klienta, na jednym spotkaniu naukowym, na które chodzę co roku, wydaje się, że odsetek użytkowników komputerów Mac wzrósł. Zmieniłem komputer na komputer Mac, ponieważ miałem już dość radzenia sobie ze szkolnym laptopem Dell, który zawalił się po upadku kapelusza. Przeszedłem na komputery Mac przede wszystkim ze względu na sprzęt, ponieważ raporty konsumenckie wysoko je oceniały pod względem trwałości. Nie sądzę, że komputery Mac są dobre do obliczeń naukowych, chyba że używasz na nich Linuksa. Obsługa sprzętu przez Linux ma tendencję do opóźnień; zazwyczaj jest to karta bezprzewodowa, która nie jest obsługiwana (za każdym razem, gdy zmieniają ją w nowym modelu). Jeśli chcesz zaakceptować karę pieniężną związaną z uruchomieniem maszyny wirtualnej, jest to atrakcyjna opcja (i ta, której osobiście używam).

Komputery Mac wymagają zainstalowania wielu bibliotek i pakietów oprogramowania, zanim będzie można wykonać poważne obliczenia naukowe. Wszystko, co ma instalator na Maca, jest łatwe w zarządzaniu, więc jeśli wykonujesz większość prac programistycznych przy użyciu Matlaba, Mathematiki, Klonu, Pythona itp., Możesz łatwo zainstalować i uruchomić to oprogramowanie w systemie OS X. Trudniej jest wyśledzić twarde oprogramowanie numeryczne, które ma instalator dla komputerów Mac (pomyśl takie rzeczy jak PETSc lub CLAWPACK). Menedżerowie pakietów, tacy jak MacPorts i Finkmoże pomóc w sytuacji, jeśli chcesz używać tylko OS X. Będziesz także musiał skompilować wiele pakietów ze źródła. Jeśli chcesz uruchomić swój kod gdziekolwiek indziej, musisz uważać na problemy ze zgodnością. Ponieważ Linux cieszy się powszechnym stosowaniem w informatyce naukowej, z punktu widzenia mobilności łatwiej jest tworzyć kod w Linuxie.

Słyszałem anegdotycznie od wysoce opiniotwórczych przyjaciół, że tworzenie środowiska programistycznego na komputerze Mac jest ogromnym bólem w tyłek, inni powiedzieli, że nie jest tak źle. Twój przebieg może się różnić.


1
Oddałem głos: w jaki sposób instalowanie czegokolwiek w naukowym komputerze na Macu jest bardziej skomplikowane niż na Linuksie? Oczywiście, jeśli zaczynasz od Linuksa CAE, większość z nich jest wbudowana, ale w przypadku większości innych dystrybucji musisz pobrać pakiety i / lub kompilację ze źródeł. Które i tak możesz chcieć dostosować biblioteki do twoich konkretnych potrzeb i / lub maksymalnej wydajności. To powiedziawszy, Mac OS będzie miał trudności z wdrożeniem na dużą skalę na uniwersytetach, o ile nie udzielą licencji na system operacyjny niezależny od sprzętu (nie że powinien). Nie jestem pewien, jak możesz uzasadnić dodatkowy koszt ...
FrenchKheldar

4
FrenchKheldar: Istnieje wiele pomocniczych rzeczy, które muszą być zainstalowane na komputerze Mac (piszę to na Macbooku Pro) podczas tworzenia oprogramowania - wiele bibliotek i narzędzi - które są po prostu apt-get lub mniam zainstalować na linux box, nie mówiąc już o większych elementach, takich jak nowsze kompilatory, nowszy python itp. Właśnie dlatego istnieją porty i homebrew, ale te rzeczy wciąż nie zawsze instalują się czysto i nie wszystkie pakiety są w obu. W zależności od tego, czego chcesz w środowisku programistycznym, na Macu może być, a nawet trudniej. OTOH, dostaniesz Xcode ...

2
Jest to znacznie łatwiejsze do zainstalowania coś z menadżera pakietów, niż to skompilować ten sam kod od zera. W najlepszym razie jest to proste ./configure && make && make install, ale w najgorszym przypadku może to być labirynt sortowania skryptów, flag i lokalizacji bibliotek. Instalacja PETSc 3.2 z pakietu Debiana zajęła mi 5 sekund (zrobiłem to nawet na polecenie niektórych programistów); instalacja ze źródła w Linuksie zajęła cały dzień z różnymi opcjami. Chodziło o to, że pakiety i instalatory niekoniecznie istnieją dla komputerów Mac, gdy robią to dla systemu Linux (i ułatwiają korzystanie z systemu Linux).
Geoff Oxberry

Jest też ogromna irytacja „tylko stabilnego” zawieszania się w powietrzu z komputerami Mac, przynajmniej musiałem z tym walczyć kilka razy. Dobrym przykładem, jaki osobiście miałem, jest błąd GCC, który spowodował, że aplikacja po prostu zawiesiła się i wypaliła, jeśli miałeś pragmy OpenMP wewnątrz kodu, który jest wywoływany z pthread. Tak naprawdę skończyło się na tym, że korzystałem z ICC, ponieważ była ona dostępna, ponieważ było to po prostu łatwiejsze niż zmiana GCC na tym komputerze Mac. Na Macu jest wiele innych bibliotek, które mają prehistoryczne wersje (przynajmniej kilka lat).
TC1

13

@Geoff daje dobrą odpowiedź, ale myślę, że warto zapewnić alternatywną perspektywę.

Robię wszystko na komputerach Mac - w systemie OS X, a nie na maszynie wirtualnej z systemem Linux - w tym wiele opracowań kodu naukowego. Pracuję głównie w Fortran i Python. Dla mnie wygoda

  • mogąc wykonywać całą moją pracę w jednym systemie operacyjnym i
  • prawie nigdy nie zajmuje się awariami sprzętu ani problemami ze sterownikami

jest wart kosztów bólów głowy specyficznych dla komputerów Mac.

Trzy główne bóle głowy to:

  1. Brak menedżera pakietów standardowego dla systemu operacyjnego. Dawno, dawno temu korzystałem z Fink, ale w końcu doprowadziło to do kolejnych bólów głowy i teraz jest przestarzałe. Słyszałem dobre rzeczy o Macportach i Homebrew, ale moje doświadczenie z Fink przekonało mnie, żebym po prostu „rzucił własne”.

  2. Niektóre z wbudowanych programów są bardzo nieaktualne. W szczególności Python i gcc. Oznacza to, że musisz zainstalować własne zaktualizowane wersje, co może być kłopotliwe.

  3. Apple nie zawiera kompilatora Fortran!

Wydaje mi się, że Apple coraz mniej uwagi poświęca swoim zaawansowanym użytkownikom Uniksa. Tymczasem Linux ciągle się poprawia. W końcu prawdopodobnie będę zepchnięty z powrotem do Linuksa. Ale zatrzymam mojego Macbooka, dopóki ktoś nie nauczy się, jak robić porządne baterie.


1
Moje naukowe środowisko komputerowe na moim Macu (kompilatory, biblioteki) jest dostarczane w 99% przez MacPorts. Nie jest idealny, ale z łatwością pokonuje instalację ręczną. Oczywiście zależy to od tego, ile trzeba zainstalować, aby wykonać swoją pracę.
khinsen

9

Twierdziłbym, że Mac jest lepszym środowiskiem dla naukowców zajmujących się obliczeniami niż dla nauk obliczeniowych . Nie chciałbym używać komputerów Mac w środowisku przetwarzania towarów; sprzęt jest, mówiąc relatywnie, o wiele za drogi. Dostosowanie środowiska programowego do warunków wymaganych dla konkretnego pakietu może być uciążliwe, ale zazwyczaj po pierwszym uruchomieniu jest o wiele łatwiejsze w utrzymaniu niż porównywalna instalacja systemu Windows. (W zależności od menedżerów pakietów może to być tak proste jak Linux. MacPorts radzi sobie całkiem dobrze jako menedżer dla OS X!)

Uważam jednak, że jako platforma robocza dla zapracowanego naukowca zajmującego się obliczeniami komputer Mac oferuje dodatkową premię za możliwość pracy i utrzymania w jednym środowisku obliczeniowym, zamiast utrzymywania systemu Linux do pracy „poważnej” i nadal potrzebuję innej maszyny, gdy koledzy pracujący w innych dyscyplinach przesyłają mi (na przykład) pliki Office, które wymagają znaczników, lub muszę wypełnić formularz uniwersytetu, który jest dostępny tylko jako szablon RTF, który nie sformatuje się poprawnie przy użyciu LibreOffice i będzie ból szyi, aby odtworzyć w LaTeX. (W poprzednich pracach właściciele Linuksa musieli mieć dodatkowo maszynę inną niż Linux, ponieważ dostęp do środowiska korporacyjnego wymagał tego mniej lub bardziej. Właściciele komputerów Mac tak naprawdę nie potrzebowali drugiej maszyny).

Ponadto istnieje wiele programów tylko dla komputerów Mac (takich jak TextMate , Scrivener , Papers , Things , OmniFocus lub BibDesk ), które sprawiają, że Mac jest znacznie przyjemniejszym środowiskiem do pracy niż na PC lub Linux. Wydaje mi się, że spędzam więcej czasu na robieniu rzeczy, niż na tym, co muszę zrobić, aby środowisko oprogramowania zrobiło to, co chcę (lub potrzebuję!).


5

Wykorzystanie OS X w HPC i obliczeniach naukowych jest niskie i ma wiele wspólnego z zaletami i wadami OS X w porównaniu z alternatywą (Linux)

Plusy OS X:

  • Polerowany interfejs użytkownika; wciąż * nix
  • Aplikacje na komputery stacjonarne / projektowe, takie jak MS Office, programy Adobe dobrze obsługiwane
  • Bardzo dobrze obsługiwane multimedia
  • Niektórzy ludzie lubią ekosystem Apple (iPhone, iTunes itp.)

Wady OS X:

  • Działa na drogim sprzęcie i nie wszyscy lubią Macbooki, szczególnie ludzie przyzwyczajeni do Thinkpadów (klawiatura + trackpoint)
  • Nie można zaktualizować sprzętu (np. Jeśli chcesz wypróbować najnowszą kartę NVIDIA z aplikacją CUDA) na komputerze / klastrze
  • Nadęty GUI, którego nie można dostosować (w systemie Linux można użyć minimalistycznego menedżera okien)
  • Pakiet mgmt w Macports / Fink jest podrzędny w porównaniu z dystrybucjami Linuksa (Debian). Większość pakietów nie jest nawet aktywnie utrzymywana lub jest osierocona
  • Niektóre przydatne narzędzia / programy tradycyjnie nie działały lub nadal nie działają w systemie OS X. Na przykład ...

    1. Sun Studio nadal nie działa
    2. Valgrind zaczął działać dopiero niedawno i nie wszystkie funkcje są obsługiwane
    3. Kompilatory Intel były również dostępne w ostatnich latach
    4. Apple nawet nie kompiluje kompilatora Fortran i musisz polegać na firmach trzecich (głównie indywidualnych), aby budować pliki binarne, które działają tylko na niektórych wersjach systemu OS X (które posiada dana jednostka). W takich przypadkach wsparcie jest rzadkie lub nie istnieje
    5. Komercyjne aplikacje naukowe (ABAQUS, ANSYS, FLUENT i wiele innych w branżach takich jak olej / finanse / engg itp.) Nie działają (natywnie) na OS X

Zalety Linux (Debian):

  • Zarządzanie pakietami pierwszej klasy, tj. Instalacja kompilatorów, większości bibliotek numerycznych / naukowych itp. To jedno polecenie
  • W przeciwieństwie do Fink / Macports, pakiety są znacznie lepiej obsługiwane (w Debianie masz możliwość korzystania z najnowocześniejszych / testujących / stabilnych wersji)
  • Większość klastrów obsługuje niektóre wersje Debiana / Red Hata, więc mniej kłopotów z przenoszeniem kodów

Wady Linuksa (Debiana):

  • Brak standardowego interfejsu użytkownika
  • Linux na komputerze stacjonarnym / laptopie może wymagać drobnych poprawek, aby wszystko działało (zawieszanie / wznawianie, przyspieszenie wideo 3D, dźwięk itp.), Ale w ostatnich latach uległo znacznej poprawie

Z wyjątkiem niektórych wyjątków większość użytkowników i administratorów klastrów / systemów uważa OS X za łatwiejszy do zwiększenia wydajności komputerów stacjonarnych, a NIE do obliczeń naukowych (kompilowanie, używanie, rozwijanie rzeczy).

OTOH większość użytkowników Linuksa uważa to drugie za łatwiejsze niż poprzednie, co znajduje odzwierciedlenie w całym ekosystemie HPC / naukowego komputera.


Dodaj do listy przydatnych narzędzi, które nie działają w systemie OS X: gprof.
David Ketcheson

Odniesienie do ThinkPada wywołało u mnie chichot. W tej chwili jesteśmy podzielonym gospodarstwem domowym Apple / Lenovo, a mój, ale ona nie lubi gładzika :)
Fomite,

@DavidKetcheson, to dlatego, że OS X ma Instruments (wcześniej Shark).
Aron Ahmadia

3

Od wielu lat używam wyłącznie komputerów Mac (stacjonarnych i przenośnych) na komputerach stacjonarnych (i laptopach), między innymi zajmując się obliczeniami naukowymi i tworzeniem oprogramowania naukowego. Jak zauważyli inni, jakość sprzętu, wysoka jakość oprogramowania specyficznego dla komputerów Mac oraz możliwość obsługi programów Word i Excel w razie potrzeby sprawiają, że Mac jest bardzo przyjemną platformą do codziennego użytku.

Od jakiegoś czasu prowadzę eksperymentalny klaster obliczeniowy oparty na komputerach Mac. To eksperyment, do którego nie mam ochoty ponownie. W porównaniu do klastra Linux nie widzę żadnych znaczących korzyści poza łatwą instalacją oprogramowania, jeśli i tak masz komputery Mac (po prostu zainstaluj te same rzeczy). Wady wyraźnie się wyróżniają, przede wszystkim brak odpowiedniej obsługi GUI dla wielu użytkowników. Na komputerze Mac jedna maszyna to jeden ekran i co najwyżej jeden zalogowany użytkownik. To sprawia, że ​​korzystanie z narzędzi opartych na GUI jest uciążliwe. W porównaniu z tym, nawet zwykłe X-Windows pod Linuksem jest przyjemnością w użyciu, a potem są jeszcze VNC i NoMachine NX.

Tak, wiem, że Mac obsługuje X-Window, ale większość programów graficznych dla komputerów Mac używa natywnego interfejsu.


Dziękujemy za wgląd w prowadzenie klastra opartego na komputerach Mac. Jakich narzędzi GUI brakuje?
Fomite,

Możesz uzyskać większość narzędzi GUI do nauki, instalując oprogramowanie oparte na X-Window za pośrednictwem MacPorts, ale to dużo pracy. Z drugiej strony, nie masz szans na uzyskanie własności oprogramowania (np. Mathematica) do pracy na odległość, chyba że zaakceptujesz podstawowe ograniczenie interfejsu GUI komputera Mac dla jednego użytkownika = jedna maszyna = jeden ekran. Im bardziej potrzebujesz oprogramowania specyficznego dla komputerów Mac, tym bardziej masz problemy z interfejsem GUI.
khinsen
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.