Stato del Mac OS in Scientific Computing e HPC


17

Verso l'alba di OS X, sembrava esserci una grande confusione, almeno nel mondo dei Mac (al momento non ero vicino al calcolo scientifico) riguardo al Mac OS come piattaforma per il calcolo scientifico e le applicazioni HPC.

XGrid è venuto fuori dalla scatola, Virginia Tech aveva il suo elaborato cluster di elaborazione basato su Mac, Stanford stava facendo cose interessanti, ecc. Ecc.

Più recentemente, tuttavia, le cose sono state tranquille. Il sito Macresearch.org è essenzialmente una città fantasma piena di zombie spammer, l'XServe è morto e gran parte della letteratura di marketing e simili sembra provenire addirittura dall'area del processore pre-Intel. Ma XGrid è ancora lì, l'intero sistema operativo * nix alla base è lì e la piattaforma sembra avere un supporto decente tra Python, R e alcuni dei linguaggi più recenti.

Quindi, da persone che ne sanno di più di me ... come vanno le tariffe OS X? Sono computer lato client validi per il calcolo scientifico? Li sta usando come server / cluster / ecc. tramite XGrid o qualcosa del genere semplicemente un'applicazione di novità?


Il voto negativo può commentare il motivo per cui hai votato verso il basso?
Geoff Oxberry,

Meh. Questo non è orribile per il buon subjetive, la cattiva vendita soggettiva , ma non fa ancora nulla per me. Per quanto mi riguarda la risposta è: è unix out of the box, ma costa troppo per i luoghi in cui l'interfaccia utente non è critica.
dmckee,

@dmckee: Sì, l'ho visto. Penso che molte persone saranno d'accordo con te. Per me, il problema non è stato così semplice perché mi sono stancato di guasti hardware, e anche allora, eseguo ancora Linux in una macchina virtuale. Ho incontrato persone a cui piace che il loro flusso di lavoro sia principalmente OS X, quindi penso che sia una domanda ragionevole per una comunità di nicchia. Sento anche che la scienza computazionale potrebbe usare qualche altra domanda e le risposte da più prospettive sarebbero utili nel dare alle persone un'idea di quali strumenti utilizziamo nel calcolo scientifico.
Geoff Oxberry,

@dmckee E ritengo che sia una risposta valida - che alcune delle cose in cui Apple ha fornito non ha generato un motivo davvero vibrante e avvincente per usare il loro sistema operativo.
Fomite

La domanda era anche un tentativo di esplorare alcune delle domande del tipo "fare del calcolo scientifico" che potrebbero distinguere le domande hardware da ServerFault, usandone una in cui sono entrambi interessato e sinceramente non conosco la risposta.
Fomite

Risposte:


12

Non posso commentare sul lato server delle cose.

Sul lato client, in occasione di una riunione di scienze computazionali a cui vado ogni anno, la percentuale di utenti Mac sembra essere aumentata. Sono passato a un Mac perché mi sono stancato di avere a che fare con il mio laptop Dell fornito dalla scuola che non funzionava alla caduta di un cappello. Sono passato ai Mac per l'hardware, principalmente, poiché Consumer Reports li ha valutati molto in termini di durata. Non penso che i Mac siano utili per il calcolo scientifico a meno che tu non esegua Linux su di essi. Il supporto Linux per l'hardware tende a ritardare; di solito, è la scheda wireless che non è supportata (ogni volta che la cambiano in un nuovo modello). Se sei disposto ad accettare la penalità di risorse derivante dall'esecuzione di una macchina virtuale, è un'opzione interessante (e una che uso personalmente).

I Mac richiedono l'installazione di molte librerie e pacchetti software prima di poter eseguire seri calcoli scientifici. Tutto ciò che ha un programma di installazione per Mac è facile da gestire, quindi se esegui la maggior parte del tuo lavoro di sviluppo con Matlab, Mathematica, Maple, Python, ecc., È facile installare ed eseguire quel software su OS X in modo nativo. È più difficile rintracciare il software numerico hard core che ha un programma di installazione Mac (pensa a cose come PETSc o CLAWPACK). Gestori di pacchetti come MacPorts e Finkpuò aiutare la situazione se si desidera utilizzare solo OS X. Dovrai anche compilare molti pacchetti dal sorgente. Se vuoi eseguire il tuo codice altrove, dovrai fare attenzione ai problemi di compatibilità. Poiché Linux gode di un uso diffuso nell'informatica scientifica, è più facile dal punto di vista della portabilità sviluppare codice in Linux.

