Live data from Hacker News

Why PS4 downloads are so slow

snellman.net

51–60 of 201 posts

Re: Why PS4 downloads are so slow

#51
post #48

Sorry for the newbie question, but can someone explain why the round trip time is so important for transfer speeds? From the formula I'm guessing something like this happens: server sends DATA to client, client receives DATA then sends ACK to server, server receives ACK and then finally goes ahead and sends DATA2 to the client. But TCP numbers their packets and so I would expect them to continue sending new packets w…

>But TCP numbers their packets and so I would expect them to continue sending new packets while waiting for ACKs of old packets, and my reading of Wikipedia agrees.

TCP keeps a sliding congestion window that relies on RTT.

https://en.wikipedia.org/wiki/TCP_congestion_control#Fast_re...

Re: Why PS4 downloads are so slow

#52
post #16

Earlier quoted context omitted.

One of the reasons I switched off of AT&T uVerse is they seemed to give you the absolute minimum upload bandwidth needed to achieve the advertised download bandwidth. So if you were downloading or streaming and uploaded anything more than a small image your download speed would plummet as you ran out of upstream bandwidth. Online backups/syncing? Hope you're not trying to do anything else that requires bandwidth.

That's not quite right. The most common problem with (especially, but not only) DSL is bufferbloat, where you fill up your upload buffers, and this greatly increases RTT. Then your ACKs in response to downloaded content will take a long time to get through the queue and tell the server it's okay to send more data. You would have to have a truly tiny upload speed limit (like 0.01 Mbps) for the actual ACK throughput to…

Ah. What I posted is my assumption of what was going wrong. Buffer bloat makes sense. Thanks.

I 'solved' it by going to a provider with more upstream (cable) then later fiber. Even without this issue the download speed wasn't very good for the price so leaving was an easy decision.

Re: Why PS4 downloads are so slow

#53
post #48

Sorry for the newbie question, but can someone explain why the round trip time is so important for transfer speeds? From the formula I'm guessing something like this happens: server sends DATA to client, client receives DATA then sends ACK to server, server receives ACK and then finally goes ahead and sends DATA2 to the client. But TCP numbers their packets and so I would expect them to continue sending new packets w…

There is something called the receive window. That is the size of data that can be sent before getting more ACK's back.

If the delay is longer, and the receive window is the same size, then total throughput is lower.

Re: Why PS4 downloads are so slow

#54
post #15
post #3

PS4 and Switch have at least no peer-to-peer download. Win10 and XboxOne have peer-to-peer download - who would want that, bad for users, wasting upload bandwidth and counts against your monthly internet consumption. https://www.reddit.com/r/xboxone/comments/3rhs4s/xbox_update...

Do people really have issues with bandwith limits on uploads? I've always heard the opposite. Is it P2P or more like torrent where there are multiple peers? That would make more sense. At the end of the day, isn't the switch and xbox faster at downloading? That's what really matters.

Yes definitely.

For example, my home connection (in Western Canada) is 150mb down and 15mbit up. For general home usage (Streaming Netflix and whatnot), you definitely need more download than upload, but if I'm working from home over VPN, syncing pictures to Dropbox, etc. you can definitely saturate 15mb. And most North American households have much less bandwidth than I do.

Re: Why PS4 downloads are so slow

#55
post #48

Sorry for the newbie question, but can someone explain why the round trip time is so important for transfer speeds? From the formula I'm guessing something like this happens: server sends DATA to client, client receives DATA then sends ACK to server, server receives ACK and then finally goes ahead and sends DATA2 to the client. But TCP numbers their packets and so I would expect them to continue sending new packets w…

I think this is a good question, I did some reading myself!

The blog post talks about "receive windows" which comes into play here. The server will send up to the number of bytes specified in the receive window before needing to start seeing some ACKs.

So the shorter the round trip time, the less likely the server is to spend time twiddling it's thumbs waiting for an ack, because it's exhausted its receive window. Of course, increasing the size of the receive window would also help.

