Live data from Hacker News

24-core CPU and I can’t move my mouse

randomascii.wordpress.com

461–470 of 509 posts

Re: 24-core CPU and I can’t move my mouse

#461
post #129

I was wondering what ETW is, and found in one of his other posts: ETW (Event Tracing for Windows). He seems to be one of the main contributors of https://github.com/google/UIforETW Seems to be quite useful. --- About the post: tl;dr: NtGdiCloseProcess has a system-wide global lock which is used quite often e.g. during a build of Chrome which spawns a lot of processes. This problem seems to be introduced between Windo…

As a Windows outsider, I'm puzzled why programs used as part of the Chrome build system (which I'd expect to only use console I/O) are using APIs that cause interactions with the GUI? By analogy, is this not like gcc redundantly setting up a connection to the Xserver each time it is run? (I'm making an assumption that NtGdiCloseProcess is part of the GUI API (GDI == Graphics Device Interface) which is why it may inte…

In the very early days of NT the GDI subsystem was in userland and you wouldn't have this problem. Unfortunately it was too slow for machines of the 90s and so GDI+user32 is very tightly integrated with the kernel.

Even to the point where it does neat things like callback user mode code from the kernel. Unwinding this without breaking things is nigh impossible at this point.

Re: 24-core CPU and I can’t move my mouse

#463
post #310

Earlier quoted context omitted.

> my long standing gripes about Windows is that it just seems to have terrible multitasking compared to OSX. Using both Macs and Linux laptops, I'm sometimes shocked at how the Mac sometimes locks up when the Linux machines degrade much more gracefully under heavy loads. I never dug too deep into it, but it feels like it's something with HFS+ under heavy IO. I hope APFS fixes that.

Ever since I purged Dropbox from my life I haven't had intermittent UI lockups on macOS.

Interesting... One Mac here has Dropbox and the other has Microsoft's OneDrive. Maybe it's their fault.

Re: 24-core CPU and I can’t move my mouse

#464

Earlier quoted context omitted.

> my long standing gripes about Windows is that it just seems to have terrible multitasking compared to OSX. Using both Macs and Linux laptops, I'm sometimes shocked at how the Mac sometimes locks up when the Linux machines degrade much more gracefully under heavy loads. I never dug too deep into it, but it feels like it's something with HFS+ under heavy IO. I hope APFS fixes that.

Interesting. Back when I switched my Firefox builds from Core2 Duo T8300 @ 2.40 GHz + spinning disk + OS X to i7-950 @ 3.07GHz + SSD + Ubuntu, GUI responsiveness during Firefox build went from OK to bad. Canonical's support suggested getting a second computer as a build machine.

May be the machine too. I "feel" my Xeon desktop and my i3 laptop degrade more smoothly than the i7 laptop. It's entirely subjective, of course, but when I torture the machines the i3 go from usable to uncomfortable while the i7 goes very usable to unbearable. The Xeon goes from very usable to usable. Could be the i7 throttling more heavily from thermal issues.

Re: 24-core CPU and I can’t move my mouse

#465
post #288

Earlier quoted context omitted.

Yep, hardware sprites.

Modern GPUs still have hardware sprites for the cursor, and OSes still use them! However, the path between the mouse and updating that sprite has gotten more complex, alas.

I imagine a modern day Amiga would run all mouse and window server code on the GPU, only telling the CPU when the app needs to update its bitmap.

Re: 24-core CPU and I can’t move my mouse

#466
post #271
post #20

Earlier quoted context omitted.

It's all just trade offs. However fast or powerful your machine is, software will use as much of that resource as possible, up to the point where it occasionally interferes with input (but not too much or you'll switch to something else).

That's is better rewritten as "however fast or powerful your machine is, software will waste as much of that resource as possible".

"...if you let it". Some of us have decided that the value of marginal eye candy et al isn't worth interrupting our UI flow. I suspect that many people would have decided the same if most modern OSes weren't built around removing so much control from the user.

Re: 24-core CPU and I can’t move my mouse

#467
post #408

Earlier quoted context omitted.

> Damn, are we doing this wrong? SUPER-wrong. With all the time-loss, money-loss, opportunity-loss, C/C++/Js must have been rule out as the worst tools for our job decades ago, by ANY RATIONAL ENGINER. And instead of band-aid them, the sane path is to freeze them and only apply critical patch and use something else. And other options are already know, have been proved and could have be a better foundation, except bec…

And why should any other programming language be better?

Because exist some obvious flaws in the languages that could be solved forever.

For example, pascal is way faster to compile than C. Most pascal-variants are like this, yet provide the ability to do low-level stuff.

---

The main thing is that for some reason, we pretend is not possible to improve a language, or is sacrilege to remove problematic features, or to left-behind some things.

Programming languages are like any other software. It have UX problems, and them can be solved. Then, why not?

The mind-limiting answer is because break the language is costly and the programmers are so dedicated that expect them to never again check for null for millons of lines of code is too traumatic. Or maybe add namespaces to C++ is too hard.. but templates are ok.

Re: 24-core CPU and I can’t move my mouse

#468
post #260

Earlier quoted context omitted.

My Linux desktop never locks up. I'd suggest messing around with a different kernel, double checking graphic drivers, etc.

I was probably a bit imprecise; I do sometimes get full lock ups where I have to reboot, mostly when running TensorFlow locally, but usually I just get lock ups that last It's at the level of "annoying, but doesn't impact my work", so I just live with it.

Last time I was running Ubuntu (a month or two ago), trying to use the wifi network management menu would easily lock up the interface for a while - I'm guessing it manages to do slow work on the main window manager thread. Maybe that's a common problem.

Re: 24-core CPU and I can’t move my mouse

#469
post #449
post #45

Full disclosure: I work for Google on Chrome. A Chrome build is truly a computational load to be reckoned with. Without the distributed build, a from-scratch build of Chrome will take at least 30 minutes on a Macbook Pro--maybe an hour(!). TBH I don't remember toughing out a full build without resorting to goma. Even on a hefty workstation, a full build is a go-for-lunch kind of interruption. It will absolutely own a…

There are a million responses to your comment, but unless I missed something, no one seems to be redirecting you back to the actual problem at hand and are recommending all sorts of generic ways to reduce the time required to compile a large C++ project... but the issue here was not the generic one: the entire thing that made this article interesting is that his CPU was not being used at all, so this has nothing to d…

> Your comment, and essentially every other single one on this entire thread thereby makes me wonder if anyone on this subthread read the article :/.

Just let people talk about what they want to talk about, maybe? The main problem in the article is interesting but far less actionable than the overall situation of slow compilation.

Do you want things like rampant speculation and insulting windows 10? Do you expect everyone to pull out kernel debuggers to be able to make directly relevant comments? It's okay to talk about a related issue. Concluding that they didn't read the article is kind of insulting.

Re: 24-core CPU and I can’t move my mouse

#470

Earlier quoted context omitted.

> I think large parts of chrome actually belong into the OS. The network parts, the drawing library (skia), the crypto implementation, the window and tab management, and so on. The problem is cross-platform support. Depending on the OS is obvious if every OS supported the required features.

But all of that is already cross platform. When I say e.g. skia should be part of the OS, I don't neccessarily mean MS should ship it and update it yearly. I mean Google should still ship and auto update it, but also go though the effort of documenting it, maintaining strict backwards compatible APIs, and letting other programs consume it. I don't care who the actual vendor is. I know that's a lot to ask for, but OTO…

So create more work for themselves that they don't actually have to do. I'm sure some developers might be willing to do some of that in their spare time, but I think "a lot to ask for" is a serous understatement.
Post reply on HN