A thing that makes that complicated is that while you want that conceptually, you don't want that in reality. For instance, if the spawning process is in a container of some sort and it spawned a process that "shares nothing with the process that spawned it", the spawned process would no longer be in that container, because the state of "being in the container" is one of the things it shares with the parent process.
This is just an example of I don't even know how many things a modern-day process will share from its parent.
By "complicated" I do not even remotely mean "unsolvable". I just mean that if you really dig down into what it means to "share nothing" in a modern operating system, it's a lot richer than it was back when fork+exec was a practical solution. There's a lot of fuzzy things that could go either way when you say "shares nothing".
Yes, stipulated. And it it's true that we should have a primitive for spawning a completely new process, because that's what we usually want. I agree that the details are both non trivial and soluble.
I also explicitly said this wasn't unsolvable. My point isn't about technical implementations or code, my point is that the casual "I want to share nothing about the parent process" thought in sanderj's mind, and presumably a lot others, is much more ill-defined than they realize. There's a lot more state that a process has than what file descriptors are open in a modern system.
Moreover, as things like "in which container is this running" demonstrate, those are also not "create a process that has nothing to do with this process", because, again, there's a lot more to "having to do with this process" than "what file descriptors are open".
Also, as the name might have been a clue, Linux has posix_spawn: https://linux.die.net/man/3/posix_spawn. It also has a thing called "clone": https://www.man7.org/linux/man-pages/man2/clone.2.html Nor do I claim this paragraph is an entire overview of all the ways of starting a process in Linux. If you want to understand what I mean by "lots of details in a modern OS", your assignment is to carefully read the entire "clone" man page, and you'll start to see what I mean, though I'm not sure even that is all the state associated with a process nowadays.
It's not a casual thought. I recognize that there are lots of details, there always are, we're talking about computers :)
I don't think it is necessary (or the best implementation) to clone the parent process, in order to maintain important properties like the process tree / container state, etc. I recognize that it's a sorta neat hack, "well if we just start by cloning the parent, then we don't have to figure out what state to include!", but that just pushes the details to the child process needing to figure out what to exclude, which IMO is a worse default.
Linux posix_spawn is a wrapper around clone and exec. There is no primitive on Linux to create an entirely blank process. This is adequately discussed in the linked LWN post.
Other operating systems either have parallel APIs to fork (e.g. the posix_spawn syscall on macOS) or do not provide fork at all (Windows).
You seem to persist in reading into my words claims that aren't there and then excitedly debunking them. I feel I'm extraneous to this process, though, so I think I'll let you carry on arguing with the guy in your head on your own terms. It's more fun for both of us.
I would say it is the responsibility of the CTO (whoever is responsible) to talk some sense into the CEOs (whoever in the exec team is having AI psychosis). Yes, yes—what if they themselves are having psychosis but that’s the point.
I had some questions in my mind about DCs using closed loop systems and read the article a little. In case anyone else also has similar thoughts:
—-
The company said its water consumption was so high last year because of temporary construction-related activities, such as concrete work, dust control and site preparation.
Once operational, the company said the data centers only will use water for domestic needs, such as bathrooms and kitchens. That will total the equivalent of what four U.S. households use per month, the spokesperson said.
That may not happen for another few years, however. The company is still actively building and expanding its Fayetteville data center campus. It aims to finish in three to five years.
This industry line about closed loop systems not using much water is so pervasive on HN and so wrong. So many people are spreading industry propaganda
First of all, only about 10% of data centers use closed-loop systems. Pointing to a technology that technically exists but is far from standard to represent the entire industry is ridiculous.
Second of all, these facilities do NOT infinitely recycle water. They must regularly "bleed the lines" to remove toxic sludge. The build-up of PFAS is of particular concern. Not to mention the water itself needs to be treated with anti-freezes, anti-fungals, and anticorrosives in order to last multiple cycles.
They also require about 40% more electricity usage. So the trade off is about 70% less water for 40% more electricity and an extremely toxic sludge problem.
TL;DR: closed loop systems are a tiny minority of DCs and their net benefits over open loop are not even clear
I'm sure that's the plan; I'm also sure a MBA will suddenly be in charge of operations and compare their cooling bills with their water bills and conclude it's cheaper to just pump water than run the cooling units.
I've seen the markets and they sure did move wildly, but what confirms that this was manipulated? (The alternative I was thinking of is "this twitter poster saw those two market resolutions and made up a narrative connecting them").
reply