(I read this answer to get here, I could be way off: https://stackoverflow.com/questions/9613197/what-determines-... )

Re: Why PS4 downloads are so slow

#56
post #48

Sorry for the newbie question, but can someone explain why the round trip time is so important for transfer speeds? From the formula I'm guessing something like this happens: server sends DATA to client, client receives DATA then sends ACK to server, server receives ACK and then finally goes ahead and sends DATA2 to the client. But TCP numbers their packets and so I would expect them to continue sending new packets w…

Think about the path between sender and receiver as a pipe.

You will have data inside de pipe all the time, the amount of it is a product of bandwidth an latency (pipe length), which is measured as RTT (round-trip time).

The sender puts data on the pipe and must wait for acknowledgment from the receiver. How much data should it put on the pipe before the first acknowledgement arrives?

If the pipe is too length, the sender will have a lot of data on transit, but this amount will grow over time based on some algorithms (congestion control).

Re: Why PS4 downloads are so slow

#57
post #44
post #22

DNS based GEO load balancing/CDN's are wrong idea today. For example if you use DNS that has bad configuration or one that is not supplied by your ISP, then you could be routed to servers thousands km/miles from your location. Last time I've checked akamai used that flawed dns based system. What you want to use now is what for example cloudflare uses which is anycast IP. You just announce same IP class on multiple ro…

As with all things, there are tradeoffs. As you say, GEO DNS doesn't work very well when the authoritative server doesn't get enough information to give a good answer; for example, if all of a nationwide ISP uses the same pool of recursive DNS, and doesn't proved EDNS client subnet, the authoritative server will not get any signal about where in the country the users are. Or, if you use DNS servers in another country…

Do any big networks do anycast tcp stream reassembly when a connection from a user gets some packets split between different datacenters?

One could imagine a system where one datacenter forwards the packets (encapsulated) to the other so that the stream isn't broken.

Re: Why PS4 downloads are so slow

#58
post #48

Sorry for the newbie question, but can someone explain why the round trip time is so important for transfer speeds? From the formula I'm guessing something like this happens: server sends DATA to client, client receives DATA then sends ACK to server, server receives ACK and then finally goes ahead and sends DATA2 to the client. But TCP numbers their packets and so I would expect them to continue sending new packets w…

In a network protocol you generally want to find out as quickly as possible when the receiver has run out of buffer space. Else you're just sending packets it will drop on the floor, because it's unable to process them at the rate you're sending them. (And the buffer space should be small, to minimize latency under load.)

But also, you want to keep the pipe full (as explained in the article). So, to balance these opposing requirements, the receiver generally has a buffer which is only somewhat larger than the capacity of the pipe (the bandwidth-latency product).

In TCP, the receiver reports the size of this buffer as the receive window. This way the sender knows exactly how much it can send before the receiver's buffers are full. And the receiver's buffer must be large enough to hold at least an RTT's worth of packets, since that is how long it takes (at a minimum) after the sender started sending the data for the sender to hear back from the receiver that it has processed some data and made room in its buffer. Any less and the sender has to stop and wait (like in the article).

Re: Why PS4 downloads are so slow

#59

Earlier quoted context omitted.

Thanks for the links and reading material. It's amazing how important the scheduler is in an OS. I'm no expert on OS-level programming, but couldn't they have just used a simple round robin scheduler?

Just look at the process you have running, 90% of them are doing nothing. Round Robin is a waste for an OS.

Processes that are waiting on some event (like polling some file descriptors) will never be scheduled until they're woken up. It doesn't matter what type of scheduler you are using. The algorithm just decides which to run within the set of programs actually running.

Re: Why PS4 downloads are so slow

#60
PS3 was even worse in my experience - PS4 was a big improvement, although still a lot slower than Xbox.

However, with both PS4 and Xbox One it's amazingly slow to browse the stores and much of the dashboard. Anyone else experience that? It's so bad I feel like it must just be me... I avoid it as much as possible and definitely decreases the number of games I buy.

Post reply on HN