12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- created: 20240302172215000
- creator: jds
- modified: 20240302172259000
- modifier: jds
- tags:
- title: allocation-request
- type: text/vnd.tiddlywiki
- ! allocation request
- I want to
- * ~~create a unix socket~~,
- * ~~listen for a connection~~,
- * ~~accept an "alloc" request~~,
- * respond with success or failure.
- Success entails
- * searching for the requested AP/APinst/APM/APMinst
- * creating a new instance of communication (EFCP/IAP)
- * requesting an exchange with the app (IAP)
- * receiving and processing a response (IAP)
- * perform allocations for mem mgmt/queueing strategy
- * provisioning a new EFCP instance for the new flow (EFCP)
- * provide the client a port for the new instance of comm
- ~~A dedicated goroutine, locked to an isolated OS thread,
- should run each mux (tx and rx).~~ Not quite. This is
- wasteful if the client has not requested a service cube that
- requires this measure. Such service cubes include realtime
- (minimum latency, small SDUs), voice (minimum jitter, small
- SDUs), and wire speed (max volume). All three involve
- strict processor scheduling (order and rate of queue
- servicing), and the third additionally requires possibly
- enormous queue lengths (memory management), especially for
- reliable transfer (sequence recovery).
- For very large PDUs, it may be necessary to exclusively
- employ FEC, even though link latencies will tend to be
- lowest at large aggregation points. Is it reasonable to use
- something like FEC at the top layer? I suppose it depends.
- If reliable datagrams are requested, the network is liable
- for ensuring reliable delivery. By comparison, TCP-style
- streams make endpoints solely responsible for reliability,
- which may use rather slow sequence recovery mechanisms at
- the top layer, where round-trip delays are longest.
- Success assumes the application process requesting
- allocation of resources is already
- [[registered|registration]].
|