scaling erlang in industrial projects erlang …...custom distribution behavior a distribution...
TRANSCRIPT
![Page 1: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/1.jpg)
ERLANG DISTRIBUTION, UDP & TSN
SCALING ERLANG IN INDUSTRIAL PROJECTS
![Page 2: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/2.jpg)
• Computation at the Edge
• CRDTs
• Gossip protocols
![Page 3: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/3.jpg)
WHAT IS IT
ERLANG DISTRIBUTION
![Page 4: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/4.jpg)
WHAT IS IT
ERLANG DISTRIBUTION
• Transparent distribution protocol
• Send Messages
• Link Processes
• Monitor Processes
![Page 5: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/5.jpg)
ERLANG DISTRIBUTION
PROBLEMS
• Default is fully connected mesh
• However there are hidden nodes
• Fully connected mesh doesn’t scale well
• Global process registry requires fully connected mesh
• Head of line blocking
![Page 6: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/6.jpg)
PRIOR WORK
FIXING HEAD-OF-LINE BLOCKING
• Channel = {From_pid, To_pid}
• Round-robin scheduling
• Sequence number
• Message fragmentation
• Functionality like this will be in OTP 22
![Page 7: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/7.jpg)
![Page 8: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/8.jpg)
![Page 9: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/9.jpg)
PRIOR
SEQUENCE NUMBERS AND FRAGMENTATION
Why not use UDP?
![Page 10: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/10.jpg)
UDP DISTRIBUTION PROTOTYPE
![Page 11: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/11.jpg)
• Computation at the Edge
• CRDTs
• Gossip protocols
![Page 12: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/12.jpg)
UDP DISTRIBUTION PROTOTYPE
GOALS
• Make UDP “work”
• Prototype ways of working around ahead-of-line blocking
• Discover challenges building custom distribution implementations
![Page 13: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/13.jpg)
Custom Distribution Implementation
Kernel
Kernel
gen_tcp_dist
gen_tcp_dist
Acceptor
Acceptor
Controller
Controller
Controller Input
Controller Input
Remote
Remote
listen(Name)
{ok, {ListenSocket, NetAddress, Creation}}
accept(ListenSocket)
spawn
pid()
gen_tcp:accept(ListenSocket)
Idle
alt [Incoming Setup]connect
spawn
! {accept, self(), Controller, Family, Protocol}
accept_connection(AcceptPid, Controller, MyNode, Allowed, SetupTime)
spawn
{Kernel, controller, Pid}
{self(), controller}
{AcceptorPid, controller}
dist_util:handshake_other_started(HSData)
Handshake
Handshake complete
spawn
[Outgoing Setup]"setup(Node, Type, MyNode, LongOrShortNames, SetupTime)"
spawn
connect
spawn
dist_util:handshake_we_started(HSData)
Handshake
Handshake complete
spawn
Connected
alt [Incoming Data]Data
erlang:dist_ctrl_put_data(DHandle, Data)[Outgoing Data]
dist_data
looperlang:dist_ctrl_get_data(DHandle)
Data
send
none
erlang:dist_ctrl_get_data_notification(DHandle)
UH…
![Page 14: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/14.jpg)
ERLANG VM
UDP DISTRIBUTION PROTOTYPE
THE DISTRIBUTION “STACK”
NETWORK
gen_udp
my_dist
KERNEL
YOUR APPLICATIONS
![Page 15: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/15.jpg)
UDP DISTRIBUTION PROTOTYPE
Node 2Node 1
kernel my_dist kernelmy_dist
![Page 16: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/16.jpg)
UDP DISTRIBUTION PROTOTYPE
Node 2Node 1
kernel my_dist kernelmy_dist
A A
1a: listen
2a: spawn 2b: spawn
1b: listen
![Page 17: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/17.jpg)
UDP DISTRIBUTION PROTOTYPE
Node 2Node 1
kernel my_dist kernelmy_dist
A A
CC
3: ping Node 2
5: "hello"
9: <port>6: spawn
10: spawn
8: incoming11: done
4: setup
7: <port>
![Page 18: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/18.jpg)
UDP DISTRIBUTION PROTOTYPE
Node 2Node 1
kernel my_dist kernelmy_dist
A A
CC
I I
12b: handshake13: dist_util handshake12a: handshake
14a: spawn 14b: spawn
![Page 19: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/19.jpg)
UDP DISTRIBUTION PROTOTYPE
Node 2Node 1
kernel my_dist kernelmy_dist
A A
CC
I I
OO16: dist_data 17: send
18: put_data
19: dist_data20: send
21: put_data
15: send request
![Page 20: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/20.jpg)
UDP DISTRIBUTION PROTOTYPE
UDP DISTRIBUTION PROTOTYPE SUMMARY
• One acceptor process per node
• Opens a separate UDP listening port for connection attempts
• Two processes, one input and one output, per node connection
• Could have been one process, but better throughput this way
• (not shown) Erlang Port Mapping Daemon (epmd) used to get the initial acceptor port to connect to
![Page 21: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/21.jpg)
CUSTOM DISTRIBUTION BEHAVIORNEXT PROTOTYPE STEPS
![Page 22: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/22.jpg)
CUSTOM DISTRIBUTION BEHAVIOR
MAKING CUSTOM DISTRIBUTION EASIER TO IMPLEMENT
• Help the developer by skipping the hard and complex parts
• Complicated process model
• Mixed API using both function calls, messages and callbacks
• We are investigating different levels of behaviors
• High-level with different connection models
• Low-level for abstraction out network handling only
![Page 23: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/23.jpg)
CUSTOM DISTRIBUTION BEHAVIOR
A DISTRIBUTION BEHAVIOR
• The UDP prototype is quite similar to the TCP example from OTP
• What if we could make a behavior that encapsulates all the complexity of the current API and process model?
• What would such a behavior look like?
• Are there other valid process models?
• Can we combine this with a pluggable transport layer as well?
![Page 24: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/24.jpg)
CUSTOM DISTRIBUTION BEHAVIOR
API PROPOSAL
• Controller
• controller_init/1
• controller_send/2
• controller_recv/1
• controller_info/1
• Other socket related callbacks
• Get/set opts, stats etc.
• Acceptor
• acceptor_init/0
• acceptor_info/2
• acceptor_terminate/1
![Page 25: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/25.jpg)
CUSTOM DISTRIBUTION BEHAVIOR
HIGH LEVEL APPROACH
NODE REGISTRY
TRANSPORT
NODE 1
MY DIST
KERNE
![Page 26: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/26.jpg)
ETHERNET TSNTIME SENSITIVE NETWORKING
![Page 27: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/27.jpg)
ETHERNET TSN
WHAT’S IT ABOUT
• Extensions to IEEE 802.1Q - Virtual LANs
• Low transmission latency
• High availability
• Converged networks:
• Audio/Video Streams
• Realtime Control systems
![Page 28: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/28.jpg)
ETHERNET TSN
KEY COMPONENTS
• Time Synchronization
• Scheduling and traffic shaping
• Selection of communication paths
• Path reservations
• Fault tolerance
![Page 29: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/29.jpg)
Time Synchronisation
IEEE802.1AS gPTP
IEEE802.1AS REV
Transport Stream and Control
IEEE1722 AVTP IEEE1722.1 AVDECC
Fault Tolerance
IEEE802.1CBFrame Replication and
Elimination for Reliability
IEEE802.1QcaPath Control and reservation for
redundancy
IEEE802.1QciPer Stream Filtering and Policing
Scheduling
IEEE802.1QavFQTSS (CBS)
IEEE802.1QchCyclic queueing and forwarding
IEEE802.1QbvEnhancements for Scheduled
Traffic
IEEE802.1QcrAsynchronous Traffic Shaping
Preemption
IEEE802.1QbuFrame Preemption
IEEE802.1QbrInterspresing Express
Traffic
IEEE802.1QbvEnhancements for Scheduled
Traffic
Resource Management
IEEE802.1Qat SRP
IEEE802.1QccSRP enhancement and
performance improvement
AVB Protocol
Newly Developed for TSN
![Page 30: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/30.jpg)
ETHERNET TSN
IEEE 802.1QBV
t
VLAN PRIO
Cycle N Cycle N+1
3 {7,6,5,4,2,1,0} 3 {7,6,5,4,2,1,0}
![Page 31: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/31.jpg)
ETHERNET TSN
IEEE 802.1QBV
t
VLAN PRIO
Cycle N Cycle N+1
3 {7,6,5,4,2,1,0} 3 {7,6,5,4,2,1,0}
PACKET
⚡
![Page 32: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/32.jpg)
ETHERNET TSN
IEEE 802.1QBV
tCycle N Cycle N+1
3 {7,6,5,4,2,1,0}
GUARD BAND
3 {7,6,5,4,2,1,0}
GUARD BAND
![Page 33: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/33.jpg)
ROUTING AND DISCOVERYINTRO TO LINK STATE ROUTING PROTOCOLS
![Page 34: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/34.jpg)
A
DC
B
ED
E
DC
B
E
A
C
B
A
DC
B
A
DC
B
LSP
Link State Packet
![Page 35: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/35.jpg)
RELIABLE FLOODINGMagic
Happens
![Page 36: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/36.jpg)
A
DC
B
ED
E
DC
B
E
A
C
B
A
DC
B
A
DC
BA
C
B
A
C
B
A
C
B
A
C
B
A
DC
B
A
DC
B
A
DC
B
A
DC
B
DC
B
E
DC
B
E
DC
B
EDC
B
E
D
E
D
E
D
E
D
E
A
DC
B
A
DC
B
A
DC
B
A
DC
B
![Page 37: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/37.jpg)
A
DC
B
E
A
DC
B
E
A
DC
B
E
A
DC
B
E
A
DC
B
E
A
DC
B
E
![Page 38: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/38.jpg)
TEXT
IS-IS
• ISO/IEC 10589:2002
• Protocol agnostic
• De facto standard for large services provider network backbones
• IEEE 802.1aq Shortest Path Bridging
![Page 39: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/39.jpg)
TEXT
IS-IS CONT.
• Extensible
• Type Length Value (aka TLV) tuples
• 2 Layer Hierarchy
Attach your own arbitrary data labels to the
network graph
![Page 40: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/40.jpg)
TEXT
WHAT CAN WE MAKE OUT OF THIS
• Node discovery
• Epmd replacement
• Global process registry
• Route Messages from Node to Node
Use TLVs for this
![Page 41: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/41.jpg)
SUMMARYRESULTS & FUTURE WORK
![Page 42: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/42.jpg)
SUMMARY
RESULTS & CURRENT STATE
• UPD prototype is working successfully
• Proves it can be done
• It does not handle packet loss
• TSN
• Implementing a TSN Switch with Shortest-Path-Bridging
• Using Erlang for the control plane
![Page 43: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/43.jpg)
SUMMARY
FUTURE WORK
• Erlang distribution
• Connection oriented UDP?
• QUIC
• Virtual node connections
• Industrial networking
• Prototype UDP over TSN
• Implement real-time control prototypes
![Page 44: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/44.jpg)
AND A SMALL ANNOUNCEMENT…
![Page 45: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/45.jpg)
• 696 Mhz - Faster CPU
• 128 Mb RAM - Twice the memory
• Wi-Fi and Ethernet
• Bare-metal Erlang
• Elixir & Nerves
• SoM module
www.grisp.org
![Page 46: SCALING ERLANG IN INDUSTRIAL PROJECTS ERLANG …...CUSTOM DISTRIBUTION BEHAVIOR A DISTRIBUTION BEHAVIOR • The UDP prototype is quite similar to the TCP example from OTP • What](https://reader030.vdocuments.net/reader030/viewer/2022041017/5eca6ca73f917a7ed9255538/html5/thumbnails/46.jpg)
THANK YOU!Questions?
www.stritzinger.com
www.grisp.org