FlexGP implements a decentralized, fault tolerant communication layer. FlexGP provides a TCP/IP communication library that allows to pass messages between cloud nodes.
The communication library abtracts the concept of message in such a way that it is possible to create, send, and receive different types of messages. In particular, the current FlexGP version employs two kinds of messages:
Broadcast Messages: Each FlexGP node periodically refreshes its list of peer IPs. To this end, it pings its peers and filters unresponsive nodes, i.e. nodes that did not reply to the ping message. Such broadcast signals are used to maintain a list of responsive or “good” IP directions.
Migrant Messages: this functionality allows FlexGP nodes to perform migrations. FlexGP provides an abstract Migrant Message class that needs to be extended and customized for each learner. This customization is necessary since different learners employ different representations.