Building from:
Multithread (http://www.vpnusers.com/viewtopic.php?f=7&t=5163)
and
Maximum Throughput Site to Site VPN Solution (http://www.vpnusers.com/viewtopic.php?f=7&t=7270)
Is there an internal scheduler to SoftEther that could balance traffic across multiple internal instances to make use of all available cores (multithread)?
Peplink has this feature calling is "SpeedFusion" where sessions are spread across multiple tunnels. For Peplink the tunnels are per hardware link technology, but how about SoftEther doing a similar thing via spawning multiple "tunnels" between points A and B and then scheduling sessions across the tunnels to maximize throughput?
The point here is to limit it to sessions so as to avoid packet re-ordering.
More and more hardware have increasing cpu core count but SoftEther appears to be limited by cpu core speed. The proposed method here of SoftEther spawning one tunnel connection per core (as a user defined setting) and scheduling across them all (even a crude round robin approach) should, in theory, increase the overall SoftEther throughput.
Is this reasonably possible with the current SoftEther software architecture, please?
Thank you!
Traffic Scheduler for Multithread
-
- Posts: 22
- Joined: Wed Jan 25, 2017 8:40 pm
Re: Traffic Scheduler for Multithread
Peplink Image depicting multiple sessions spread across multiple paths concept.
You do not have the required permissions to view the files attached to this post.
-
- Posts: 22
- Joined: Wed Jan 25, 2017 8:40 pm
Re: Traffic Scheduler for Multithread
Might this help?
https://linux.die.net/man/8/ifenslave
ifenslave(8) - Linux man page
Name
ifenslave - Attach and detach slave network devices to a bonding device.
Synopsis
ifenslave [-acdfhuvV] [--all-interfaces] [--change-active] [--detach] [--force] [--help] [--usage] [--verbose] [--version] master slave ...
Description
ifenslave is a tool to attach and detach slave network devices to a bonding device. A bonding device will act like a normal Ethernet network device to the kernel, but will send out the packets via the slave devices using a simple round-robin scheduler. This allows for simple load-balancing, identical to "channel bonding" or "trunking" techniques used in switches.
The kernel must have support for bonding devices for ifenslave to be useful.
https://linux.die.net/man/8/ifenslave
ifenslave(8) - Linux man page
Name
ifenslave - Attach and detach slave network devices to a bonding device.
Synopsis
ifenslave [-acdfhuvV] [--all-interfaces] [--change-active] [--detach] [--force] [--help] [--usage] [--verbose] [--version] master slave ...
Description
ifenslave is a tool to attach and detach slave network devices to a bonding device. A bonding device will act like a normal Ethernet network device to the kernel, but will send out the packets via the slave devices using a simple round-robin scheduler. This allows for simple load-balancing, identical to "channel bonding" or "trunking" techniques used in switches.
The kernel must have support for bonding devices for ifenslave to be useful.
-
- Posts: 22
- Joined: Wed Jan 25, 2017 8:40 pm
Re: Traffic Scheduler for Multithread
You do not have the required permissions to view the files attached to this post.
-
- Posts: 22
- Joined: Wed Jan 25, 2017 8:40 pm
Re: Traffic Scheduler for Multithread
You do not have the required permissions to view the files attached to this post.
-
- Posts: 2458
- Joined: Mon Feb 24, 2014 11:03 am
Re: Traffic Scheduler for Multithread
SoftEther doesn't balance among TCP connections.
Packets are filled into writable TCP connection with smaller ID.
Packets are filled into writable TCP connection with smaller ID.
-
- Posts: 22
- Joined: Wed Jan 25, 2017 8:40 pm
Re: Traffic Scheduler for Multithread
thisjun wrote:
> SoftEther doesn't balance among TCP connections.
> Packets are filled into writable TCP connection with smaller ID.
Understood, thank you. I was hoping SoftEther might "bond" over multiple tunnels.
> SoftEther doesn't balance among TCP connections.
> Packets are filled into writable TCP connection with smaller ID.
Understood, thank you. I was hoping SoftEther might "bond" over multiple tunnels.