IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Python 3.2 : la programmation parallèle arrive


Sujet :

Python

  1. #1
    Expert éminent sénior
    Avatar de Idelways
    Homme Profil pro
    Développeur Ruby on Rails / iOS
    Inscrit en
    Juin 2010
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Ruby on Rails / iOS

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 374
    Points : 68 548
    Points
    68 548
    Par défaut Python 3.2 : la programmation parallèle arrive
    Python 3.2 est disponible
    Avec des librairies standards améliorées

    Mise à jour du 21/02/11 par Gordon Fowler


    Depuis le gel de la syntaxe de Python, la branche des versions 2.x ne se verra plus ajouter que des corrections de bugs. Les réelles nouveautés, elles, seront intégrées directement dans le branche 3.x.

    C'est donc avec un certain intérêt que les développeurs verront la sortie de Python 3.2, rendu disponible pendant le week-end.



    Les efforts des équipes de développement de Python 3.2 se sont portés sur l'amélioration des librairies standards et le support du port du code vers Python 3.x. Rien de révolutionnaire donc mais des améliorations bienvenues (lire également ci-avant).

    Une situation qui ne pouvait de toute façon être que difficilement autre avec ce moratoire.

    Les différences entre Python 3.1 et Python 3.2 sont énumérées avec précision sur cette liste détaillée.

    Python 3.2 est disponible sur cette page


    Python 3.2 : la programmation parallèle arrive
    avec la première bêta de la nouvelle version du langage



    La première bêta de la prochaine version 3.2 du langage de programmation Python est désormais disponible.

    Cette version maintient la même syntaxe et sémantique que la 3.0 mais devrait offrir d'ici sa sortie, en février, un meilleur support pour l'écriture d'applications réellement "multi-threadées".

    Bien que le multicoeurs est désormais la norme établie en terme de processeurs, écrire des applications pouvant profiter simultanément de la puissance de calcul de plusieurs processeurs reste un vrai challenge pour les développeurs.

    Une tâche à la base difficile, compliquée par les supports souvent insuffisant, voir inexistants des langages les plus populaires.

    Ce à quoi, la version 3.2 de Python veut remédier, grâce aux fonctions d'un nouveau package destiné à faciliter cette tâche, jusqu'ici possible mais pas vraiment « developer-friendly ».

    Proposé initialement par Brian Quinlan, ce projet devrait fournir une librairie de haut niveau appelée "Futures", qui sera disponible à partir d'un nouvel espace de nommage appelé à son tour et à juste titre "Concurrent".

    Future devrait offrir un ensemble de classes qui permettra, par exemple, de lancer des calculs asynchrones.

    Cette première bêta corrige aussi de nombreux bugs et se concentre sur l'amélioration de la bibliothèque standards du langage et le port des applications à Python 3.x.

    Son module SSL (Secure Sockets Layer) a aussi été amélioré.

    Un autre module facilitera l'accès aux informations de configurations.

    Enfin, une nouvelle extension devrait permettre aux fichiers sources d'être partagés entre plusieurs versions de l'interpréteur Python.

    Cette version beta est disponible en téléchargement sur cette page


    Plus de détails sur le projet « futures » sur cette page


    Source : Le site officiel de Python

    Et vous ?

    Avez-vous déjà essayé la programmation parallèle avec Python ?
    Que pensez-vous des améliorations qu'apportent la beta de la version 3.2 du langage ?

    En collaboration avec Gordon Fowler

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Points : 257
    Points
    257
    Par défaut
    Bonjour a tous,

    Pour ma part, je n'ai jamais eux recourt à la programmation parallèle, (n'ayant programmé qu'en python, c'est peut-être pour cela ^^), aillant vu le concept il y a peut de temps cela semble tout à fait intéressant et cette arrivé sur python tombe à pic. Toutefois, je ne voix pas cela non plus comme une révolution mais comme une amélioration, python à réussis à sens passer depuis des années.

    Pour le reste, je pense que toutes améliorations est bonne à prendre. Je déplore quand même le fait qu'il est gardé la même syntaxe et sémantique que la 3.0 car les problème de compatibilité entre 2.x et 3.x ne font que s'accumuler, la transition est vraiment un soucie au j'aurai espéré peut-etre... un mini retour en arrière.
    Pour ce qui est de l'améliorations à l'accès des configurations c'est un vrai plus, souvent tortueux de récupérer des informations sur le système pour faire un programme solide, nous allons pouvoir enfin faire des programmes "interactifs" avec notre OS favoris

    Au final, je trouve bien le fait que python se renouvelle sans cesse pour proposer des versions de plus en plus performantes même si les librairies externes ne suivent pas toujours (c'est une sorte d'appel )... J'espère qu'ils ne trouveront pas trop de bug sur cette dernière.

    Aller, je vous embête pas plus ^^, bon courage à tous et...

    Au suivant

    Mickael

  3. #3
    Membre éclairé Avatar de Camille_B
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2006
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2006
    Messages : 212
    Points : 673
    Points
    673
    Par défaut
    Je suis curieux de savoir comment "future" interagit avec GIL, vous savez ce truc que ce cher Guido justifie par un laconique :

    "Just Say No to the combined evils of locking, deadlocks, lock granularity, livelocks, nondeterminism and race conditions."

    et qui consiste tout simplement à... "sérialiser" du code "multi-threadé" !

    Cela j'ai totalement laissé tombé ce langage depuis 2.5, il y a peut-être du nouveau depuis

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Citation Envoyé par Camille_B Voir le message
    Je suis curieux de savoir comment "future" interagit avec GIL, vous savez ce truc que ce cher Guido justifie par un laconique :

    "Just Say No to the combined evils of locking, deadlocks, lock granularity, livelocks, nondeterminism and race conditions."

    et qui consiste tout simplement à... "sérialiser" du code "multi-threadé" !

    Cela j'ai totalement laissé tombé ce langage depuis 2.5, il y a peut-être du nouveau depuis
    Il faut lire le PEP3148:
    Futures are created by concrete implementations of the Executor class (called ExecutorService in Java). The reference implementation provides classes that use either a process or a thread pool to eagerly evaluate computations.
    Python 2.6/2.7 incluent le module multiprocessing qui offre une API similaire à celles du threading en utilisant des processus séparés.
    Et ca permet d'utiliser les processeurs disponibles par un side-step du GIL - on passe à côté. Ce n'est pas idéal, mais c'est largement suffisant pour l'utilisation de Python en mode "intégration" i.e. glue entre bibliothèques externes qui sont elles multithreades sans contrainte GIL.
    - W.
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Expert éminent sénior

    Inscrit en
    Juillet 2009
    Messages
    3 407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 407
    Points : 149 059
    Points
    149 059
    Par défaut Python 3.2 est disponible
    Python 3.2 est disponible
    Avec des librairies standards améliorées



    Depuis le gel de la syntaxe de Python, la branche des versions 2.x ne se verra plus ajouter que des corrections de bugs. Les réelles nouveautés, elles, seront intégrées directement dans le branche 3.x.

    C'est donc avec un certain intérêt que les développeurs verront la sortie de Python 3.2, rendu disponible pendant le week-end.



    Les efforts des équipes de développement de Python 3.2 se sont portés sur l'amélioration des librairies standards et le support du port du code vers Python 3.x. Rien de révolutionnaire donc mais des améliorations bienvenues. Une situation qui ne pouvait de toute façon être que difficilement autre avec ce gel.

    Les différences entre Python 3.1 et Python 3.2 sont énumérées avec précision sur cette liste détaillée.

    Python 3.2 est disponible sur cette page

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Apocalypses Voir le message
    python à réussis à s'en passer depuis des années.
    Mickael
    Mais pendant ces années, les processeurs n'étaient pas multicoeurs.
    Et maintenant que les utilisateurs ont payé chère des processeurs qui le sont, ils veulent que les applications suivent.
    Ils en veulent pour leur argent et ils ont bien raison.

    Souvenez-vous pendant combien d'années Microsoft n'a pas utilisé la gestion de la mémoire étendue mise à disposition par Intel.
    Et pourquoi un certain étudiant finlandais a créé Linux pendant ses vacances d'été.

  7. #7
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Citation Envoyé par FredOoo123 Voir le message
    Et pourquoi un certain étudiant finlandais a créé Linux pendant ses vacances d'été.
    Peux-tu nous rafraichir la mémoire ?

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    rambc n'a pas compris, c'est grave ?

  9. #9
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    C'est juste que je ne suis pas un spécialiste de l'histoire de l'informatique...

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Citation Envoyé par rambc Voir le message
    C'est juste que je ne suis pas un spécialiste de l'histoire de l'informatique...
    L'histoire de l'informatique nous dit que les multiprocesseurs sont diffusés assez largement depuis les années 80. Depuis des milliards de dollars ont été dépensés pour faire carburer des têtes bien pleines sur la parallélisation sans aboutir à des solutions convaincantes autres que le modèle SIMD appliqué à différents niveaux (et multiprocessing ou concurrent Python ne sont que des avatars de ce modèle).
    note: un hyperviseur à la VMware n'est qu'une sorte de SIMD.

    Pour faire mieux il faut hélas souvent gérer soi-même la distribution de la charge en fonction des besoins applicatifs et des possibilités techniques du jour.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Python 3.2 : la programmation parallèle arrive
    Par Idelways dans le forum Actualités
    Réponses: 0
    Dernier message: 13/12/2010, 14h55
  2. Réponses: 3
    Dernier message: 31/05/2007, 01h52
  3. programmation parallèle avec MPI
    Par salseropom dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 03/08/2006, 09h45
  4. Programmation parallèle - Linux
    Par pilou254 dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 25/06/2006, 05h55
  5. [MFC] Programmation parallèle sous VC++
    Par Axiome dans le forum MFC
    Réponses: 4
    Dernier message: 14/12/2005, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo