My 2 cents for their difference, as being exposed to both knet (currently) and tipc (several years ago), though limited.
* Network topology - distance among nodes
- knet is flexible among different subnets, and leverage IP routing infrastructure.
- Well, tipc, by its name, inherits from IPC. The cluster inter node communication mostly is inside the subnet, no routing in between. Even further, tipc supports intra node communication. Its capability and performance is pretty cool.
* in-kernel implementation vs. user space
- knet might be good to work with user space protocol stack, eg. DPDK, if there is use case push hard for performance.
- tipc is implemented in kernel, naturally good performance for its application in the kernel land. Though, it does provide userspace interface.
* cluster membership management
- knet's application, namely, corosync is full fledged together with pacemaker.
- well, tpic's membership management is limited. Basically, there is no equivalent implementation in kernel like corosync.
* Community and Industry
- knet is part of Linux HA/ClusterLabs, which helps use cases in enterprise data centers.
- tipc is part of OpenSAF, which helps use cases in Data Communication, HPC, etc.
I do think it is a very interesting research topic to merge both communities at some extent.
Cheers, Roger
On 12/21/18 7:30 AM, Jan Pokorný wrote:
Hello list,
sometimes, usually when surfing semi-randomly, I get to know about things that either resemble deja vu to me, or make me feel that I must have lived in an utter ignorance/tunnel so far.
Now, both thing combined:
https://en.wikipedia.org/wiki/Transparent_Inter-process_Communication
Especially now that I checked the kernel module and userspace utility lurk on my Linux machine without ever being asked :-)
$ { eval modinfo\ {-F\ description\ ,-F\ version\ ,-F\ license\ }tipc; echo; tipc -h; }
TIPC: Transparent Inter Process Communication 2.0.0 Dual BSD/GPL
Transparent Inter-Process Communication Protocol Usage: tipc [OPTIONS] COMMAND [ARGS] ...
Options: -h, --help Print help for last given command
Commands: bearer - Show or modify bearers link - Show or modify links media - Show or modify media nametable - Show nametable node - Show or modify node related parameters peer - Peer related operations socket - Show sockets
Naturally, I am curious how much of an overlap is there, wether there have been any comparisons/benchmarks conducted, all the these sort of things incl. whether the was an a priori knowledge, perhaps inspirational, about this other project.
Kronosnet looks to me more on the pragmatically usable and simple side, buying also better portability and avoiding complexities (I take the plugins more like a "look what we can offload from your application layer" demonstration, yet encryption/auth/integrity protection makes a great deal of sense there) beyond UDP (which fully suffices when combined with corosync), something that TIPC covers as well while providing a lot of other abstractions incl. peer discovery, bells and unicorns (which might be heavy overkill for that use case).
Any inputs welcome.
Users mailing list Users@lists.kronosnet.org https://lists.kronosnet.org/mailman/listinfo/users