Comment étudier la création et la programmation de systèmes HPC?


16

Je suis dans un domaine qui ne fait pas nécessairement beaucoup de travail HPC, et quand il le rencontre, c'est souvent le résultat de chercheurs d'autres domaines qui explorent de nouvelles applications à leurs méthodes et autres. Ce que cela signifie principalement, c'est qu'il n'est jamais vraiment introduit au cours des études, ni élevé dans des ateliers, des séminaires, etc. - il est possible de poursuivre sa carrière sans en avoir besoin.

Dans le même temps cependant, une grande partie du travail que je fais pourrait bénéficier d'une meilleure utilisation des ressources HPC à ma disposition - principalement sous la forme de simulations Monte Carlo bien parallèles.

Mon problème est de trouver des ressources pour apprendre comment utiliser les clusters, MPI, etc. Et séparer le bon du mauvais, étant donné que je ne sais pas grand-chose.

Avez-vous des suggestions de livres sur la programmation sur ces types de systèmes, ou sur la configuration et l'exécution de configurations HPC très modestes?


Cela devrait-il avoir quelque chose comme une balise "grande liste"?
shuhalo

@Martin: non. Il devrait y avoir des réponses de gens qui ont fait cela et savoir de quoi ils parlent, pas une liste gigantesque de tout ce qui pourrait éventuellement être lié. Modification du titre pour refléter cela.
Shog9

Réponses:


13

Découvrez HPC University . En particulier, la section des ressources , qui comprend des choses comme

et beaucoup plus.

Il existe de nombreux programmes d'enseignement supérieur qui comprennent des cours de HPC . Par exemple, mon propre programme comprend des cours de

  • Calcul haute performance (2 semestres)
  • Paradigmes de programmation parallèle
  • Génie logiciel scientifique
  • Programmation GPU et GPGPU

ainsi qu'une variété de cours en calcul scientifique et analyse numérique.


4

Mon expérience personnelle est que le HPC requiert un ensemble de compétences si vaste qu'il est très difficile de le faire dans un seul livre, recette, cours universitaire. Considérez que HPC ne consiste pas à programmer de grosses machines ou à construire un cluster, mais plutôt à s'attaquer à de gros problèmes scientifiques à la pointe de l'informatique.

Je ne suis pas sûr que tout le monde soit d'accord mais je pense qu'une liste des domaines impliqués dans le HPC pourrait être:

Chacun de ces domaines est immensément vaste et il y a tellement de connaissances qu'il est difficile de tout saisir avant d'essayer de faire quoi que ce soit!

Dans mon cas, je suis parti d'un coin d'ingénierie et j'ai lentement développé une expérience et un réseau de collaboration. Au tout début, je n'avais qu'un problème d'ingénierie / mathématiques appliquées que je voulais résoudre, de là je suis passé à la programmation, à obtenir plus de performances via des ordinateurs plus puissants, à l'analyse numérique, aux algorithmes avancés, aux ordinateurs parallèles, aux algorithmes parallèles , à des ordinateurs encore plus grands, à un modèle scientifique plus complet, et finalement à un nouveau problème et il recommençait. Si je regarde en arrière, c'est en essayant de comprendre et de résoudre mon premier problème que j'ai conçu mon plan d'études. Avoir un superviseur qui peut vous garder sur la bonne voie aide également beaucoup, sinon faites attention à ne pas perdre de vue votre objectif final (dans mon cas, c'était le problème scientifique que j'avais à portée de main).

Si je dois nommer une chose qui fait vraiment la différence en suivant le chemin du HPC, c'était de rencontrer des gens d'autres domaines, d'échanger des idées et de profiter des connaissances distribuées de la communauté. De plus, il est important de ne pas avoir trop peur d'être ouvertement naïf et de faire des choses stupides. Les premiers pas sont toujours difficiles et les plus importants!


2

C'est mon plan pour m'enseigner moi-même certaines fondations HPC au printemps prochain. Je suis développeur depuis une décennie et demie et travaille exclusivement avec les technologies Microsoft. Je suis également étudiant, donc je peux obtenir des logiciels gratuitement via MSDN Academic Alliance(votre profil indique que vous êtes un étudiant diplômé, vous devriez donc vérifier pour voir si votre école participe), et faire de la place pour des trucs à la maison est le facteur limitant. Mon bureau / den / ManCave contient déjà un certain nombre d'ordinateurs, je peux donc déjà tester certaines choses. Windows Server 2008 HPC est répertorié dans certains packages disponibles, mais il semblait disparaître des logiciels téléchargeables de mon école au cours du dernier semestre ("cluster compute pack" est un module complémentaire pour le serveur 2003, tandis que le serveur 2008 hpc est livré avec une version simplifiée du serveur 2008, avec ccp, vous devrez désactiver les services dont vous n'avez pas besoin).

Ma topologie prévue est le "SOA Enabled Cluster" qui est la 4ème image sur cette page (cliquez sur les minuscules carrés sous l'image principale). J'ai déjà Active Directory et certains autres serveurs déjà configurés, donc je pense à retirer 4 ordinateurs Dell bon marché à petit facteur de forme d'eBay (le Dell 655 SFF remis à neuf semble fonctionner dans le stade de 100 à 200 $). Puisque j'essaie seulement d'apprendre quelques trucs, je crois que je n'ai besoin que d'un "nœud principal", d'un "nœud de courtier" et de 2 "nœuds de calcul" et de quelques cartes Ethernet de rechange pour voir ce que les bus privés et d'application (à partir de cette image) ) faire. La licence MSDNAA permet jusqu'à 16 nœuds de calcul, ce qui est bien plus que ce que je recherche.

J'ai lu Beowulf Cluster Computing avec Windows , et je pense avoir une idée de ce que je suis contre pour quelques idées au bureau (il existe une version linux du livre, mais j'ai 0 compétences / plateformes linux à la maison - faites ce qui vous convient). Il y a beaucoup de gros clusters disponibles au bureau , mais ils sont déjà saturés, et les créneaux éducatifs "Je veux / dois apprendre X" sont très difficiles à obtenir. On est déjà censé connaître les choses avant de pouvoir soumettre des emplois.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.