Jump to content
  • 0
IGNORED

Getting dropouts when upsampling with Roon to DSD512 and outputting to opticalRendu; thoughts?


jiminlogansquare

Recommended Posts

  • 0

Flow control is a congestion mitigation mechanism. If there is congestion on the wire the preference with Flow control is to send a pause frame to tell a sender to back off. This is for when there are multiple Tx/Rx sources saturating a link. We would rather pause, than drop traffic (creating a resend and even more traffic and more congestion).

 

I doubt DSD 512 is capable of saturating at 1GBe link. So I don't think it's warranted.

 

But if there is a routing issue and people are multi-homing like described then going to a more traditional flat network like you suggest would make sense.

Link to comment
  • 0
11 minutes ago, The Computer Audiophile said:

This is where you’re too smart for your own good :~)

 

I can saturate the link with one server sending to a single Rendu easily. I’ve done it and reported it. The Rendu has a Gb interface but internally it isn’t capable of that speed.  
 

When using HQP, I have to enable flow control on my switches to make it work. @Miska has said he won’t change how HQP works because flow control should be enabled on the switch and it resolved the issues. That’s HQP and not Roon of course, but it illustrates my point with a Rendu. 

 

I don't do DSD or high SRC rates so I don't know the data rates, and hence my suggestion of going to DSD 256 initially. It's my nod to that it could be a saturation issue.

 

It sound's like the Rendu has a 100/1000 PHY but not the bus behind it for full wire speed? That's odd for the given costs.

 

I would have to ask @Miska if he's using flow control and relying down layer in the OSI stack for a control mechanism so he doesn't have to make it happen in the session or application layer. Again just a guess on my part.

 

Your suggestion is a good one as it's certainly affordable to try.

 

 

Link to comment
  • 0
Just now, jiminlogansquare said:

DSD256 definitely eliminates the problem identified at DSD512. No dropouts/gaps in playback at DSD256. However, I want to run at DSD512 if possible, as this delivers - a subjectively, to my ears, in my room and with my music sources - better sound from my T+A DAC 8 DSD. So, I have gone ahead and ordered the switch Chris recommends and try flow control for the Rendu to see whether that allows DSD512 without the glitches.

 

And on preview, I see you agree with Chris’s recommendation. I will report back here after I have implemented it. 
 

One other question, should I implement flow control only for the port assigned to the Rendu, or all the ports I am using (one copper port to hook the switch to the network, two fiber ports to hook the sonicTransporter and Rendu to the network)?

Glad to hear DSD 256 works.

 

You would enable Flow Control on all interfaces in the path.

Link to comment
  • 0
1 minute ago, Miska said:

 

Since it's a hardware buffer overflow and the hardware buffer is not directly visible to the software, best place to deal with it is at the hardware level where there is also sufficient reaction time to the buffer situation. With high level software it would be always late and anyway just guesswork. Especially for stream type protocols like TCP (involving window sizes, etc).

 

So I see it as correctly dealing with the situation at the layer where it also happens...

 

 

I understand but the app dev is relying on the end user setting up flow control or knowing what that is. This is a buffer and not speed issue from my read.

 

What I don't understand is how Sonore advertises DSD512 support with out an * carve out. I didn't see anything about flow control in the online manual shouldn't this be a default on the OS?

Link to comment
  • 0
35 minutes ago, Miska said:

Which buffer are you talking about? Overflow happens in NIC's hardware packet buffer. 1500 byte MTU's arrive pretty fast at 1 Gbps speed, so there's not much time from hardware buffer reaching high level to the time when you need to send out pause frame. This is why NICs handle this, because on modern OS and NIC you (luckily) don't even get interrupt for every received ethernet MTU.

This is what I'm wondering about. I would hope that the application layer as it's own buffer and can keep NIC FIFO from over filling.

 

It circles back to Chris's thread about buffering and I posed the question about how data streams should be handled at the application layer. I use JRiver and can buffer entire albums in seconds with 10GBe.

Link to comment
  • 0
12 hours ago, The Computer Audiophile said:

Hats off to @plissken on this one for putting so much time in. 
 

I agree we shouldn’t make a mountain out of a mole hill, but there also shouldn’t be any dropouts at anytime. We’ll get there on this one. 

 

Another potential solution is to setup rate limiting on the port to 80% of the end point's 400Mbit capacity.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...