Hacker Newsnew | past | comments | ask | show | jobs | submit | dnw's commentslogin

What do you mean by "a completely new process"?


A process that shares nothing with the process that spawned it.

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.

It’s such a bad idea that every OS except Linux implements it? On macOS it’s posix_spawn, on Windows it’s NtCreateProcess.

Who said anything about it being a "bad idea"?

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.

That’s how you get zombie processes and memory leaks.

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.

A CVE for exeCVE()


Puttin' the CVE in execve.


Who would have thought.


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.

——


I was just thinking about this relative to the headlines that datacenters don't consume as much water as we think, so thanks


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.


Will is doing a lot of heavy lifting in this paragraph.


Good write up. I wonder what approach an LLM would have taken for this optimization, say using autosearch.


If you mean auto research it is not bad idea to run it tbh. I have over 1M products now in the database not a bad set to train.


Yes, I meant auto research. Sorry about the typo.

Looks like you have a pretty good closed-loop and data set to run it on.


Even in the world of AI good to see good old fashioned prop making for a video.



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").


Somehow a ton of people are caught in the variant.


Long-term relative to lifespan of the 401K holder. Outcome changes a lot for those who are ready to retire.


Interesting that they actually acknowledge there was a change on March 6th. Kudos to the prompt analysis work that uncovered it!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: