aboutsummaryrefslogtreecommitdiffstats
path: root/reseau.tm
diff options
context:
space:
mode:
authorAlex AUVOLAT <alex.auvolat@ens.fr>2014-05-24 23:25:07 +0200
committerAlex AUVOLAT <alex.auvolat@ens.fr>2014-05-24 23:25:07 +0200
commit6e750a757ef6fb1f41cf4c2fe39edba834b76858 (patch)
treef339630beb8a9a1a6f3544b40547ce9c83f23a91 /reseau.tm
parentc5e69a904e79e807c5b075c08ce82183133e7b4c (diff)
downloadSystemeReseaux-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.tm73
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>
+ Ide de base : utiliser stdin/stdout pour la communication et avoir un
+ machin qui communique ct. 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 bibliothque
+ <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