[ubuntu-studio-devel] Ubuntu Studio 19.10 and Xubuntu 19.04 and dual quad core Xeon E5335 CPUs

Len Ovens len at ovenwerks.net
Thu Oct 3 15:16:59 UTC 2019


On Wed, 2 Oct 2019, Mike Squires wrote:

> The short answer here is that if I can use a generic kernel then Ubuntu 
> Studio works across all of the PCs on which I need to run it; the low latency 
> kernel, however, makes using versions 18 and 19 too slow for my needs.

The real question is what you wish to achieve with your system. The goals 
of lowlatency and throughput are not the same. In fact high throughput in 
general probably makes for poor lowlatency performance. If low latency is 
not a hard requirement for your use, then install a generic kernel and be 
happy. Yes it will be faster in some cases with some systems. Or to put it 
another way, the lowlatency kernel will always be at least a little bit 
slower than the generic kernel... on some systems it will be much more 
noticable.

So, end of story? No not really. On a single core atom processor running 
at 0.8Ghz (800 Mhz) the speed difference between generic and lowlatency is 
really not noticable. It can only deal with rather small packets anyway 
with only 2G Ram and a smaller data bus etc. One of the ways that a high 
powered server cpu with lots of cores can be "faster" or have greater 
throughput (how speed is normally measured) is to use really large packets 
and more the whole packet at once... however, if you have a high priority 
audio process that is stopping that file transfer every 128 samples so it 
can do a very small file transfer before that big transfer starts agian, 
then that large packet is effectively broken down into a large number of 
small packets being transfered. Each of those small packet portions may 
take as long as several packet portions would _if_ they were all sent as 
one packet because of the overhead of context change etc.

"Oh but I wasn't doing audio at the same time as the file transfer". Is 
that true? is Jack running silently? Even if no client is hooked to jack, 
if it is running and the packet size is 128 samples, then the device irq 
is firing every 128 samples without fail anyway. So one way to test this 
is to A) shut jack off while doing high speed file transfers (does that 
make it faster?) B) set jack to 1024 sample buffers or higher when it is 
only being used for listening to youtube. You will notice if you play with 
it much that hdmi audio has very large buffers as a minimum size. They 
will not accept 256 sample buffers, they are too small. That is he reason 
computers are not designed for audio... esspecially lowlatency audio. I 
have read some of the Intel specs for latency. In those specs "low 
latency" is 30ms... normal latency is higher. making a PC do low latency 
audio is hard and in some cases it is not really possible with some 
hardware. Having many cores should in theory help, but in the end does not 
as they all have to access the same memory. In a file transfer situation, 
it is main memory use that counts. Audio too uses that main memory and it 
has to access it on schedule whithin the time limits the buffersize puts 
on it.

Having said that... thankyou for reminding me... my machine was feeling 
slow and I am realizing I have the buffer size set quite slow when I don't 
need it to be.

I have been far too long winded on this, but this is not a bug that I can 
see. I do suspect there are ways of doing things better for high memory, 
high core count machines but I am not well versed with them. I know 
setting aside a core or two just for Audio is one of them. I am even aware 
that some people run a generic kernel on most of their system with a 
second real time kernel on a few cores. I have never done this and don't 
know where to look for it.

--
Len Ovens
www.ovenwerks.net




More information about the ubuntu-studio-devel mailing list