Systems Software Research is Irrelevant (2000) [pdf]
herpolhode.com
Systems Software Research is Irrelevant (2000) [pdf]
1–10 of 73 posts
Re: Systems Software Research is Irrelevant (2000) [pdf]
#2Perhaps the biggest modern counter-example we might point to is Rust. But in many ways, I feel like Rust justifies many of Pike's complaints:
> If systems research was relevant, we’d see new operating systems and new languages making inroads into the industry, the way we did in the ’70s and ’80s.
Now, I don't think this expectation is fair. But I do think that Rust is primarily different for developers. It hasn't really given rise to anything new, from what I can see. There's no new potentials here, no new possibilities embued by Rust: it's simply the same, but less, deliberately less, deliberately more choosy: it's a deliberate subset. It will never help us explore further, make better user systems. Only ones which fuck up slightly less. Generally I think the paranoia fear & sadness over software camp already had too strong a hold.
This paper hurt like fuck when I originally read it. It's still not wrong. But it's unnecessary overkill, to a world that was already suffering, and which, I believed then & believe now, must ultimately rise like a phoenix & rediscover itself, re-find purpose, & make itself real. Computing has gotten only ever more fake & bullshit since this decrial, and 99% of what Pike pissed on is exactly what is necessary for computing to regain even the most faint sense of vitality & aliveness. We've been in the deadzone for decades now, decades since this was written. Pike was not wrong when he warned about what a doledrums we were in, but it's not Systems Software that's at fault. It's failure to make real, failure to believe, failure to live in a better world, failure to build with as opposed to build alternatives-to that had been dooming us. This call for anti-vision is 100% the black miasma we have had to live inside of for the past two decades, has perfectly described the nihilism that hope has been trapped inside of. It's fucking time to open the god damned pandora's box again, and let hope try to make it's way out.
Rather than measure by how many operating systems are being created, I'd prefer measuring by more forward thinking metrics. The results are still not good. But measuring how many cross-website information systems emerge. Counting systems like Tim Berners-Lee's Solid or ActivityPub: they are where the puck is. The truth is, operating systems are irrelevant, because they have never succeeded beyond a single computer, and no one cares about a single computer anymore. It's no longer where the puck is. Systems research needs to be connected, communicative today. It needs to be online, and preferrably if at all possible offline too. The new frontiers of systems research are tech like CRDTs and Git. They're tools like Web Annotations that give us read-annotate-write capabilities to the general computing medium/fabric of the day, like the web. To a lesser degree it's also systems like FreeDesktop & DBus, which help applications & daemons expose themselves to user-scripting, it's tools like systemd which are intensely automateable & advanced new master-control-programs for the OS. I think we're still missing layers to really surface the malleability of this digital matter to the user, we're still not making a real difference, & we need to some day emerge from behind the digital curtain & become real to the world, to make systems research relevant. But systems research is happening, it is important, it has changed everything. Just... alas... very very very little for the user. That still needs to be changed. But new OSes will probably not make the difference. We already have great mediums, great systems; the frontier merely needs research to be bridged back into the mundane everyday experience of the "user'.
Re: Systems Software Research is Irrelevant (2000) [pdf]
#3Some examples: - DHT protocols as used in bittorrent - SMR protocols, used in all kinds of distributed systems, from blockchains to cloud computing systems - Cloud computing systems, such as Spark, Mesos, MapReduce
This doesn't even cover work on networks, databases, systems, security, etc.
Re: Systems Software Research is Irrelevant (2000) [pdf]
#4Rob Pike was drinking the poison chalice well before the rest of us. He wasn't wrong, here, back, in 2000. But damn. We've seen net zero systematic gain in computing across the entire industry in TWO FUCKING DECADES. Not a single iota of gains or win. Not a single systems software change has made it into the world. Everything is dead dead dead dead. Applications claim more and more and more, networks portals & endles…
* the cloud re-invented timesharing
* big data gave us distributed databases
* crypto had a tryst with distributed databases at the Timeshare Suites and begat blockchain
I'm unsure whether I'm refuting of agreeing with The Famous Article.
Re: Systems Software Research is Irrelevant (2000) [pdf]
#5Rob Pike was drinking the poison chalice well before the rest of us. He wasn't wrong, here, back, in 2000. But damn. We've seen net zero systematic gain in computing across the entire industry in TWO FUCKING DECADES. Not a single iota of gains or win. Not a single systems software change has made it into the world. Everything is dead dead dead dead. Applications claim more and more and more, networks portals & endles…
The much more publishable paper is on fixing the existing interface and changing the implementation. Look at a paper like Tensorflow; the value add for users is huge, but at the end of the day all the results are on comparing to highly tuned assembly programming. There is some notion that each of the ~millions of ML practitioners that use TF would only use it if it had very good performance. Reality is that most practitioners just want a working implementation. In Pike’s slides, most users are “grandma”, which, in this case, severely distorts relevant metrics.
Also, CS tends to dislike revisiting problems and is seasonal in research topics (see the rise and fall of AI and Big Data frameworks). I’d guess most of this “hot topics” agenda is motivated by possible industrial use. The industrial utility of very new things is near zero (basically what the slides say). You basically see research doing a “I can do that, too” whenever something interesting hits the market.
I think an interesting thought experiment is to take something like databases or distributed systems and simulate inventing them today. It’s unclear how you’d argue for such big ideas. Afterall, you can write database queries by hand and buy bigger computers.
Re: Systems Software Research is Irrelevant (2000) [pdf]
#6Rob Pike was drinking the poison chalice well before the rest of us. He wasn't wrong, here, back, in 2000. But damn. We've seen net zero systematic gain in computing across the entire industry in TWO FUCKING DECADES. Not a single iota of gains or win. Not a single systems software change has made it into the world. Everything is dead dead dead dead. Applications claim more and more and more, networks portals & endles…
Well: * the cloud re-invented timesharing * big data gave us distributed databases * crypto had a tryst with distributed databases at the Timeshare Suites and begat blockchain I'm unsure whether I'm refuting of agreeing with The Famous Article.
The blockchain crazyshit is perhapa regardable somewhat as an exception, but it's stupid fucking crazy expensive & polluting to do anything, and you basically need to be 20x smarter than the average programmer to not footgun yourself. In principle i want to try to allow it as promuser innovative & systems oriented but it's such a totalized system of constraint & restriction, such a low low low resource world compared to even having a pentium1 & dsl connection, that I dont see it as meaningfully ennabling.
Re: Systems Software Research is Irrelevant (2000) [pdf]
#7Maybe this paper was accurate in 2000, but does not capture the work of systems research since then. Some examples: - DHT protocols as used in bittorrent - SMR protocols, used in all kinds of distributed systems, from blockchains to cloud computing systems - Cloud computing systems, such as Spark, Mesos, MapReduce This doesn't even cover work on networks, databases, systems, security, etc.
Re: Systems Software Research is Irrelevant (2000) [pdf]
#8At this point, we can't switch hole hog to a new OS very well. But as I argued in https://news.ycombinator.com/item?id=29697474 I think we should dump a bunch of funding getting CloudABI or something like it (WASI with WASM, don't care what it's called) over the finish line in multiple OSes.
I argue this is a very "non-reformist reform"
- Easy to incrementally adopt e.g. for socket-activated services
- Nonetheless narrows gap between Unix and cool stuff like Fuschia/seL4 and WASM's future plans
- Narrower syscall API that isn't just legacy lowest common denominator will allow multiple implementations of the same interface, which in turn will "unstuck" the whole R&D life cycle:
-- Narrow interface means research experiments can better run real programs
-- Research experiemnts can show better promise, especially to "practitioners"
-- Developing research projects into production systems is cheaper less of a jump
This will restore the much needed "fluidity" where there is a continuum between research protypes and production systems, and multiple competing production systems.
----
The good news is that "library OS" type designs are finally kinda going mainstream on the research end of things. Going back to "competition" bucking the current winner take all trend (LLVM > GCC, Linux > other unix) will be prohibitively expensive unless we start reusing code.
Re: Systems Software Research is Irrelevant (2000) [pdf]
#9Maybe this paper was accurate in 2000, but does not capture the work of systems research since then. Some examples: - DHT protocols as used in bittorrent - SMR protocols, used in all kinds of distributed systems, from blockchains to cloud computing systems - Cloud computing systems, such as Spark, Mesos, MapReduce This doesn't even cover work on networks, databases, systems, security, etc.
I think person is now, in fact, getting paid to redo the firmware as desired, but while commonplace firmware might be uniquely disgusting, the bigger monoliths with even less competition are still the operating systems. Something still needs to be done there.
Re: Systems Software Research is Irrelevant (2000) [pdf]
#10Rob Pike was drinking the poison chalice well before the rest of us. He wasn't wrong, here, back, in 2000. But damn. We've seen net zero systematic gain in computing across the entire industry in TWO FUCKING DECADES. Not a single iota of gains or win. Not a single systems software change has made it into the world. Everything is dead dead dead dead. Applications claim more and more and more, networks portals & endles…
One of the quagmires with systems research is that it makes “stuff” (performance or usability) easier for the user. Research is supposed to be “scientific”, so you need ample evidence of those claims. This is difficult to obtain for very weird systems because usability is in human-computer interaction, which is hard to measure. If it’s so weird to not be portable and you have not measured humans, it must be impractic…
Maybe the megacorp that is going to hire you wants to see some benchmarks improved, but frankly, that's not what the world needs, or even what would best benefit the megacorp?
Economics at least has its uncooth grandfather in Political Economy. Computer systems needs to discover it's equivalent, something that is not afraid to go full qualitative and tackle the daemon of accidental complexity head on. There is still great work to be done auditing "supply chains" in dependencies and bootstraps, characterizing bad abstractions and proposing better ones, etc. etc. Per what I wrote the top level comment about capabilities, I think this work can be "practical" in offering realistic incremental improvements and not just more baleful essays like this one, too.