summaryrefslogtreecommitdiff
path: root/reseau.tm
diff options
context:
space:
mode:
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>
+ 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