Live data from Hacker News

Why PS4 downloads are so slow

snellman.net

21–30 of 201 posts

Re: Why PS4 downloads are so slow

#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 routers/locations and all traffic is routed to the nearest locations thanks to how BGP routing works.

Re: Why PS4 downloads are so slow

#24

Totally unrelated but: Dang it must be awesome to have a service that people dissect at this level. This analysis is more in depth and knowledgable than anything I've ever seen while employed at large companies, where people are literally paid to spend time on the product.

It is astonishing how oblivious people who are "paid to spend time on the product" can be about the products they ship. Case in point, Microsoft shipped a EXPLORER.EXE with Windows 10 that is 20% whitespace because of an Adobe invented metadata format that I bet nobody involved with Windows ever thought about it. See http://ontology2.com/essays/LookingForMetadataInAllTheWrongP...

> Quick note: The situation is not different on Linux, MacOS, or other operating systems because all executable formats have some way to embed images. What publishers should do is remove unncessary metadata before publishing, which is easy to do in the case of the PNG because we can simply omit the iTXt chunk.

From your link - so I guess the situation on linux isn't different? Or am I missing something, other than that it depends on the embedded PNG?

Re: Why PS4 downloads are so slow

#26

Earlier quoted context omitted.

I have slow downloads too (with google DNS), but I would think this wouldn't impact it much. It's not like it's performing a DNS lookup for each chunk, right?

Well no, the issue is that the ps4 is constraining the tcp receive window (which is how much data is in flight at once), so if your ISP DNS gives you a CDN node that's 200ms away but google's DNS gives you a CDN node that's 10ms away, you get receive_window bytes every 10ms instead of every 200ms. There's a similar thing happening (different DNS giving vastly different experience) with Netflix as well: Netflix has lo…

pretty helpful comment, thanks

Re: Why PS4 downloads are so slow

#27
post #18

Reminds me of how Windows Vista's "Multimedia Class Scheduler Service" would put a low cap on network throughput if any sound was playing: http://www.zdnet.com/article/follow-up-playing-music-severel... Mark Russinovich justified it by explaining that the network interrupt routine was just too expensive to be able to guarantee no glitches in media playback, so it was limited to 10 packets per millisecond when any med…

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?

Re: Why PS4 downloads are so slow

#28

Totally unrelated but: Dang it must be awesome to have a service that people dissect at this level. This analysis is more in depth and knowledgable than anything I've ever seen while employed at large companies, where people are literally paid to spend time on the product.

It is astonishing how oblivious people who are "paid to spend time on the product" can be about the products they ship. Case in point, Microsoft shipped a EXPLORER.EXE with Windows 10 that is 20% whitespace because of an Adobe invented metadata format that I bet nobody involved with Windows ever thought about it. See http://ontology2.com/essays/LookingForMetadataInAllTheWrongP...

that is hc dedication level, props.

Re: Why PS4 downloads are so slow

#29
The CDN thing is an issue too.

Using a local DNS resolver instead of Google DNS helped my PS4 speeds.

The other "trick" if a download is getting slow is to run the in built "network test". This seems to reset all the windows back even if other things are running.

Re: Why PS4 downloads are so slow

#30
post #18

Reminds me of how Windows Vista's "Multimedia Class Scheduler Service" would put a low cap on network throughput if any sound was playing: http://www.zdnet.com/article/follow-up-playing-music-severel... Mark Russinovich justified it by explaining that the network interrupt routine was just too expensive to be able to guarantee no glitches in media playback, so it was limited to 10 packets per millisecond when any med…

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?

In this case the scheduler isn't as much of a problem as the interrupt service routine, which by its very nature interrupts the normal thread-level scheduler to do some work with the hardware.

Both the Network Interface Card (or wireless chip) and the Audio hardware generate interrupts for a variety of reasons. Network cards generate interrupts when data is finished sending or receiving. Audio hardware generally generates its own interrupts when its buffers have emptied out, to signal the OS to provide it more audio to play.

In this case, it sounds like Vista's network interrupt was running for so long that it was taking priority over other interrupts (audio) and causing them to not be serviced quickly enough. This is definitely a problem, but the fix should not have been to limit the amount of work done per interrupt, but instead to delegate that work to some other process with lower priority.

It's weird to think of audio as higher priority than networking traffic, but in this case that actually makes a ton of sense. Audio generation only requires ~88.2 KB of data per second, but latency is much lower and less tolerable by a human listener. Modern network connections are working with multiple MB per second, and are (relatively) more tolerant of slight delays. Same with mouse and keyboard input, it's why your mouse tends to move smoothly on most Windows machines even when the rest of the OS is obviously struggling with some heavy task.

Post reply on HN