JinaJumbo
Messages postés1Date d'inscriptionjeudi 29 janvier 2009StatutMembreDernière intervention29 avril 2009
-
29 avril 2009 à 16:12
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
8 mai 2009 à 22:09
Bonjour,
Pour un projet, je dois écrire un programme en C sous Linux qui permet d'inverser une matrice partitionnée, ie décomposer ma matrice en plusieurs sous matrices plus petites et faire les traitements sur ces sous matrices en utilisant fork, wait et exec de Linux.
Pour ce faire, j'établis un graphe d'exécution pour mes traitements qui portent sur ces sous matrices que je présente ci dessous :
A = A11 A12
A21 A22
E1 : Calcul de H= Inverse(A11)E2 : calcul parallèle de I A21*H & J H*A12
E3: Calcul de K= I*A12
E3: Calcul de L = Inverse(A22-K)
E5 : calcul parallèle de X= (H+J*L*I) & Y= -J*L & Z = -L*I
Alors mes questions, et j'espère que vous allez m'aider, parce que jusque là j'ai pas eu d'aide sont les suivantes:
Est-ce que je dois , pour chaque traitement, créer un processus ?
Comment je peux lancer cet ordonnancement en utilisant les fork en ayant une coopération pére fils?
Je sais que le dialogue entre les fils et le pére se faire par pipe, mais j'arrive pas à avoir une vue générale sur le programme que j'vais faire.
Je vous demande votre aide et je vous remercie d'avance.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 8 mai 2009 à 22:09
Bienvenue,
Je crois qu'il peut s'avérer intéressant de créer des processus supplémentaires si et seulement si ils peuvent réaliser des calculs en parallèle avec ceux réaliser par le processus principal. Sinon, créer un processus et attendre qu'il ait fini pour lancer le processus suivant, aucun intérêt.