2010-03-17 7 views
17

Avec processeur lancement d'Intel d'un Hexa-Core (6) pour le bureau, il semble que nous ne pouvons plus attendre pour Microsoft de faire la programmation GPGPU « facile ». Je viens de commander une copie du livre Concurrence de Joe Duffy sur Windows. Cela ressemble à un excellent endroit pour commencer, cependant, j'espère certains d'entre vous qui ont pris pour cible les systèmes multi-core/beaucoup me pointer vers quelques bonnes ressources qui ont ou auraient aidé sur vos projets?Modèles de programmation parallèle pour C#?


Vous avez donné de bonnes réponses mais, permettez-moi d'ajouter ce que je veux dire par "bonnes ressources". Ce n'est pas parce que nous avons 6,12 ou 48 cœurs que nos applications vont bénéficier d'essayer de les utiliser toutes. Je n'arrête pas d'entendre que le paradigme de programmation actuel va changer lorsque nous avons une pléthore de noyaux dans nos systèmes.

Quels blogs/livres que je devrais être en train de lire pour comprendre mieux les motifs et quand les utiliser. Y a-t-il de bons podcasts ou webcasts qui peuvent vous aider?


Voici quelques liens que j'ai trouvé intéressant:

Généralement utile:

Multi-Threading:

+0

Nous allons projets d'expédition des deux premiers chapitres du livre p & p mentionné ci-dessus sur CodePlex ainsi que des échantillons la semaine prochaine. http://parallelpatterns.codeplex.com/ Nous serions heureux des commentaires sur ce que nous faisons alors s'il vous plaît ne hésitez pas à jeter un coup d'oeil. Merci, Ade –

+0

@Ade: Je suis sûr que nous attendons tous avec impatience la prochaine version et nous donnerons certainement votre avis. Merci de nous avoir tenus au courant. – VoidDweller

+0

Nous venons de publier des brouillons de la préface et des chapitres 1, 2 et 5 sur Codeplex, http://parallelpatterns.codeplex.com/. Si vous avez le temps, nous aimerions avoir vos commentaires. –

Répondre

12

Voici quelques options

  • F # a vraiment un bon soutien pour le code simultané
  • LINQ et tâches en parallèle dans .NET 4 sont des abstractions utiles.

Voir la pfxteam blog Pour plus d'infos sur les nouveaux outils de programmation parallèle dans .NET 4.

+0

Il est difficile de battre le blog pfxteam. Connaissez-vous des ressources spécifiques C# 3.0? – VoidDweller

+0

J'allais dire Joe Albahari et Jon Skeet, mais vous liste déjà leurs messages dans la question :) –

8

Il y a une series of articles par Reed Copsey qui est très complet et vaste. Il commence par les principes de base de la programmation parallèle et continue à implémenter des solutions utilisant la nouvelle bibliothèque parallèle de tâches dans .NET4.

+0

J'ai commencé à lire les articles, cela ressemble à ce que nous devrions penser à. – VoidDweller

+0

@rwwilden: Merci pour la prise. Je voulais juste ajouter que c'est encore un travail en cours - avec beaucoup plus à venir. Juste commencé sur le parallélisme des tâches à ce stade, bien que le parallélisme des données est assez bien débusqué. –

4

Gardez à l'esprit au milieu de tout cela, pas toutes les applications que vous écrivez ne bénéficieront pas nécessairement de la programmation parallèle.Les systèmes d'exploitation sont déjà capables de lancer différents processus sur différents cœurs, ce qui signifie que votre application à un seul thread bénéficiera déjà du fait qu'elle n'a pas à partager son noyau avec autant d'autres threads et processus.

+0

C'est un excellent point Spencer, et une grande partie de ma motivation à poser la question. J'ai édité ma question pour refléter cela. – VoidDweller

2

Je suis d'accord avec Brian et rwwilden sur l'utilisation de la bibliothèque parallèle de tâches. Alors que TPL est la fonctionnalité .NET 4, si vous ciblez la version 3.5, elle est disponible dans le cadre du Reactive Extensions for .NET (Rx).

+0

Rx semble très convaincant, j'aime qu'il peut être utilisé avec 3.5 SP1. Je vais me renseigner, je me demande si cela peut être livré avec nos applications ou doit-il être installé. – VoidDweller

+0

Il peut être livré avec votre application, mais vérifiez les conditions de licence Go Live. –

+0

@Richard: Merci pour l'info. – VoidDweller

Questions connexes