Live data from Hacker News

CPU Usage Differences After Applying Meltdown Patch at Epic Games

epicgames.com

51–60 of 296 posts

Re: CPU Usage Differences After Applying Meltdown Patch at Epic Games

#51

Considering the performance impact, I wonder how console manufacturers are going to handle this (assuming that the processors they used are vulnerable to Spectre/Meltdown).

What console of the current generation comes with an Intel CPU? And in any case the Meltdown patch is not too bad for games.

PS4 and XBox One are running AMD CPUs (albiet x86-64 arch) this generation and the Switch is NVIDIA (ARM Aarch64).

Re: CPU Usage Differences After Applying Meltdown Patch at Epic Games

#52

Earlier quoted context omitted.

Resolving scalability issues is not as simple as "rent more servers".

For a CPU-bound problem it mostly is as simple as that, yes

You're making assumptions about a software stack you haven't seen.

Re: CPU Usage Differences After Applying Meltdown Patch at Epic Games

#53
post #38

Earlier quoted context omitted.

The Nintendo Switch generally only allows white-listed pages. So the attack vector is pretty small. The other consoles, yes, should be possible. But I think not too many people use their consoles for browsing.

It will show any captive WiFi-portal however so perhaps watch out for that. In addition they do have a store with indie games which seems to be more or less open to anyone (I assume there are some checks but I wouldn't trust them completely) much like Steam.

The requirements for getting onto the various platforms are pretty stringent. It's nowhere near as easy as getting onto Steam. You have to go through quite a rigorous certification process before you are allowed to ship your game on the online stores.

Re: CPU Usage Differences After Applying Meltdown Patch at Epic Games

#54

Earlier quoted context omitted.

Resolving scalability issues is not as simple as "rent more servers".

Renting beefier servers may also be an option if the performance impact scales linearly with pre-patch performance. However it's not clear in this case how that works.

Depends if the bottleneck is a single CPU or whether it is a single machine. Those beefier machines are usually slower per CPU.

I've seen some crazy game server designs before in the quest to have fast response times. But UE4 is pretty professional so even if they are tied to a single machine, they probably are not tied to a single core for some of their critical algorithms I would hope.

Re: CPU Usage Differences After Applying Meltdown Patch at Epic Games

#55
post #28

Earlier quoted context omitted.

Next patch: we enhanced your security by disabling execution of JavaScript from untrusted domains. In unrelated news, we now block ads!

If they are going to block JavaScript, they need to do it for all domains, not just untrusted domains. For example, if I can MITM my own website activity (which I can, by having a device that sits between a router and a console), then I can change the JavaScript coming from trusted domains. In other words, if I visit a site like Google or Facebook on an affected device, I can change the JavaScript that is run, and ma…

You can be prevented from a successful MITM by enforcing HTTPS using HSTS and pinning the keys of trusted sites. That's not a viable solution for accessing the internet at large, but for a console that is only incidentally used for web browsing, it's absolutely an option.

Re: CPU Usage Differences After Applying Meltdown Patch at Epic Games

#56

Considering the performance impact, I wonder how console manufacturers are going to handle this (assuming that the processors they used are vulnerable to Spectre/Meltdown).

The current consoles are using AMD/ARM processors, probably they aren't affected that much. It could be still a problem though, considering many console games use all kinds of hacks to barely run at the target resolution/framerate.

> It could be still a problem though, considering many console games use all kinds of hacks to barely run at the target resolution/framerate.

If you had to slow down any of the consoles by 10% there would be tons of problems in the games. As you said, those games are highly tweaked to just barely run on those CPUs/GPUs.

Re: CPU Usage Differences After Applying Meltdown Patch at Epic Games

#57
post #47

Pretty much what I predicted here: https://news.ycombinator.com/item?id=16054674 > Sounds like servers handling lots of small UDP packets would be hit pretty hard.

There's potential for a little rearchitecting to help, at least in the case of UDP: NAME sendmmsg - send multiple messages on a socket SYNOPSIS #define _GNU_SOURCE /* See feature_test_macros(7) */ #include int sendmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, unsigned int flags);

Yep, I was actually debating whether I'd mention sendmmsg/recvmmsg in my original post but I left it out. Definitely an option for UDP, but you're out of luck if your game server uses TCP (surprisingly many do) because you have to recv from each socket separately.

Re: CPU Usage Differences After Applying Meltdown Patch at Epic Games

#58

Earlier quoted context omitted.

The current consoles are using AMD/ARM processors, probably they aren't affected that much. It could be still a problem though, considering many console games use all kinds of hacks to barely run at the target resolution/framerate.

I'm not sure about the PS4 and XBone but the Switch uses the Tegra X1, which has 8 ARM cores (4 Cortex-A53 cores, 4 Cortex-A57 cores), 4 of which (the Cortex-A57 cores) are vulnerable. https://en.wikipedia.org/wiki/Tegra#Tegra_X1 https://developer.arm.com/support/security-update

Vulnerable to Spectre, yes, like nearly all speculative execution processors. The PS4, XBone and Switch are very likely vulnerable to Spectre all the same but that will probably mostly affect their web browsers.

None of these is vulnerable to Meltdown. That is an Intel/Apple/ARM Cortex A75 only thing.

Re: CPU Usage Differences After Applying Meltdown Patch at Epic Games

#59
post #47

Earlier quoted context omitted.

There's potential for a little rearchitecting to help, at least in the case of UDP: NAME sendmmsg - send multiple messages on a socket SYNOPSIS #define _GNU_SOURCE /* See feature_test_macros(7) */ #include int sendmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, unsigned int flags);

Yep, I was actually debating whether I'd mention sendmmsg/recvmmsg in my original post but I left it out. Definitely an option for UDP, but you're out of luck if your game server uses TCP (surprisingly many do) because you have to recv from each socket separately.

There may still be some options depending on the structure of your server and where the added CPU load is hurting most, for example, shunting IO to a thread/threadpool where futex() calls (if necessary) only occur for every N IO requests, rather than pay the syscall price for every IO on the main thread. But that might introduce new latency/ordering problems all of its own

Re: CPU Usage Differences After Applying Meltdown Patch at Epic Games

#60
If it's helpful,

Our Node.js, MongoDB, Python servers all with significant network traffic didn't have any measurable impact after KPTI patches on Amazon Linux on T2.medium(burst), M4.large, T2.large(burst) respectively.

Our impact is lesser than the figures suggested by redhat's advisory - https://access.redhat.com/articles/3307751

Post reply on HN