Traffic Scheduler for Multithread

Post your questions about SoftEther VPN software here. Please answer questions if you can afford.
Post Reply
highthroughputvpn
Posts: 22
Joined: Wed Jan 25, 2017 8:40 pm

Traffic Scheduler for Multithread

Post by highthroughputvpn » Thu Jan 26, 2017 3:04 pm

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!

highthroughputvpn
Posts: 22
Joined: Wed Jan 25, 2017 8:40 pm

Re: Traffic Scheduler for Multithread

Post by highthroughputvpn » Thu Jan 26, 2017 3:06 pm

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.

highthroughputvpn
Posts: 22
Joined: Wed Jan 25, 2017 8:40 pm

Re: Traffic Scheduler for Multithread

Post by highthroughputvpn » Thu Jan 26, 2017 3:30 pm

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.

highthroughputvpn
Posts: 22
Joined: Wed Jan 25, 2017 8:40 pm

Re: Traffic Scheduler for Multithread

Post by highthroughputvpn » Thu Jan 26, 2017 3:32 pm

An article describing a similar concept.

https://www.simonmott.co.uk/2012/03/vpn-bonding/
You do not have the required permissions to view the files attached to this post.

highthroughputvpn
Posts: 22
Joined: Wed Jan 25, 2017 8:40 pm

Re: Traffic Scheduler for Multithread

Post by highthroughputvpn » Thu Jan 26, 2017 3:59 pm

Another similar approach using vtrunkd.

http://www.vrayo.com/how-to-set-up-a-bo ... -in-linux/
You do not have the required permissions to view the files attached to this post.

thisjun
Posts: 2458
Joined: Mon Feb 24, 2014 11:03 am

Re: Traffic Scheduler for Multithread

Post by thisjun » Wed Feb 15, 2017 6:56 am

SoftEther doesn't balance among TCP connections.
Packets are filled into writable TCP connection with smaller ID.

highthroughputvpn
Posts: 22
Joined: Wed Jan 25, 2017 8:40 pm

Re: Traffic Scheduler for Multithread

Post by highthroughputvpn » Thu Feb 16, 2017 1:09 am

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.

Post Reply