Ho sentito aneddoticamente da amici altamente supponenti che impostare un ambiente di sviluppo su un Mac è un dolore enorme nel culo, altri hanno detto che non è poi così male. Il tuo chilometraggio può variare.


1
Ho votato a favore: in che modo installare qualcosa per l'elaborazione scientifica su Mac è più complicato che su Linux? Sicuramente se inizi da Linux CAE la maggior parte è integrata, ma per la maggior parte delle altre distribuzioni, devi scaricare pacchetti e / o compilare da fonti. Che potresti comunque voler modificare le librerie per le tue esigenze specifiche e / o le massime prestazioni. Detto questo, Mac OS avrà difficoltà ad essere adottato su larga scala nelle università a condizione che non dispongano della licenza del sistema operativo indipendente dall'hardware (non che dovrebbero). Non sono sicuro di come giustificare il costo aggiuntivo ...
FrenchKheldar

4
FrenchKheldar: Ci sono molte cose ausiliarie che devono essere installate su un Mac (scrivo questo su un Macbook Pro) durante la creazione di software - molte librerie e strumenti - che sono solo un'installazione apt-get o yum su un Linux box, per non parlare di elementi più grandi come compilatori più recenti, un pitone più recente, ecc. Ecco perché ci sono port e homebrew, ma queste cose non si installano sempre in modo pulito, e non tutti i pacchetti sono in entrambi. A seconda di ciò che desideri nel tuo ambiente di sviluppo, può essere, e in effetti è più difficile su un Mac. OTOH, ottieni Xcode ...

2
È molto più semplice installare qualcosa da un gestore di pacchetti che compilare lo stesso codice da zero. Nella migliore delle ipotesi, è semplice ./configure && make && make install, ma nella peggiore delle ipotesi può essere un labirinto di ordinare script, flag e posizioni delle librerie. L'installazione di PETSc 3.2 da un pacchetto Debian mi ha richiesto 5 secondi (l'ho fatto anche per volere di alcuni sviluppatori); installarlo dalla sorgente in Linux è durato tutto il giorno con le varie opzioni. Il punto era che pacchetti e programmi di installazione non necessariamente esistono per Mac quando lo fanno per Linux (e rendono Linux più facile da usare).
Geoff Oxberry,

C'è anche l' enorme seccatura di "solo stabile" sospeso in aria con i Mac, almeno ho dovuto combattere con esso più volte. Un buon esempio che ho avuto personalmente è un bug di GCC che ha fatto sì che un'app andasse in crash e masterizzasse se avessi pragmi OpenMP all'interno del codice che viene chiamato da un pthread. In realtà ho finito per usare e supportare ICC da quando era disponibile, perché era più semplice che cambiare GCC su quel Mac. Ci sono un sacco di altre librerie che ho visto su Mac che hanno versioni preistoriche (beh, almeno un paio di anni).
TC1

13

@Geoff dà una buona risposta, ma penso che valga la pena fornire una prospettiva alternativa.

Faccio tutto sui Mac - in OS X, non in una VM Linux - incluso molto sviluppo di codice scientifico. Lavoro principalmente in Fortran e Python. Per me, la comodità di

  • essere in grado di fare tutto il mio lavoro in un unico sistema operativo e
  • quasi mai affrontare guasti hardware o problemi di driver

vale il costo di mal di testa specifici per Mac.

I tre principali mal di testa sono:

  1. Mancanza di un gestore di pacchetti standard del sistema operativo. Una volta ho usato Fink, ma alla fine ha portato a più mal di testa ed è ormai obsoleto. Ho sentito cose positive su Macports e Homebrew, ma la mia esperienza con Fink mi ha convinto a "farmi da solo".

  2. Alcuni dei software integrati sono molto obsoleti. In particolare, Python e gcc. Ciò significa che devi installare le tue versioni aggiornate, che possono essere una seccatura.

  3. Apple non include un compilatore Fortran!

