6 ms·
Problem is, most companies that need a lot of power only care about one thing - peak performance. And they tune it carefully in order to not overspend while gua
by devcpp 9y ago
Problem is, most companies that need a lot of power only care about one thing - peak performance. And they tune it carefully in order to not overspend while guaranteeing minimal downtime. This means that they'll have to pretty much scale their infrastructure up by exactly 30%. That's a LOT for these big clients.
Honestly, I'd just make sure the server firewalls are super tight and not take in the future patches. At least for now.
- ajross 9y agoVery very few highly tuned "peak performance" workloads are dominated by syscall overhead like the test that produced that 30% number was. It's best to hold off on the hyperbole.
- bpchaps 9y agoNo, but lots of workloads are built with latency in mind. For APIs that talk to each other in long serial chains, don't be surprised if request responses take significantly longer in many, many workflows.
- dijit 9y agoI have a power dependent workload that scales horizontally and is currently already dominated by the cost of system calls. This will effectively, directly cause me to buy 30% more compute on a huge infrastructure. (2,000~physical machines. Quite beefy dual socket machines with a lot of memory) I know I’m not alone. Then again. Think of microservices, Kubernetes for instance; Network requests are system calls.
- rbanffy 9y agoIf your workload has no code that's untrusted, you can safely skip this patch or disable it on boot. If not, at 2000+ physical machines, it may be worth to move some of that into kernel modules that would collapse a couple syscalls into a single higher level one.
- rogerthis 9y agoBut then you have to release the module as GPL, no?
- KingMachiavelli 9y agoNo kernel modules can be closed source; GPU drivers are a common example of a closed source kernel module.
- lmm 9y agoOnly if you want to do something that would otherwise be a violation of copyright - e.g. distribute the module to other people (assuming it's sufficiently entangled with linux to be a derivative work therof). The GPL only licenses you to do things that you otherwise couldn't do, it doesn't restrict you from doing things that were never a violation of copyright (e.g. privately modifying your own things).
- ufo 9y agoThe VM host will still have the patch applied, won't it?
- rbanffy 9y agoYes, but if it's your metal, you don't need to.
- dijit 9y agoGood idea. But it’s a windows executable and depends quite heavily on windows specifics. (In my case anyway) 30% overhead might be inscentive to revisit the assumption we can’t rewrite it for Linux.
- rbanffy 9y agoYou still can move some functionality to a device driver or something else that runs in the NT kernel space.
- maxander 9y agoWill you be buying Intel-based machines? Or will you be running a hybrid-architecture cluster now? I don’t know very much about computing on that scale, but I wonder if all the people selling off Intel stock are thinking this story through.
- lev99 9y agoAMD server CPUs currently outperform Intel on some multi-threaded benchmarks. This usually isn't a problem for people buying for peak-performance because you can always buy more CPUs to increase parallel programming speeds, but it's harder to make single threads faster. It's possible that the patches applied to fix this bug will cause some single-threaded benchmarks to change from Intel being the fastest to AMD being the fastest.
- myrandomcomment 9y agoSo for what it is worth my company has all Intel kit. We run servers that run docker. In each docker container we do build / test for our product. That is all we use them for. 1RU with 2 blades, each blade is dual socket, 72 total cores, 512GB RAM. We will not apply this patch as none of this is public facing and we do not want the hit to build / test throughput. The one big thing that this has done is we were looking at AMD for new servers and that has now become a higher priority on the to do list. Given our environment we care about the number of containers we can run, period.
- dijit 9y agoIt is overwhelmingly likely that we’ll buy more intel. Power/Watt has always been superior and AMD has to prove itself over time before we’d buy it. Not trying to kill expectations. This decision isn’t mine alone. You know the old saying “nobody got fired for buying Cisco” that applies to Intel too.
- viraptor 9y agoIf they really care about peak performance, I don't believe the PTI patch will affect them. If you can change your system in a way that the power-hungry part does not work on untrusted data, you can not with "nopti" and ignore it. Systems which both need lots of maxed-out CPUs and traffic directly from wild internet are pretty rare. They're unlikely to run on a virtualised systems either.
- btilly 9y agoSystems which both need lots of maxed-out CPUs and traffic directly from wild internet are pretty rare. That's a good description of basically every cloud environment out there, from AWS on down. In other words they are extremely common.
- rbanffy 9y agoThere are many ways to tune such workloads and I suspect our software will get better as a result. We'll start to get conscious about the number of syscalls we use on each operation, start using large buffers, start buffering stuff user-side...
- deleted 9y ago[deleted]
- viraptor 9y agoThe CPUs in cloud environments are not maxed out in general. There will be some area like batch processing and compute-specific VMs. For other cases, there's quite a bit of overcommitting of resources. And that's before you start doing scheduling that mixed workloads on a physical host for better utilisation. Source: worked on a public cloud environment.
- btilly 9y agoI agree with you on most VMs. But once you schedule mixed workloads, you want each host to be balanced so that all of its capacity is utilized evenly. Which means that if CPU use increases across the fleet, you will want new hardware with more CPU.
- brazzledazzle 9y agoI wouldn’t isolate your concern to firewalls and bad actors that break in over SSH. If they manage to find a vulnerability in your app that allows remote code execution this could help them make that problem much worse. Also VM/container escapes are a big problem if you use a cloud provider.
- redcalx 9y ago> I'd just make sure the server firewalls are super tight and not take in the future patches. At least for now. Good security is about layers. No one layer can be assumed to be watertight, but with enough layers you hopefully get to a good place.