2008-11-20 8 views
4

J'espère que c'est le bon endroit à demander [1], mais j'ai lu beaucoup de bons commentaires sur d'autres sujets ici, donc je vais demander. En ce moment je suis à la recherche d'un sujet pour ma dissertation (Ph.d dans les pays non-allemands je pense), qui doit faire quelque chose avec le parallélisme ou la simultanéité, etc. mais sinon je suis assez libre de choisir ce que je Je m'intéresse aussi. Tout avec les GPU n'est pas raisonnable, parce qu'un de mes collègues fait déjà des recherches sur ce sujet et que nous aimerions avoir autre chose pour moi :)Sujets "chauds" actuels dans la programmation parallèle?

Donc, les questions magiques sont: Qu'est-ce que vous dites sont des sujets intéressants dans ce domaine? Personnellement, je m'intéresse aux langages de programmation fonctionnels parallèles et aux machines virtuelles en général, mais je dirais que beaucoup de travail a déjà été fait là-bas ou fait l'objet de recherches actives (par exemple dans la communauté Haskell).

J'apprécierais grandement toute aide pour me montrer d'autres sujets intéressants.

Meilleures salutations, Michael

PS: Je l'ai déjà regardé https://stackoverflow.com/questions/212253/what-are-the-developments-going-on-in-all-languages-in-parallel-programming-area mais il n'y avait pas beaucoup de réponses.

[1] J'ai déjà demandé au http://lambda-the-ultimate.org mais la réponse n'était malheureusement pas aussi importante que prévu.

Répondre

5

Programmation Erlang!

6

Une autre zone de recherche est la parallélisation automatisée. C'est-à-dire, étant donné une séquence d'instructions S0..Sn, arriver à plusieurs séquences qui effectuent le même travail en moins d'étapes.

+0

Vous allez presque toujours vous retrouver avec plus d'étapes, mais effectuées en parallèle, donc plus rapidement dans un environnement multi-processeur. Mais en effet un sujet très intéressant. – Glenner003

+0

J'ai vu des travaux qui remontent à quelques années et qui impliquaient une machine virtuelle Java piratée qui réécrit des classes à la volée pour fonctionner sur un cluster, automatisant ainsi la parallélisation. – Karl

1

Les moteurs de traitement parallèle et de règles sont deux sujets à haute visibilité dans le monde informatique commercial/industriel. Alors, que diriez-vous de regarder les implémentations parallèles de l'algorithme Rete (descriptions d'introduction here et here), la fondation sous de nombreux moteurs de règles commerciales? Existe-t-il des techniques de construction de réseaux Rete mieux adaptées à la parallélisation? Un réseau Rete «vanille» pourrait-il être refondu en plusieurs réseaux qui pourraient être exécutés plus efficacement en parallèle? Etc

+0

Très cool. Je suppose que je dois lire mon DDJ plus. – jim

1

Fonctionnalités d'application commune conviviales pour le parallélisme. À l'heure actuelle, le parallélisme est fortement axé sur l'informatique scientifique et les langages de programmation, mais pas vraiment sur les applications grand public ou les fonctionnalités conviviales/structures de données/modèles de conception, et ces éléments seront très importants dans un monde multicœur.

1

Vous avez mentionné Haskell et vous avez sûrement trébuché sur Data Parallel Haskell. Étant donné que Big Data Analysis est un gros mot récemment et étant donné que la niche de Map/Reduce est surpeuplée, je pense que DPH est un bon domaine de recherche.

3

Du haut de ma tête:

  1. équilibrage de charge & comment atteindre le meilleur niveau de parallélisation. Je pense que cela peut être un très bon point de départ pour la thèse car ici vous pouvez proposer une nouvelle méthodologie et la comparer avec des valeurs réelles (nombre d'étapes déjà mentionnées, utilisation du CPU, utilisation de la mémoire, etc.) ensemble de tâches (comme le traitement d'image par exemple).

  2. Collection de place parallèle. Il y a beaucoup d'algorithmes pour la collection, il y a beaucoup d'algorithmes pour présenter des objets dans une mémoire.Par exemple, il y a un travail récent de la communauté Haskell sur Parallel GC: http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel-gc/index.htm Ensuite, il y a une bonne façon de présenter vos résultats et de les comparer avec d'autres et cela vous donne la flexibilité à la fin - vous pouvez vous concentrer sur des données simultanées structures plus tard, ou des primitives de synchronisation ou des algorithmes, etc

2

Vous avez probablement déjà votre doctorat;). Quoi qu'il en soit: la tolérance aux pannes sur les systèmes parallèles massifs me vient à l'esprit.