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

Java Discussion :

Répartition des traitements sur différentes machines selon la charge


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Par défaut Répartition des traitements sur différentes machines selon la charge
    Bonjour à tous,

    Je fais un programme Java qui exécute des traitements en parallèle. A chaque fois que le programme est sollicité, il lance un nouveau thread qui fait le traitement.
    J'aimerais ques les threads soient lancés sur différentes machines selon la charge. C'est à dire : le premier thread sur la machine 1, le deuxième sur la machine 2, le troisieme sur la machine 1 (qui a fini le premier), le quatrieme sur la machine 3 (car les machines 1 & 2 sont occupées), le cinquième sur la machine 1 (parce que des trois machines c'est elle qui consomme le moins de ressources).

    Alors déjà, je ne sais pas quel terme utiliser ? Load balancing ou clustering ?
    Ensuite, question : faut-il que je gère cela au niveau applicatif (dans le code de mon programme) ou bien il y a des solutions matérielles existantes ?

    Merci de m'avoir lu.

    Si vous pouviez m'éclairer un peu, cela ne serait pas de refus. Notamment les mots clés à taper dans Google relatifs à ce que je veux faire.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    C'est de la répartition de charge, ou load balancing.
    Quel est ton besoin précis ?
    Ton budget ?
    Envisages-tu d'investir dans du matériel (genre un Alteon) pour la répartition de charge ?

    Il est tout à fait possible de gérer la répartition au niveau de ton application, il "suffit" de poser les bases :
    1. comment calculer un indice de charge d'une machine en combinant différentes info : charge CPU, RAM utilisée, nombre de connexions réseau, utilisation des disques durs.... à toi de créer une formule "magique"
    2. il faut un "point d'entrée" à ton application, capable de communiquer avec toutes les machines disponibles et de choisir la machine en fonction de l'indice calculé en 1.
    3. vas-tu gérer les ajouts dynamiques de machines ? Les suppressions de machines ?
    4...

    En bref, il te faut une liste claire et précise de tes besoins et de ce que ton appli doit faire.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre confirmé
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Par défaut
    Merci pour ta réponse.

    Mon besoin est le suivant :
    - Programme Java
    - Ajouter et supprimer des machines dynamiquement (sans changer le code)
    - Budget : pour l'instant j'en suis à étudier les solutions.

    1. comment calculer un indice de charge d'une machine en combinant différentes info : charge CPU, RAM utilisée, nombre de connexions réseau, utilisation des disques durs.... à toi de créer une formule "magique"
    2. il faut un "point d'entrée" à ton application, capable de communiquer avec toutes les machines disponibles et de choisir la machine en fonction de l'indice calculé en 1.
    Niveau applicatif, en Java, je crois qu'il est assez difficile d'analyser la consommation ressource de la machine.
    En fait, je croyais qu'il existait des solutions qui permettent de s'affranchir de tout cela.
    Cela ne me dérange pas de le faire mais je sais qu'il ne sert à rien de réinventer la roue.

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par tiboudchou Voir le message
    Niveau applicatif, en Java, je crois qu'il est assez difficile d'analyser la consommation ressource de la machine.
    Tout dépend du type de traitement à effectuer. Est-ce un usage intensif des disques durs ? De la RAM ? Du processeur ? Autre ?
    C'est à toi de connaitre les indicateurs à ressortir. Selon le traitement, est-il possible de savoir approximativement ou il en est ? Ainsi, une machine pourrait répondre qu'elle travaille depuis X minutes et qu'elle a effectuée Y % du traitement.
    Ensuite, l'info temps réel n'est peut-être pas pertinente dans ton cas. Il est possible de classer les machines en fonction de leur temps de traitement passé et du nombre de traitements parallèles qu'elles ont fait.

    Comme tu le vois, il y a des millions de possibilité, entièrement dépendantes de ta problématique propre.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/01/2008, 11h46
  2. Réponses: 2
    Dernier message: 06/05/2007, 10h53
  3. liaison des données sur différentes pages
    Par tetedeturcq dans le forum Services Web
    Réponses: 11
    Dernier message: 15/04/2007, 03h05
  4. Réponses: 13
    Dernier message: 03/01/2007, 12h17
  5. [C#] treeview: liste des serveurs sur ma machine
    Par fafa139 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/04/2006, 19h32

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