2,328 karma · joined April 1, 2012
If that’s accurate, I cannot possibly understand why Beaumont is still employed at Google unless the senior leadership team decided intentionally to limit their exposure to the project so they could claim plausible deniability in the case it blew up like it has.
Obviously I’m not on the inside of this story, but from the outside, it’s getting increasingly shameful by the week.
Coming from an academia HPC background and then moving into the private sector, I’ve mostly come to believe that parallel filesystems (especially POSIX-compliant ones) are rarely the right solution outside of MPI simulations. Like NFS, it makes it extremely easy and attractive to implement anti-patterns like using the filesystem for IPC or generating a bazillion files and then needing to reduce them to move to the next stage of the pipeline. In my experience, it’s rare that people don’t regret doing that sort of stuff in the long run.
That said, I’m sure the AWS team knows their customers and what they’re doing better than I do!
Anyone who knows more about this than I do, are we close to that day?
I took a lot of linear algebra and I can’t recall having covered it.
https://news.ycombinator.com/item?id=15222470
At least on the real big systems, most of our work was with a small number of research groups basically doing the same workflow: start your job, read in some data, crunch, every 15 minutes or something slam the entire contents of system memory (100s of TB) out to spinning disk, crunch, slam, your job gets killed when your time slice expires, get scheduled again, load up the last checkpoint, rinse, repeat. Because of the sheer amount of data, it’s an interesting problem, but you could generally work with the researchers to impose good I/O behavior that gets around the POSIX constraints peculiarities of the particular filesystems. You want 100,000,000 cpu hours on a $200M computer? You can do the work to make the filesystem writes easier on the system.
Coming into private industry was a real eye-opener. You’re in-house staff and you don’t get to say who can use the computer. People use the filesystems for IPC, store 100M files of 200B each, read() and write() terabytes of data 1B at a time, you name it. If I had $100 for every job in which I saw 10,000 cores running a stat() in a while loop waiting for some data to get written to it by one process that had long since died, I’d be retired on a beach somewhere.
The problem with POSIX I/O is that it’s so, so easy and it almost always works when you expect it to. GPFS (what I’m most familiar with) is amazing at enforcing the consistency. I’ve seen parallel filesystems and disk break in every imaginable way and in a lot of ways that aren’t, but I’ve never seen GPFS present data inconsistently across time where some write call was finished and it’s data didn’t show up to a read() started after the write got its lock or a situation where some process opened a file after the unlink was acknowledged. For a developer who hasn’t ever worked with parallel computing and whose boss just wants them to make it work, the filesystem is an amazing tool. I honestly can’t blame a developer who makes it work for 1000 cores and then gets upset with me when it blows up at 1500. I get grouchy with them, but I don’t blame them. (There’s a difference!)
But as the filesystems get bigger, the amount of work the filesystems have to do to maintain that consistency isn’t scaling. The amount of lock traffic flying back and forth between all the nodes is a lot of complexity to keep up with, and if you have the tiniest issue with your network even on some edge somewhere, you’re going to have a really unpleasant day.
One of the things that GCE and AWS have done so well is to just abandon the concept of the shared POSIX filesystem, and produce good tooling to help people deal with the IPC and workflow data processing without it. It’s a hell of a lot of work to go from an on-site HPC environment to GCE though. There’s a ton of money to be made for someone who can make that transition easier and cheaper (if you’ve got it figured out, you know, call me. I want to on it!), but people have sunk so much money into their parallel filesystems and disk that it’s a tough ask for the C-suite. Hypothetically speaking, someone I know really well who’s a lot like me was recently leading a project to do exactly this that got shut down basically because they couldn’t prove it would be cheaper in 3 years.
Parallel POSIX-compliant filesystems at scale are an astonishingly hard problem, and adding the feature set they have while keeping it relatively stable and performant is really worthy of admiration. Every one of the dozens of conversations I’ve had with their developers and technical leads have left me more impressed. They literally can’t test it internally at the scale that their large customers run it, but they’re really good at finding problems and pushing out hotfixes that work pretty well.
That said, if I never have to touch it again for as long as I live, I’ll be a very happy man. From an HPC perspective, I think we’re long past the scale where parallel filesystems should be POSIX-based.
Like you, I’m also not a lawyer, but I did engage the services of a firm when I left. My lawyer informed me in no uncertain terms that my noncompete agreement was enforceable and cited several cases where a) their firm took employers to court to have the agreements tossed and lost and b) unsuccessfully defended people who did what you did and were sued by their previous employer.
In general, “fuck off, sue me” usually isn’t a great legal strategy.
This seems relevant: https://www.scottaaronson.com/blog/?p=304
So they linked his article about 5G to a different one. Why does that mean he was fired for writing the article? I feel like an application of Hanlon's Razor (not quite right, but I don't know of someone else's who fits the situation better) is called for. Is it more likely the editors thought his article sucked and used their editorial discretion to redirect his 5G article to a different one or that there was a conspiracy between his advertisers and the magazine's management to fire a guy who's been wrong on just about everything for the last 30 years because he hit the nail too close to the head?
I don't buy it.
Yes, people have been complaining about Linus' occasionally unambiguously abusive behavior for a long time, this genuinely seems like Linus had a bad few days, was pulled aside by some subset of the maintainers, and came to the conclusion that he should make some changes to his behavior and to the community of the project he controls.
I didn't see any threats or endless contentious debate derailing the project, so I'm genuinely struggling to understand why people are upset about this. If his previous behavior was acceptable, surely his new behavior will be acceptable as well?
I'm definitely the dumb money in the market, trading on stone age tools by comparison.
Or perhaps it has absolutely nothing to do with memory speeds, but I can't think of what else would have such a dramatic effect. I'd love to see the same test with a single Xeon.
That said, that's just the first thing that popped into my head to explain the result. Either way, the results here are extremely encouraging!
I don't know enough about video games, but I would naively think that the memory latency would be a big deal there as well.
At any rate, I learned a lot from this article. Anandtech's reviews always seem well-written and well-researched.
Either way, it's done.
It's very, very cool of Jane Street to publish some of these details. All the firms are doing approximately all of the same things tech-wise, so I think Jane Street might get a leg up on the next batch of recruits just for being willing to give them some public credit.