begin process at 2012 05 29 09:53:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Réseau & Internet

 > 

Intergiciels et C++....


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Intergiciels et C++....

mardi 10 mars 2009 à 08:03:13 | Intergiciels et C++....

karistote

Bonjour !

Je ne suis que débutant en C++, bien qu'ayant programmé un peu de C et beaucoup de PHP :p

Je me tourne aujourd'hui vers ce language avec pour but la création d'un (tout petit) "intergiciel",
à savoir un programme permettant de répartir une charge de calcul sur plusieurs machines
en réseau. (programmes types seti@home & Co...)

J'ai vu que l'échange d'info client / serveur était chose relativement aisée grâce a l'utilisation
des sockets, qu'on pouvait communiquer entre plusieurs processus sur des machines distantes...

De la a pouvoir "émuler" un processeur d'une machine à l'autre, il n'y a qu'un pas... virtuel, cette méthode
si elle est réalisable sans modifications du systeme d'exploitation notables (sous windows...) serait vraiment
le top, mais il existe j'en suis certain, des solutions intermédiaires. Par contre, je n'ai absolument aucune
idée de comment réaliser cela, et toute aide serait fort bienvenue !

Il sagirait donc, en gros, d'utiliser les clients autant que le réseau peut le permettre pour soulager
la charge du cpu sur le serveur... Projet qui me tient beaucoup à coeur :)

Pour ceux que cela intéresse, un projet existe sous le nom de Condor
http://www.cs.wisc.edu/condor/

En post scriptum, le top du top serait de pouvoir utiliser ca sur toutes les plateformes evidemment :)

Merci d'avance :)

Zack

mercredi 11 mars 2009 à 13:55:50 | Re : Intergiciels et C++....

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

La fois où je me suis servi d'une grille de calcul, en fait on envoyait les calculs à réaliser sous forme de programme C. Il était compilé puis exécuté sur une machine choisie en fonction de la charge et de critères plus précis (Mémoire, nombre de processeurs, librairies présentes). En gros tu envoie tes données, ton source, un fichier de config, et tu récupères un fichier de résultat. Pas de parallélisation, sauf si on emploi plusieurs threads et que la machine cible à plusieurs CPU.

La parallélisation de calcul est plutôt technique et rarement automatisable. Comme pour du multithread, il faut que l'être humain choisisse de ce qui est exécuté quand et par qui, et il faut mettre en place des point de synchronisation, des sections critiques...

Emuler un processeur c'est en général une annerie à ne pas faire. Surtout si on veut faire du calcul ou les performances sont importantes.
mercredi 11 mars 2009 à 23:52:35 | Re : Intergiciels et C++....

karistote

Bonsoir !

C'est très intéressant, mais cela ne répond pas exactement a ce que je cherche...
d'autre part, le terme "émulation" n'était qu'une image quant au résultat souhaité.
 Le but est de pouvoir utiliser nimporte quelle application sur cette grille...
donc que le partage de calcul soit fait a une couche inférieure...



jeudi 12 mars 2009 à 00:33:42 | Re : Intergiciels et C++....

karistote

Voila exactement ce que je cherche !

http://www.mithral.com/products/

le hic c'est que j'ai pas trouvé de téléchargement :(:(:(

En tous cas apparamment ca a l'air faisable :)
(qu'est-ce qui ne l'est pas :))
jeudi 12 mars 2009 à 11:08:38 | Re : Intergiciels et C++....

rt15

Membre Club Administrateur CodeS-SourceS
"qu'est-ce qui ne l'est pas"

Beaucoup de choses en fait. Afficher 1 milliard de triangle en 3D 60 fois par seconde en est une, faire une IA un temps soit peu intelligente en ai une autre.

[quote=http://www.mithral.com/products/]
"Can your application be distributed? "
[/quote]

C'est pas un logiciel qui peut répondre oui ou non à cette question. C'est bien souvent un être humain.

Avant de penser à distribuer des calculs sur plusieurs PC, je t'invite t'intéresser à la distribution de calculs sur plusieurs CPU d'un même PC via des threads. Le problème est infiniment plus simple mais reste très compliqué. Tout dépend de l'application, du type de calcul... Si tous les calculs se suivent et on besoin des résultats des calculs précédents, aucune parallélisation n'est possible.

La répartition de calculs sur plusieurs PC est une extension de tout ça en fin de compte : En plus de threads sur plusieurs CPU, on a des problématique de dialogue inter-processus par socket (Avec ou sans surcouche quelconque, style RPC) et des problème de performances au niveau des transfert de mémoire (de données quoi...) d'un PC à un autre.

Et concernant la parallélisation des calculs, les processeurs actuels sont prévus pour faire des calculs en parallèle, via la technologie SSE ou MMX par exemple. Le principe est d'appliquer le même calcul à plusieurs opérandes en même temps. Mais cette possibilité est très rarement utilisée car les calculs ne s'y prêtent pas, ou que les développeurs en ignore l'existence, ou que les perfs ne sont pas à ce point critiques. La parallélisation des mêmes calculs est aussi un principe très utilisé dans les carte graphiques, de fréquence plus faible que les CPUs principale, mais bien plus efficace pour faire les calculs sur des vecteurs de flottant de dimension 4. Des recherches ont été effectuées dans le but d'utiliser les cartes graphique pour faire des calculs sans rapport avec les graphismes.



Cette discussion est classée dans : serveur, réseau, top, charge, intergiciels


Répondre à ce message

Sujets en rapport avec ce message

Sonder le réseaux. [ par raphael_kindt ] Bonjour à tous,Je cherche un moyen pour sonder le réseau.Je m'explique:Je voudrai connaître toutes les machines du réseau local qui écoute sur un port Jeu en réseau [ par bubbless ] Bonjour, Et à l'aide ! ;) Je me suis mis récemment à programmer en c et, je doit actuellement réaliser un projet pour la fin de l'année : le jeu des Recuperation de la charge CPU sous linux [ par kobee12 ] J'aimerais recuperer la charge CPU sous linux comme le fait la commande top ( CPU : 2.0% user, )Je ne trouve pas de fonction qui le fasse.J'ai essaye Prise en charge de caméra par réseau [ par gregy_uzi ] Bonjour,j'aimerai faire une application qui gère une caméra réseau Axis 2100....lien constructeur...je cherche une aid [Q] charge cpu, mémoire et réseau [ par gnetwb ] Bonjour, Je suis à la recherche de code (fonctions/routine...) pour développer une application sous XP qui, à l'identique du gestionnaire des tâches, Jeu réseau [ par goutbouyo ] Salut,J'essaye de mettre une fonction réseau à mon jeu.Dans l'initialisation, j'ai mis un thread qui initialise soit un serveur ou soit un client.Ensu adressage sur internet d'un poste du réseau [ par alain34270 ] Bonjour,Voilà le schéma du problème :Un réseau de quelques ordinateurs est connecté à internet par le poste A. Je souhaite, depuis l'extérieur, et via Construire un réseau de processus [ par gravedygger ] Bonjour à tous, N'ayant trouver de réponse nulle part je compte sur vous pour me donner des piste pour un TP de réseau dont voici le sujet. Mes questi


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales