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 :

Informations sur le language Python


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 5
    Par défaut Informations sur le language Python
    Bonjour,

    Ne connaissant que très peu le langage Python je voudrais savoir auprès de vous si il serait le plus adapté pour répondre à mes besoins.

    Fonctionnant sous Linux (Red Hat pour être précis) je souhaiterais mettre en place un système de répartition de charge processus par utilisateur.
    En clair suite à une requête en PHP faite par un utilisateur le script doit être capable de lancer un processus sur l'un des processeurs suivant la charge de ceux-ci. En gros le processus sera lancé sur la machine avec le moins de ressource.
    L'utilisateur doit être capable de stoper (donc tuer) ou de relancer (et donc effectuer une nouvelle recherche du processeur le moins chargé) via sont interface PHP.
    En rapport avec ceci, je me demande aussi si le langage Python pourrais être adapté pour du basculement de fichier d'un serveur à un autre, c'est à dire pour que certains fichiers soit basculé dans le répertoire ou le processus à été chargé ou s'il serait plus propre et efficace de passer par une solution comme DRBD si vous connaissez ?

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    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 699
    Par défaut
    Bonsoir,

    Citation Envoyé par Jerico75 Voir le message
    Fonctionnant sous Linux (Red Hat pour être précis) je souhaiterais mettre en place un système de répartition de charge processus par utilisateur.
    En clair suite à une requête en PHP faite par un utilisateur le script doit être capable de lancer un processus sur l'un des processeurs suivant la charge de ceux-ci. En gros le processus sera lancé sur la machine avec le moins de ressource.
    Joli projet mais clarifiez:
    l
    • le calcul de la charge de chaque système dans le pool,
    • la sélection du système qui a le plus de ressource (et non le moins) pour faire le boulot,
    • les interactions avec l'utilisateur pour qu'il stoppe ou relance la tache

    Voir dans la liste de solutions de traitement parallèles disponible en Python celle qui correspond le mieux à vos besoins
    En rapport avec ceci, je me demande aussi si le langage Python pourrais être adapté pour du basculement de fichier d'un serveur à un autre, c'est à dire pour que certains fichiers soit basculé dans le répertoire ou le processus à été chargé ou s'il serait plus propre et efficace de passer par une solution comme DRBD si vous connaissez ?
    Plusieurs questions:
    • Vous ne donnez aucune informations sur les traitements à effectuer permettant d'estimer l'intérêt de recopier des fichiers en "local" plutôt que d'y accéder à distance (NFS?)...
    • DRDB est une solution de haute disponibilité qui repose sur le mirroring au niveau block... C'est intéressant en soit, mais çà ne va pas recopier les fichiers en "local", juste rendre leur stockage permanent tolerant à certaines pannes.

    Pour en revenir à Python... Ce n'est qu'un langage de programmation. Pour déplacer des fichiers d'un système à l'autre Python dispose de nombreuses bibliothèques en standard (FTP par exemple) qui ont, en général, le bon goût d'être écrites dans des langages performants tels que C/C++...
    Pour des opérations de copy plus natives regardez shutils

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 5
    Par défaut
    Les processus étant chacun lancé via un taskset ils sont donc chacun chargé sur un processeur spécifique.
    Le rôle du script que je souhaiterais mettre en place serait de changer la valeur du taskset automatiquement suivant les charges processeurs du parc (de 3 serveurs).

    Plus concrètement, lorsqu'un utilisateur souhaite redémarrer le service, après la fermeture de l'application(kill du screen) le script aurait pour rôle de relancer l'application sur le processeur qui à le plus de ressources pour faire le boulot parmis les 24 processeurs du parc (soit 3 serveurs octo-coeurs).

    Il reste à définir comment seront sélectionné les processeurs, le calcul pouvant être effectué d'après moi suivant la pourcentage de charge (plus il à de ressource disponible, plus il est apte à lancer un nouveau processus) ou suivant le nombre de processus lancé sur chacun des processeurs, existe t'il d'autres solutions de calcul plus efficace et utilisable en Python ?

    Pour le basculement de mes fichiers utilisateurs d'un serveurs à un autre j'utiliserais finalement d'autres solutions plus adapté.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    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 699
    Par défaut
    Bonjour,
    Citation Envoyé par Jerico75 Voir le message
    Les processus étant chacun lancé via un taskset ils sont donc chacun chargé sur un processeur spécifique.
    Pourquoi pas, mais c'est de l'optimisation.

    Le rôle du script que je souhaiterais mettre en place serait de changer la valeur du taskset automatiquement suivant les charges processeurs du parc (de 3 serveurs).
    Lorsqu'une activité sera lancée sur une des 3 machines, difficile de la basculer ailleurs surtout si elle est de courte durée - sauf en cas de panne.
    Après la question dépend du type parallélisme que pourra avoir chaque activité: assigner 2 CPU a un process n'aura pas le même effet dans le cas multi ou mono thread.
    Mais il s'agit encore d'optimisation.

    Plus concrètement, lorsqu'un utilisateur souhaite redémarrer le service, après la fermeture de l'application(kill du screen) le script aurait pour rôle de relancer l'application sur le processeur qui à le plus de ressources pour faire le boulot parmi les 24 processeurs du parc (soit 3 serveurs octo-coeurs).
    ????

    Il reste à définir comment seront sélectionné les processeurs, le calcul pouvant être effectué d'après moi suivant la pourcentage de charge (plus il à de ressource disponible, plus il est apte à lancer un nouveau processus) ou suivant le nombre de processus lancé sur chacun des processeurs, existe t'il d'autres solutions de calcul plus efficace et utilisable en Python ?
    Tout dépend du profil de charge et de la quantité de ressources minimale que vous voulez assigner à chaque activité. Si le profil de charge d'une activité est très variable, vous risquez à l'instant t, d'assigner trop à un système...
    Python de ce côté ne sait pas faire mieux que de s'interfacer proprement avec de nombreux outils systèmes, encore fait-il savoir ce qu'on veut.

    Bon courage,
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Informations sur languages web
    Par paikan06 dans le forum Débuter
    Réponses: 3
    Dernier message: 27/11/2010, 20h05
  2. Réponses: 12
    Dernier message: 12/12/2004, 14h25
  3. Réponses: 3
    Dernier message: 01/02/2004, 21h24
  4. Informations sur les procédures stockées
    Par jfphan dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/01/2004, 14h30
  5. Réponses: 6
    Dernier message: 28/09/2003, 17h49

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