Etat du Mac OS en calcul scientifique et HPC

17

À l'aube d'OS X, il semblait y avoir beaucoup de brouhaha, du moins dans le monde Mac (j'étais loin d'être du calcul scientifique à l'époque) à propos du Mac OS en tant que plate-forme pour le calcul scientifique et les applications HPC.

XGrid est sorti de la boîte, Virginia Tech avait son cluster informatique basé sur Mac, Stanford faisait des choses sympas, etc. etc.

Plus récemment cependant, les choses se sont calmées. Le site Macresearch.org est essentiellement une ville fantôme remplie de zombies spammeurs, le XServe est mort, et une grande partie de la documentation marketing et similaires semblent même provenir de la zone du processeur pré-Intel. Mais XGrid est toujours là, tout le sous-système d'exploitation * nix est là, et la plate-forme semble avoir un support décent entre Python, R et certains des nouveaux langages.

Alors, de la part de personnes qui en savent plus à ce sujet que moi ... comment se porte OS X? S'agit-il d'ordinateurs viables côté client pour le calcul scientifique? Les utilise comme serveur / cluster / etc. via XGrid ou quelque chose comme ça simplement une application de nouveauté?

Fomite
la source
Le votant pourrait-il expliquer pourquoi vous avez voté contre?
Geoff Oxberry
Meh. Ce n'est pas horrible sur la bonne vente subjective, la mauvaise vente subjective , mais cela ne fait toujours rien pour moi. En ce qui me concerne, la réponse est: c'est unix hors de la boîte, mais coûte trop cher pour les endroits où l'interface utilisateur n'est pas critique.
dmckee
@dmckee: Oui, je pouvais voir ça. Je pense que beaucoup de gens seront d'accord avec vous. Pour moi, le problème n'était pas aussi simple car je me lassais des pannes matérielles, et même alors, j'exécute toujours Linux sur une machine virtuelle. J'ai rencontré des gens qui aiment que leur flux de travail soit principalement OS X, donc je pense que c'est une question raisonnable pour une communauté de niche. Je pense également que la science informatique pourrait utiliser quelques questions supplémentaires, et des réponses de multiples perspectives seraient utiles pour donner aux gens une idée des outils que nous utilisons dans le calcul scientifique.
Geoff Oxberry du
@dmckee Et je considérerais que c'est une réponse valable - que certaines des choses qu'Apple a préparées n'ont pas donné naissance à une raison vraiment dynamique et convaincante d'utiliser leur système d'exploitation.
Fomite
La question était également une tentative d'explorer certaines des questions de type "faire du calcul scientifique" qui pourraient distinguer les questions matérielles de ServerFault, en utilisant une où je suis à la fois intéressé et dont je ne connais vraiment pas la réponse.
Fomite

Réponses:

12

Je ne peux pas faire de commentaires sur le côté serveur des choses.

Côté client, lors de la seule réunion de science informatique à laquelle je me rends chaque année, la proportion d'utilisateurs de Mac semble avoir augmenté. Je suis passé à un Mac parce que j'en avais marre de devoir faire face à mon ordinateur portable Dell fourni par l'école en un rien de temps. Je suis passé aux Mac pour le matériel, principalement, car Consumer Reports les a hautement évalués en termes de durabilité. Je ne pense pas que les Mac soient bons pour le calcul scientifique à moins que vous exécutiez Linux sur eux. Le support Linux pour le matériel a tendance à être en retard; généralement, c'est la carte sans fil qui n'est pas prise en charge (chaque fois qu'elle la change dans un nouveau modèle). Si vous êtes prêt à accepter la pénalité de ressources associée à l'exécution d'une machine virtuelle, c'est une option intéressante (et que j'utilise personnellement).

Les Mac vous obligent à installer un grand nombre de bibliothèques et de progiciels avant de pouvoir faire du calcul scientifique sérieux. Tout ce qui a un programme d'installation Mac est facile à gérer, donc si vous faites la plupart de votre travail de développement avec Matlab, Mathematica, Maple, Python, etc., il est facile d'installer et d'exécuter ce logiciel sous OS X en mode natif. Il est plus difficile de retrouver un logiciel numérique dur doté d'un installateur Mac (pensez à des choses comme PETSc ou CLAWPACK). Les gestionnaires de packages comme MacPorts et Finkpeut aider la situation si vous souhaitez utiliser OS X uniquement. Vous devrez également compiler un grand nombre de packages à partir des sources. Si vous souhaitez exécuter votre code ailleurs, vous devrez faire attention aux problèmes de compatibilité. Étant donné que Linux bénéficie d'une utilisation répandue dans le calcul scientifique, il est plus facile du point de vue de la portabilité de développer du code sous Linux.

J'ai entendu de manière anecdotique des amis très avisés que la mise en place d'un environnement de développement sur un Mac est une énorme douleur dans le cul, d'autres ont dit que ce n'était pas si mal. Votre kilométrage peut varier.

Geoff Oxberry
la source
1
J'ai voté contre: en quoi l'installation de quelque chose pour l'informatique scientifique sur Mac est-elle plus compliquée que sur Linux? Bien sûr, si vous démarrez à partir de Linux CAE, la plupart sont intégrés, mais pour la plupart des autres distributions, vous devez télécharger des packages et / ou construire à partir de sources. Ce que vous voudrez peut-être de toute façon modifier les bibliothèques pour vos besoins spécifiques et / ou des performances maximales. Cela étant dit, Mac OS aura du mal à être adopté à grande échelle dans les universités tant qu'ils ne concéderont pas de licence sur le système d'exploitation indépendamment du matériel (pas qu'ils le devraient). Je ne sais pas comment vous pouvez justifier le coût supplémentaire ...
FrenchKheldar
4
FrenchKheldar: Il y a beaucoup de choses auxiliaires qui doivent être installées sur un Mac (j'écris ceci sur un Macbook Pro) lors de la construction de logiciels - beaucoup de bibliothèques et d'outils - qui ne sont qu'une installation apt-get ou yum sur un linux box, pour ne rien dire de plus gros éléments comme des compilateurs plus récents, un python plus récent, etc. Selon ce que vous voulez dans votre environnement de développement, cela peut être, et en fait, c'est plus difficile sur un Mac. OTOH, vous obtenez Xcode ...
2
Il est beaucoup plus facile d'installer quelque chose à partir d'un gestionnaire de packages que de compiler le même code à partir de zéro. Au mieux, c'est simple ./configure && make && make install, mais au pire, cela peut être un labyrinthe de tri de scripts, d'indicateurs et d'emplacements de bibliothèque. L'installation de PETSc 3.2 à partir d'un paquet Debian m'a pris 5 secondes (je l'ai même fait à la demande de certains développeurs); son installation depuis la source sous Linux a pris toute la journée avec les différentes options. Le fait était que les packages et les installateurs n'existent pas nécessairement pour le Mac lorsqu'ils le font pour Linux (et ils rendent Linux plus facile à utiliser).
Geoff Oxberry
Il y a aussi l' énorme agacement de "seulement stable" suspendu dans l'air avec les Mac, au moins j'ai dû me battre plusieurs fois avec. Un bon exemple que j'ai personnellement eu est un bogue GCC qui faisait carrément planter et graver une application si vous aviez des pragmas OpenMP dans du code qui est appelé à partir d'un pthread. En fait, j'ai fini par utiliser et prendre en charge ICC car il était disponible, car c'était plus simple que de changer le GCC sur ce Mac. Il y a un tas d'autres bibliothèques que j'ai vues sur Mac qui ont des versions préhistoriques (enfin, au moins quelques années).
TC1
13

@Geoff donne une bonne réponse, mais je pense que cela vaut la peine de fournir une perspective alternative.

Je fais tout sur Mac - sous OS X, pas sur une machine virtuelle Linux - y compris beaucoup de développement de code scientifique. Je travaille principalement à Fortran et Python. Pour moi, la commodité de

  • être capable de faire tout mon travail dans un seul système d'exploitation et
  • ne traite presque jamais les pannes matérielles ou les problèmes de pilote

vaut le coût des maux de tête spécifiques à Mac.

Les trois principaux maux de tête sont:

  1. Absence d'un gestionnaire de packages standard OS. Il était une fois j'ai utilisé Fink, mais finalement cela a conduit à plus de maux de tête et il est maintenant obsolète. J'ai entendu de bonnes choses sur Macports et Homebrew, mais mon expérience avec Fink m'a convaincu de "rouler le mien".

  2. Certains logiciels intégrés sont très obsolètes. En particulier, Python et gcc. Cela signifie que vous devez installer vos propres versions mises à jour, ce qui peut être un problème.

  3. Apple n'inclut pas de compilateur Fortran!

Il me semble qu'Apple accorde de moins en moins d'attention à ses utilisateurs avancés sous Unix. Pendant ce temps, Linux continue de s'améliorer. Finalement, je serai probablement repoussé sous Linux. Mais je garderai mon Macbook jusqu'à ce que quelqu'un d'autre apprenne à fabriquer des piles décentes.

David Ketcheson
la source
1
Mon environnement informatique scientifique sur mon Mac (compilateurs, bibliothèques) est fourni à 99% par MacPorts. Ce n'est pas parfait, mais il bat facilement l'installation manuelle. Bien sûr, cela dépend beaucoup de la quantité que vous devez installer pour faire votre travail.
khinsen
9

Je dirais que le Mac est un meilleur environnement pour les scientifiques informatiques que pour les sciences informatiques . Je ne voudrais pas utiliser de Mac dans un environnement informatique de base; le matériel est, relativement parlant, beaucoup trop cher pour cela. Il peut être difficile de créer un environnement logiciel répondant aux conditions requises pour un package particulier, mais généralement une fois que vous l'avez compris la première fois, il est beaucoup plus facile à entretenir qu'une installation Windows comparable. (Et, selon les gestionnaires de packages, cela peut être aussi simple que Linux. MacPorts se débrouille assez bien en tant que gestionnaire pour OS X!)

Cependant, en tant que plate-forme de travail pour un scientifique en informatique occupé, je pense que le Mac offre l'avantage supplémentaire de pouvoir travailler et maintenir dans un environnement informatique unique, plutôt que d'avoir à maintenir une boîte Linux pour un travail "sérieux", et toujours besoin d'avoir une autre machine lorsque des collègues travaillant dans d'autres disciplines m'envoient (par exemple) des fichiers Office qui ont besoin de balisage, ou je dois remplir un formulaire universitaire qui n'est disponible qu'en tant que modèle RTF qui ne formatera pas correctement avec LibreOffice et sera une douleur dans le cou à recréer dans LaTeX. (Lors de travaux précédents, les propriétaires de Linux devaient à peu près avoir une machine non Linux en plus, car pour accéder à l'environnement d'entreprise plus ou moins exigé. Les propriétaires de Mac n'avaient pas vraiment besoin d'une deuxième machine.)

En outre, il existe un certain nombre de programmes Mac uniquement (comme TextMate , Scrivener , Papers , Things , OmniFocus ou BibDesk ) qui font du Mac un environnement beaucoup plus agréable dans lequel travailler que sur PC ou Linux. Je me retrouve à consacrer plus de temps à faire avancer les choses qu'à faire ce que je dois faire pour que l'environnement logiciel fasse ce que je veux (ou ai besoin!).

aeismail
la source
5

L'utilisation d'OS X en HPC et en calcul scientifique est faible et elle doit faire beaucoup avec les avantages et les inconvénients d'OS X par rapport à l'alternative (Linux)

Avantages d'OS X:

  • Interface utilisateur polie; toujours * nix
  • Applications de bureau / conception telles que MS Office, programmes Adobe bien pris en charge
  • Multimédia très bien supporté
  • Certaines personnes aiment l'écosystème Apple (iPhone, iTunes, etc.)

Contre OS X:

  • Fonctionne sur du matériel coûteux et tout le monde n'aime pas les Macbooks, en particulier les personnes habituées aux Thinkpad (clavier + trackpoint)
  • Impossible de mettre à niveau le matériel (par exemple, si vous souhaitez essayer la dernière carte NVIDIA avec votre application CUDA) sur le bureau / cluster
  • Interface graphique gonflée qui ne peut pas être personnalisée (sous Linux, vous pouvez utiliser un gestionnaire de fenêtres minimaliste)
  • Le package mgmt dans Macports / Fink est inférieur à celui des distributions Linux (Debian). La plupart des packages ne sont même pas maintenus activement ou sont orphelins
  • Certains outils / programmes utiles ne fonctionnaient pas ou ne fonctionnent toujours pas sous OS X. Par exemple ...

    1. Sun Studio ne fonctionne toujours pas
    2. Valgrind n'a commencé à fonctionner que récemment et toutes les fonctionnalités ne sont pas prises en charge
    3. Des compilateurs Intel sont également disponibles ces dernières années
    4. Apple ne contient même pas de compilateur Fortran et vous devez vous fier à des tiers (principalement des particuliers) pour créer des fichiers binaires qui ne fonctionnent que sur certaines versions d'OS X (dont la personne dispose). Le support est rare ou inexistant dans de tels cas
    5. Les applications scientifiques commerciales (ABAQUS, ANSYS, FLUENT et bien d'autres dans des industries telles que le pétrole / la finance / engg, etc.) ne fonctionnent pas (nativement) sur OS X

Avantages Linux (Debian):

  • Gestion de paquets de première classe, c'est-à-dire l'installation de compilateurs, de la plupart des bibliothèques numériques / scientifiques, etc.
  • Contrairement à Fink / Macports, les paquets sont beaucoup mieux pris en charge (dans Debian, vous avez la possibilité d'utiliser des versions à la pointe de la technologie / tests / stables)
  • La plupart des clusters exécutent une version de Debian / Red Hat, donc moins de tracas dans le portage de code (s)

Contre Linux (Debian):

  • Aucune interface utilisateur standard
  • Linux sur ordinateur de bureau / ordinateur portable peut nécessiter quelques ajustements pour que tout fonctionne (suspension / reprise, accélération vidéo 3D, son, etc.), mais cela s'est beaucoup amélioré ces dernières années

À quelques exceptions près, la plupart des utilisateurs et des administrateurs de cluster / système trouvent OS X plus facile pour la productivité du bureau et NON pour le calcul scientifique (compilation, utilisation, développement de choses).

OTOH la plupart des utilisateurs de Linux trouvent ce dernier plus facile que l'ancien et cela se reflète dans l'ensemble de l'écosystème HPC / informatique scientifique.

stali
la source
Ajoutez à votre liste d'outils utiles qui ne fonctionnent pas sur OS X: gprof.
David Ketcheson
La référence ThinkPad m'a fait rire. En ce moment, nous sommes un ménage séparé Apple / Lenovo, et mon mais elle n'aime pas le trackpad :)
Fomite
@DavidKetcheson, c'est parce que OS X a des instruments (anciennement Shark).
Aron Ahmadia
3

Je n'utilise que des Mac sur le bureau (et l'ordinateur portable) depuis de nombreuses années, faisant entre autres du calcul scientifique et du développement de logiciels scientifiques. Comme d'autres l'ont souligné, la qualité du matériel, la haute qualité de nombreux logiciels spécifiques à Mac et la capacité de gérer Word et Excel si nécessaire, font du Mac une très belle plate-forme pour une utilisation quotidienne.

J'ai également exécuté un cluster de calcul basé sur Mac comme expérience pendant un certain temps. C'est une expérience que je ne suis pas tenté de refaire. Comparé à un cluster Linux, je ne vois aucun avantage significatif, à part la facilité d'installation du logiciel si vous avez quand même des Mac sur le bureau (installez simplement les mêmes choses). Les inconvénients ressortent clairement, surtout le manque de prise en charge GUI multi-utilisateurs appropriée. Sur un Mac, une machine équivaut à un écran et au plus un utilisateur connecté. Cela rend les outils basés sur l'interface utilisateur graphique difficiles à utiliser. Comparé à cela, même des fenêtres X simples sous Linux sont un plaisir à utiliser, et puis il y a VNC et NoMachine NX pour faire encore mieux.

Oui, je sais que le Mac prend en charge X Windows, mais la plupart des programmes GUI pour Mac utilisent l'interface native.

Khinsen
la source
Merci pour la compréhension de l'exécution d'un cluster basé sur Mac. Quel type d'outils d'interface graphique trouvez-vous manquant?
Fomite
Vous pouvez obtenir la plupart des outils GUI pour la science en installant un logiciel basé sur X-window via MacPorts, mais cela demande beaucoup de travail. À l'autre extrême, vous n'avez aucune chance de faire fonctionner à distance un logiciel propriétaire (par exemple Mathematica), sauf si vous acceptez la limitation fondamentale de l'interface graphique Mac d'un utilisateur = une machine = un écran. Plus vous voulez de logiciels spécifiques à Mac, plus vous êtes handicapé par le problème de l'interface graphique.
khinsen