diff options
author | Alex AUVOLAT <alex.auvolat@ens.fr> | 2014-05-24 23:25:07 +0200 |
---|---|---|
committer | Alex AUVOLAT <alex.auvolat@ens.fr> | 2014-05-24 23:25:07 +0200 |
commit | 6e750a757ef6fb1f41cf4c2fe39edba834b76858 (patch) | |
tree | f339630beb8a9a1a6f3544b40547ce9c83f23a91 /reseau.tm | |
parent | c5e69a904e79e807c5b075c08ce82183133e7b4c (diff) | |
download | SystemeReseaux-Projet-6e750a757ef6fb1f41cf4c2fe39edba834b76858.tar.gz SystemeReseaux-Projet-6e750a757ef6fb1f41cf4c2fe39edba834b76858.zip |
./manager -local-proc 4 ./example.native does what expected.
Diffstat (limited to 'reseau.tm')
-rw-r--r-- | reseau.tm | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/reseau.tm b/reseau.tm new file mode 100644 index 0000000..9e3e737 --- /dev/null +++ b/reseau.tm @@ -0,0 +1,73 @@ +<TeXmacs|1.0.7.21> + +<style|generic> + +<\body> + Idée de base : utiliser stdin/stdout pour la communication et avoir un + machin qui communique à côté. En mode client : faire un socket.connect puis + faire un dup2 pour que stdio redirige vers le socket. Serveur : appli à + part. + + <strong|Protocole Manager-Application.> + + <em|Messages application.> + + <\itemize> + <item>Emit(task, IO?) + + <item>Get(chan-id, cont) + + <item>Put(chan-id, data) + + <item>Request-task(IO?) + + <item>Emit-result + </itemize> + + <em|Manager application.> + + <\itemize> + <item>Give-task(task, iO?) + + <item>Give-task-get(data, cont, IO?) + </itemize> + + <strong|Protocole Manager-Manager.> + + same as manager-application, mostly + + <strong|Protocole Manager-Pool.> + + <\itemize> + <item>manager serve : connect to pool, send Serve + + <item>manager use : connect to pool, send NeedHelp(task name, my addr) + + <item>pool relay : send NeedHelp(task name, my addr) + </itemize> + + <strong|Interface.> + + On lance un pool-server sur une machine : + + <verbatim|tulipier$ ./manager --pool> + + Puis on lance plein de travaillers : + + <\verbatim> + cargo$ ./manager --serve tulipier + + tilleul$ ./manager --serve tulipier + + thuya$ ./manager --serve tulipier + </verbatim> + + On écrit un code <verbatim|mon_app.ml> qui utilise la bibliothèque + <verbatim|Kahn_sock.Sock_dist>. On compile, et on s'assure que l'on peut + appeller le binaire avec <verbatim|./mon_app> sur toutes les machines qui + sont en mode <verbatim|--serve>. Ensuite, on fait : + + <verbatim|tulipier$ ./manager --run ./mon_app --use tulipier> + + \; +</body>
\ No newline at end of file |