[Places] remove unused code
This commit is contained in:
parent
06bc6d7883
commit
46dc0357ba
|
@ -60,22 +60,8 @@
|
||||||
|
|
||||||
;; Old Design Pattern 1 API
|
;; Old Design Pattern 1 API
|
||||||
;; not documented
|
;; not documented
|
||||||
dcg-get-cg
|
|
||||||
dcg-send
|
|
||||||
dcg-send-type
|
|
||||||
dcg-recv
|
|
||||||
dcg-kill
|
|
||||||
|
|
||||||
dcg-send-new-dchannel
|
|
||||||
dcg-spawn-remote-dplace
|
|
||||||
|
|
||||||
dchannel-put
|
|
||||||
dchannel-get
|
|
||||||
|
|
||||||
launch-config
|
|
||||||
startup-config
|
startup-config
|
||||||
(struct-out node-config)
|
(struct-out node-config)
|
||||||
(struct-out dcg)
|
|
||||||
|
|
||||||
;v3 api
|
;v3 api
|
||||||
build-distributed-launch-path
|
build-distributed-launch-path
|
||||||
|
@ -207,15 +193,20 @@
|
||||||
(log-message l severity (format "~a ~a" (date->string (current-date) #t) msg) #f)))
|
(log-message l severity (format "~a ~a" (date->string (current-date) #t) msg) #f)))
|
||||||
|
|
||||||
;node configuration
|
;node configuration
|
||||||
(struct node-config (node-name node-port proc-count ssh-path racket-path distributed-path mod-path func-name conf-path conf-name) #:prefab)
|
(struct node-config (node-name
|
||||||
;distributed communication group
|
node-port
|
||||||
(struct dcg (ch id n))
|
proc-count
|
||||||
|
ssh-path
|
||||||
|
racket-path
|
||||||
|
distributed-path
|
||||||
|
mod-path
|
||||||
|
func-name
|
||||||
|
conf-path
|
||||||
|
conf-name) #:prefab)
|
||||||
;distributed communication group message
|
;distributed communication group message
|
||||||
(struct dcgm (type src dest msg) #:prefab)
|
(struct dcgm (type src dest msg) #:prefab)
|
||||||
|
|
||||||
(struct dchannel (ch) #:prefab)
|
;dcgm types
|
||||||
|
|
||||||
;dcg types
|
|
||||||
(define DCGM-TYPE-NORMAL 0)
|
(define DCGM-TYPE-NORMAL 0)
|
||||||
(define DCGM-TYPE-DIE 1)
|
(define DCGM-TYPE-DIE 1)
|
||||||
(define DCGM-TYPE-NEW-DCHANNEL 2)
|
(define DCGM-TYPE-NEW-DCHANNEL 2)
|
||||||
|
@ -236,54 +227,11 @@
|
||||||
(define DCGM-CONTROL-NEW-PLACE 101)
|
(define DCGM-CONTROL-NEW-PLACE 101)
|
||||||
(define DCGM-CONTROL-NEW-CONNECTION 102)
|
(define DCGM-CONTROL-NEW-CONNECTION 102)
|
||||||
|
|
||||||
|
|
||||||
(define (dchannel-put ch msg)
|
|
||||||
(unless (or (dchannel? ch) (place-channel? ch))
|
|
||||||
(raise-mismatch-error 'dchannel-get "expected dchannel?, got " ch))
|
|
||||||
(if (dchannel? ch)
|
|
||||||
(place-channel-put (dchannel-ch ch) msg)
|
|
||||||
(place-channel-put ch msg)))
|
|
||||||
|
|
||||||
(define (dchannel-get ch)
|
|
||||||
(unless (or (dchannel? ch) (place-channel? ch))
|
|
||||||
(raise-mismatch-error 'dchannel-get "expected dchannel?, got " ch))
|
|
||||||
(if (dchannel? ch)
|
|
||||||
(place-channel-get (dchannel-ch ch))
|
|
||||||
(place-channel-get ch)))
|
|
||||||
|
|
||||||
(define (dcg-send-type c type dest msg)
|
|
||||||
(place-channel-put (dcg-ch c) (dcgm type (dcg-id c) dest msg)))
|
|
||||||
|
|
||||||
(define (dcg-send c dest msg)
|
|
||||||
(dcg-send-type c DCGM-TYPE-NORMAL dest msg))
|
|
||||||
|
|
||||||
(define (dcg-get-cg ch) (apply dcg ch (place-channel-get ch)))
|
|
||||||
|
|
||||||
(define (dcg-kill c dest)
|
|
||||||
(place-channel-put (dcg-ch c) (dcgm DCGM-TYPE-DIE (dcg-id c) dest "DIE")))
|
|
||||||
|
|
||||||
(define (dcg-send-new-dchannel c dest)
|
|
||||||
(define-values (e1 e2) (place-channel))
|
|
||||||
(dcg-send-type c DCGM-TYPE-NEW-DCHANNEL dest (dchannel e2))
|
|
||||||
(dchannel e1))
|
|
||||||
|
|
||||||
(define (send-new-place-channel-to-named-dest ch src-id dest-list)
|
(define (send-new-place-channel-to-named-dest ch src-id dest-list)
|
||||||
(define-values (e1 e2) (place-channel))
|
(define-values (e1 e2) (place-channel))
|
||||||
(place-channel-put ch (dcgm DCGM-NEW-PLACE-CHANNEL (list 'new-place-channel src-id) dest-list e2))
|
(place-channel-put ch (dcgm DCGM-NEW-PLACE-CHANNEL (list 'new-place-channel src-id) dest-list e2))
|
||||||
e1)
|
e1)
|
||||||
|
|
||||||
|
|
||||||
;; Contract: start-node-router : VectorOf[ (or/c place-channel socket-connection)] -> (void)
|
|
||||||
;; Purpose: Forward messages between channels and build new point-to-point subchannels
|
|
||||||
;; Example:
|
|
||||||
(define (dcg-spawn-remote-dplace c hostname modpath funcname #:listen-port [listen-port 6432])
|
|
||||||
(define-values (e1 e2) (place-channel))
|
|
||||||
(dcg-send-type c DCGM-TYPE-SPAWN-REMOTE-PROCESS (list hostname listen-port modpath funcname) e2)
|
|
||||||
e1)
|
|
||||||
|
|
||||||
(define (dcg-recv c)
|
|
||||||
(dcgm-msg (place-channel-get (dcg-ch c))))
|
|
||||||
|
|
||||||
(define-syntax-rule (reduce-sum seq item body ...)
|
(define-syntax-rule (reduce-sum seq item body ...)
|
||||||
(for/fold ([sum 0]) ([item seq]) (+ sum (begin body ...))))
|
(for/fold ([sum 0]) ([item seq]) (+ sum (begin body ...))))
|
||||||
|
|
||||||
|
@ -420,7 +368,7 @@
|
||||||
(define/public (register nes)
|
(define/public (register nes)
|
||||||
(cons
|
(cons
|
||||||
(wrap-evt
|
(wrap-evt
|
||||||
(if (dchannel? pch) (dchannel-ch pch) pch)
|
pch
|
||||||
(lambda (e)
|
(lambda (e)
|
||||||
(match e
|
(match e
|
||||||
[(dcgm #;8 (== DCGM-TYPE-LOG-TO-PARENT) _ _ (list severity msg))
|
[(dcgm #;8 (== DCGM-TYPE-LOG-TO-PARENT) _ _ (list severity msg))
|
||||||
|
@ -1086,7 +1034,7 @@
|
||||||
(cond
|
(cond
|
||||||
[k
|
[k
|
||||||
(lambda (e)
|
(lambda (e)
|
||||||
(call-in-message-router(lambda ()
|
(call-in-message-router (lambda ()
|
||||||
(begin0
|
(begin0
|
||||||
(k e)
|
(k e)
|
||||||
(set! k #f)))))]
|
(set! k #f)))))]
|
||||||
|
@ -1524,75 +1472,6 @@
|
||||||
(define (log-message severity msg)
|
(define (log-message severity msg)
|
||||||
(dcgm DCGM-TYPE-LOG-TO-PARENT -1 -1 (list severity msg)))
|
(dcgm DCGM-TYPE-LOG-TO-PARENT -1 -1 (list severity msg)))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;; Contract: node-config -> (void)
|
|
||||||
;;
|
|
||||||
;; Purpose: use ssh to launch remote nodes of distributed places
|
|
||||||
;;
|
|
||||||
;; Example:
|
|
||||||
(define (launch-config config)
|
|
||||||
;FIXME kill safety
|
|
||||||
(define nodes
|
|
||||||
(for/list ([c config]
|
|
||||||
[i (in-naturals)])
|
|
||||||
(list
|
|
||||||
(call-with-values
|
|
||||||
(lambda ()
|
|
||||||
(match-define (node-config node-name node-port _ ssh-path racket-path distributed-path mod-path func-name config-path conf-name) c)
|
|
||||||
(subprocess #f #f #f (ssh-bin-path) node-name racket-path "-tm"
|
|
||||||
distributed-launch-path
|
|
||||||
"launch"
|
|
||||||
config-path
|
|
||||||
(symbol->string conf-name)
|
|
||||||
(number->string i)))
|
|
||||||
list)
|
|
||||||
c)))
|
|
||||||
|
|
||||||
(define bb (make-bytes 4096))
|
|
||||||
(define handlers
|
|
||||||
(let ()
|
|
||||||
(define (mkhandler port config)
|
|
||||||
(let ()
|
|
||||||
(define self
|
|
||||||
(wrap-evt port
|
|
||||||
(lambda (x)
|
|
||||||
(define bbl (read-bytes-avail!* bb x))
|
|
||||||
(define (print-out x)
|
|
||||||
(log-debug (format "~a:~a:~a ~a" (node-config-node-name config) (node-config-node-port config) bbl x))
|
|
||||||
(flush-output))
|
|
||||||
(cond [(eof-object? bbl)
|
|
||||||
(print-out "EOF")
|
|
||||||
(set! handlers (remove self handlers))]
|
|
||||||
[else
|
|
||||||
(print-out (subbytes bb 0 bbl))]))))
|
|
||||||
self))
|
|
||||||
|
|
||||||
(for/fold ([r null]) ([n nodes])
|
|
||||||
(list* (mkhandler (second (first n)) (second n))
|
|
||||||
(mkhandler (fourth (first n)) (second n))
|
|
||||||
r))))
|
|
||||||
(define normal-finish #f)
|
|
||||||
(dynamic-wind
|
|
||||||
(lambda () (void))
|
|
||||||
(lambda ()
|
|
||||||
(let loop ()
|
|
||||||
(apply sync/enable-break handlers)
|
|
||||||
(unless (null? handlers)
|
|
||||||
(loop)))
|
|
||||||
(set! normal-finish #t))
|
|
||||||
(lambda ()
|
|
||||||
(unless normal-finish
|
|
||||||
(for ([n nodes])
|
|
||||||
(log-debug (format "Killing ~a" n))
|
|
||||||
(define out (third (first n)))
|
|
||||||
(with-handlers ([exn:fail? (lambda (e) (log-debug (format "Error sending Ctrl-C: ~a" e)))])
|
|
||||||
(write-byte 3 out)
|
|
||||||
(flush-output out)
|
|
||||||
(sleep))
|
|
||||||
(subprocess-kill (first (first n)) #f))))))
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; API Version 3
|
;; API Version 3
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user