Title: Aucun titre de diapositive
1PVM-MPC
Olivier GLUCK Jérôme JEANJEAN Responsable
Philippe LALEVEE, Département INF 05/02/1999
2(No Transcript)
3Plan
- Introduction
- Machine MPC
- PVM standard
- PVM pour MPC
- Résultats sur PVM-MPC
- Conclusion
4(No Transcript)
5Interconnexion entre modules sur la machine MPC
6Connexions RPC mettant en jeu le nœud 0
7/dev/cmem low level driver for contig.
space physical start 0x103ea000 virtual start
0xf5576000 length
33554432 ------------------------------------
-------------- slot phys start virt start
size name -----------------------
--------------------------- 0
0x103ea000 0xf5576000 1048576 PUT
-------------------------------------------
------- 1 0x104ea000 0xf5676000
69632 MISALIGN ----------------------------
---------------------- 2 0x104fb000
0xf5687000 163840 PCIDDC
-------------------------------------------
------- 3 0x10523000 0xf56af000
122880 SLR/P ---------------------------
----------------------- 4 0x0
0x0 0
-------------------------------------------
------- 5 0x0 0x0
0 ------------------------------
--------------------
Contenu de /dev/cmem
8Communications HSL
- Mode Receiver-Driven transfert sous contrôle du
récepteur - Transfert initié par Slrpv_recv() gt zones
mémoires - Emetteur Slrpv_send()
- Canal de communication information commune au
récepteur et à l émetteur
9Couches du système PVM
10Pvm Standard
- Librairies et démon(s)
- Machines hétérogènes gt 1 seul ordinateur
- Répartition des tâches
- Primitives de base Pvm_send et Pvm_recv
11Philosophie de PVM-MPC
12Architecture générale de PVM-MPC
13Création et initialisation dune tâche PVM
14Un exemple de communication maître-esclave
15Protocole de connexion HSL
16/dev/hsl kernel drivers and protocols for MPC
parallel computer SLR/V - SCP/V calls to
send() 12 calls to recv()
9 SLR/P - SCP/V calls to
send() 12 calls to recv()
9 calls to ddslrp_timeout()
0 timeouts from timeouts 0
PUT calls to put_add_entry() 30 hardware
interrupts 51
Contenu de /dev/hsl
17Compilation d une application PVM-MPC
- Tâche maître liée avec librairie standard
- Tâches esclaves liées avec librairie PVM-MPC
- master1 (SDIR)/master1.c (XDIR)
- (CC) (CFLAGS) -o master1 (SDIR)/master1.c
(LIBS) - slave1 (SDIR)/slave1.c (XDIR)
- (CC) (CFLAGS) -o slave1 (SDIR)/slave1.c
(NODELIBS)
18Portage d application
- Avant portage
- if (pvm_config(nh, na, hp) lt 0)
-
- pvm_perror("config")
- pvm_exit()
- exit(1)
-
- printf("Jeton circulant sur d hosts (d
architectures)\n", nh, na) - tids0 mytid
- moi 0
- for (i1 iltnh i)
-
- pvm_spawn("jeton",0, PvmTaskHost, hpi.hi_name,
1, tidsi) -
- Après portage
- nh 3 / Nombre d'hotes remplace par le
nombre de processeurs / - printf("Jeton circulant sur d processeurs\n",
nh) - tids0 mytid
- moi 0
- pvm_spawn("jeton_mpc_s",(char)0, 0, "", nh,
tids1)