[Ardour-Users] ardour3, netjack, bandwidth, xruns

David Santamauro david.santamauro at gmail.com
Wed Jan 1 08:35:11 PST 2014


On 01/01/2014 11:16 AM, Jörn Nettingsmeier wrote:
> hi david,
>
> On 01/01/2014 02:04 PM, David Santamauro wrote:
>>
>> Happy new year ... if this isn't the appropriate list, direct to the
>> right one, thanks.
>
> you might have more luck on jack-devel for the netjack2-related part of
> your problem.

I'll try there but I've answered some of your questions below as well.


>> I've started creating my orchestral template using ardour3 (on the
>> master) and a slave. When I reach a certain number of tracks the xruns
>> start piling up.
>>
>> Master message(s):
>> Wed Jan  1 07:15:08 2014: NetMaster : overloaded, skipping receive from
>> 'nslave01'
>>
>> ... does this mean the master is overloaded?
>>
>> The specs:
>>    - master is an 8-core/16GB RAM
>>    - slave is 4-core/16GB RAM
>>
>> Both have Gb network interfaces and both are connected to a Gb switch.
>
> can you describe what you are trying to do? why do you think you need
> two machines for this task? is the extra complication really necessary
> for the intended job?

Trying to use windows orchestral VSTi(s) whose required 'dongle' is on a 
windows machine.

   ardour3:midi-track-1 => slave:midi-input-1
   slave:audio-out-1    => ardour3:audio-track-in-1
   slave:audio-out-2    => ardour3:audio-track-in-2

Pretty simple, actually, but I'd like 48 channels of audio to come back 
from the slave.

>> ardour3 does take CPU slices but the master load avg is ~ 85% idle and
>> DSP load < 20%.
>>
>> Viewing network traffic using iptraf, I see total usage in the 45Mb/s
>> (4% utilization) range for both master and slave -- clearly room to
>> spare so I'm assuming there is some other bottleneck somewhere.
>>
>> There are no xruns on the slave.
>
> just to make sure: only the master has an actual audio interface, and
> the slave's timing comes from netjack2?

:) no sound card on the slave, backend is 'net'


>
>> I guess the questions are:
>>
>>    - are there hard limits on the number of tracks that can be used when
>> using using jack over the network?
>
> no, but i've run into a brickwall at around 100 channels i/o a few years
> ago. since i was using cheap interfaces and didn't actually need more, i
> never tried to pinpoint the problem.
>
>>    - Is there a formula to figure out this out, e.g., is there a
>> relationship between the size of the jack graph and data per cycle?
>
> well, 32bit float is four bytes times 48000 times number of channels
> plus packet overhead. even with very small packets (and lots of
> overhead), the network should be able to sustain 300 channels in each
> direction. but of course the entire network stack and netjack would have
> to play along...
> how many channels are you actually piping back and forth?

as above, 48 back from the slave but my wall is around 12 tracks stereo 
(24 channels) audio ( 12 midi tracks into 2 slave midi-ports ).


>
>>    - Are there settings (network or for jack_load netmanager) that would
>> help this situation?
>
> bigger period size, bigger network packets. for many channels, you might
> want to make sure both ends can use jumbo frames, and of course check
> that there is no MTU bottleneck in between (the switch would have to
> support them as well, fragmentation is deadly for these workloads).

bigger period size is pretty unworkable with what I'm trying to achieve. 
Top limit is 256. Anything higher and the latency is intolerable.

I'll research the networking ... and join and forward these questions 
along, thanks

David






More information about the Ardour-Users mailing list