Mi sembra che Apple stia prestando sempre meno attenzione ai propri utenti esperti basati su Unix. Nel frattempo, Linux continua a migliorare. Alla fine sarò probabilmente reinserito in Linux. Terrò il mio Macbook fino a quando qualcun altro non imparerà a produrre batterie decenti.


1
Il mio ambiente di elaborazione scientifica sul mio Mac (compilatori, librerie) è fornito al 99% da MacPorts. Non è perfetto, ma batte facilmente l'installazione manuale. Naturalmente dipende molto da quanto è necessario installare per completare il lavoro.
Khinsen,

9

Direi che il Mac è un ambiente migliore per gli scienziati computazionali di quanto non lo sia per la scienza computazionale . Non vorrei usare i Mac in un ambiente informatico di base; l'hardware è, relativamente parlando, troppo costoso per quello. Può essere un problema rendere l'ambiente software adeguato alle condizioni necessarie per un determinato pacchetto, ma di solito una volta che lo hai capito per la prima volta, è molto più facile da mantenere rispetto a un'installazione Windows comparabile. (E, a seconda dei gestori dei pacchetti, può essere facile come Linux. MacPorts funziona abbastanza bene come gestore per OS X!)

Tuttavia, come piattaforma di lavoro per uno scienziato computazionale impegnato, credo che il Mac offra il vantaggio aggiuntivo di essere in grado di lavorare e mantenere in un singolo ambiente informatico, piuttosto che dover mantenere un box Linux per un lavoro "serio", e ancora ho bisogno di avere un'altra macchina quando i colleghi che lavorano in altre discipline mi inviano (per esempio) i file di Office che richiedono markup, oppure devo compilare un modulo universitario che è disponibile solo come modello RTF che non si formatterà correttamente usando LibreOffice e sarà un dolore al collo da ricreare in LaTeX. (Nei lavori precedenti, i proprietari di Linux dovevano praticamente avere anche una macchina non Linux, perché l'accesso all'ambiente aziendale lo richiedeva più o meno. I proprietari di Mac non avevano davvero bisogno di una seconda macchina.)

Inoltre, esistono numerosi programmi solo per Mac (come TextMate , Scrivener , Papers , Things , OmniFocus o BibDesk ) che rendono il Mac un ambiente molto più piacevole in cui lavorare rispetto al PC o Linux. Mi ritrovo a dedicare più tempo a concentrarmi sul fare le cose, piuttosto che su quello che devo fare per far sì che l'ambiente software faccia quello che voglio (o che ho bisogno!).


5

L'uso dell'OS X nell'HPC e nell'informatica scientifica è basso e ha molto a che fare con i pro ei contro di OS X rispetto all'alternativa (Linux)

Pro di OS X:

  • UI lucido; ancora * nix
  • App per desktop / design come MS Office, programmi Adobe ben supportati
  • Multimedia molto ben supportato
  • Ad alcune persone piace l'ecosistema Apple (iPhone, iTunes ecc.)

Contro OS X:

  • Funziona su hardware costoso e non a tutti piacciono i Macbook, specialmente le persone abituate ai Thinkpad (tastiera + trackpoint)
  • Impossibile aggiornare l'hardware (ad es. Se si desidera provare l'ultima scheda NVIDIA con l'app CUDA) su desktop / cluster
  • GUI gonfiata che non può essere personalizzata (in Linux è possibile utilizzare un gestore di finestre minimalista)
  • Il pacchetto mgmt in Macports / Fink è scadente rispetto alle distribuzioni Linux (Debian). La maggior parte dei pacchetti non è nemmeno mantenuta attivamente o è orfana
  • Alcuni strumenti / programmi utili tradizionalmente non venivano eseguiti o non funzionano ancora su OS X. Ad esempio ...

    1. Sun Studio continua a non funzionare
    2. Valgrind ha iniziato a funzionare solo di recente e non tutte le funzionalità sono supportate
    3. I compilatori Intel sono stati disponibili anche negli ultimi anni
    4. Apple non impacchetta nemmeno un compilatore Fortran e devi fare affidamento su terze parti (per lo più individui) per creare binari che funzionano solo su determinate versioni di OS X (che l'individuo ha). Il supporto è raro o inesistente in questi casi
    5. Le app scientifiche commerciali (ABAQUS, ANSYS, FLUENT e molte altre in settori come petrolio / finanza / engg ecc.) Non funzionano (nativamente) su OS X

Pro di Linux (Debian):

  • La gestione dei pacchetti di prima classe, ovvero l'installazione di compilatori, la maggior parte delle biblioteche numeriche / scientifiche ecc. È a un comando di distanza
  • A differenza di Fink / Macports, i pacchetti sono supportati molto meglio (in Debian hai la possibilità di usare bleeding edge / testing / versioni stabili)
  • La maggior parte dei cluster esegue una versione di Debian / Red Hat, quindi meno problemi nel codice di porting

Contro (Debian) di Linux:

  • Nessuna interfaccia utente standard
  • Linux su desktop / laptop potrebbe richiedere alcune modifiche per far funzionare tutto (sospendi / riprendi, accelerazione video 3D, audio ecc.) Ma questo è molto migliorato negli ultimi anni

A parte alcune eccezioni, la maggior parte degli utenti e gli amministratori di cluster / sistema trovano OS X più semplice per la produttività desktop e NON per l'elaborazione scientifica (compilazione, utilizzo, sviluppo di elementi).

OTOH la maggior parte degli utenti Linux trova quest'ultimo più facile del precedente e questo si riflette nell'intero ecosistema di calcolo scientifico / HPC.


Aggiungi al tuo elenco di strumenti utili che non funzionano su OS X: gprof.
David Ketcheson,

Il riferimento ThinkPad mi ha fatto ridere. Al momento siamo una famiglia Apple / Lenovo divisa, e il mio ma a lei non piace il trackpad :)
Fomite

@DavidKetcheson, questo perché OS X ha strumenti (precedentemente Shark).
Aron Ahmadia,

3

Ho usato nient'altro che Mac sul desktop (e laptop) per molti anni, facendo tra l'altro il calcolo scientifico e lo sviluppo di software scientifico. Come altri hanno sottolineato, la qualità dell'hardware, l'alta qualità di molti software specifici per Mac e la capacità di gestire Word ed Excel quando necessario, rendono il Mac una piattaforma molto piacevole per l'uso quotidiano.

Ho anche eseguito un cluster di calcolo basato su Mac come esperimento per un po '. È un esperimento che non sono tentato di ripetere. Rispetto a un cluster Linux, non vedo alcun vantaggio significativo, a parte la facilità di installazione del software se hai comunque Mac sul desktop (basta installare le stesse cose). Gli svantaggi sono evidenti, soprattutto la mancanza di un adeguato supporto della GUI multiutente. Su un Mac, una macchina equivale a una schermata e al massimo a un utente connesso. Ciò rende gli strumenti basati sulla GUI un problema da usare. Rispetto a questo, anche semplici X-windows sotto Linux sono una gioia da usare, e poi c'è VNC e NoMachine NX a fare ancora meglio.

Sì, so che il Mac supporta X windows, ma la maggior parte dei programmi GUI per Mac utilizza l'interfaccia nativa.


Grazie per la comprensione dell'esecuzione di un cluster basato su Mac. Che tipo di strumenti della GUI ti manca?
Fomite,

Puoi ottenere la maggior parte degli strumenti GUI per la scienza installando il software basato su X-window tramite MacPorts, ma è un sacco di lavoro. All'altro estremo, non hai alcuna possibilità di far funzionare il software proprietario (ad esempio Mathematica) a distanza, a meno che non accetti la limitazione fondamentale della GUI del Mac di un utente = una macchina = una schermata. Quanto più desideri un software specifico per Mac, tanto più sei handicappato dal problema della GUI.
Khinsen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.