You know, whenever I vow to stop explaining Sun, there is some yet-more outrageous claim that I just can't seem to summon the willpower to ignore, for fear that it will join a corpus of alternative facts that poison the wellspring of future generations.
So, in that spirit: Sun emphatically did not "ignore the internet" (?!) -- and was in fact a pioneer of distributed systems in many ways. Instead of rattling off the many important, early distributed systems that Sun built -- or the many pioneers of distributed systems that Sun employed -- I will vector you to a single Sun-authored paper circa 1994, "A Note on Distributed Computing"[1] (and to Chris Meiklejohn's discussion of it at Papers We Love[2]). The paper itself drips with wisdom that still feels current and important a quarter of a century later -- and it very much reflects the zeitgeist of the time at Sun. Please read the paper -- and more generally, take the time to educate yourself as to the history of our domain and the many people and companies who have made seminal contributions to it; the generations whose shoulders your work stands upon will thank you for it!
Moreover, Sun’s legacy in distributed system goes far beyond theory, people forget about Jini (and Javaspaces) a distributed computing platform that shipped by 2000 or before (I had the pleasure to work with and it was the only reason I would develop in Java), SOA? micro services? In-memory distributed computing? It was all there at work. Want P2P?, enter JXTA. There you go.
Ignored the internet in terms of distributed systems, which I assumed was obvious from the wording.
Look at that 1994 paper, none of the things in the paper show any background to build a distributed key-value storage or really anything for the cloud. I'm not sure why people are trying to claim otherwise. Even ZFS from a decade later reflects both a complete lack of experience in distributed systems and ignorance towards the internet.
Why does ZFS reflect a lack of experience in the internet and/or distributed systems? Simply because it didn't follow a questionable tech trend of "everything is a DHT?"
Because they didn't seem to know any of the simple and nice ideas from distributed systems to solve pain points of managing space, since adding, removing nodes, sharding/partitioning is something you have to figure out pretty much from the start.
> Distributed systems and write arbitration on the same file are still terra incognita.
That's far too aggressive a response for someone who's being sloppy with terminology themselves. "Distributed" covers many different scales. You also use "clustering filesystem" as though it's a synonym, which it very much is not. Among those who have actually built both, like me, distributed and cluster filesystems are very different things. It's fine if you think "true" distributed systems means global scale, but if you're not even explicit (let alone correct) about it you should hardly be condemning others for using definitions closer to general usage. And you definitely shouldn't be pretending to read people's minds with claims about what they "gave no thought" to or "have no idea" about.
P.S. Since I can't reply to your comment below which was quite rightly flagged into oblivion, no, I didn't have anything to do with GFS.
Flagged your comment for this. You should at least glance over my comment history on distributed computing before attacking me on things you don't understand.
I do not care who you are. Your comments on this thread made it crystal clear that you are not familiar with the subject matter: for you distributed has a very narrow meaning of a sharded key-value store, you've succeeded in making that clear. "Cloud", except that's not it.
And whether you "flagged" my comment or not, that's irrelevant to me.
It doesn't have that meaning to me. But in the context of a failed cloud company of Sun refugees the only experience in distributed systems that matters is the experience Sun refugees didn't and couldn't have. For some reason you are claiming absolutely irrelevant things to any of that. And, of course, resorting to personal attacks.
We've asked you repeatedly to stop posting like this to HN. If you keep posting flamey comments we're going to have to ban you. I don't want to do that, so would you please review https://news.ycombinator.com/newsguidelines.html and follow the rules strictly from now on?
I guess I rephrase: they didn't do any of the distributed systems stuff necessary for the cloud if people so desperately want to call all the network stuff they did "distributed systems". Technically they were distributed systems, sure, just like anything client-server, but irrelevant to the challenges of fault tolerant geographically distributed asynchronously communicating systems.
... Does this statement come from having actually used things like Hadoop on Sun Grid Engine or any of Sun's other products? Or... what? What knowledge are you drawing on?
Edit: I mean, this is the company that gave us the 8 Fallacies of distributed computing, as they were 20yrs ago
I completely disagree, see my comment above. I was doing asynchronous distributed data replication and compute over a grid in 2001 using Jini and Javaspaces, and I was the one late to the party.
So old broken networking tech (Jini and Javaspaces) over a fast reliable local network (a grid) in 2001. How could this knowledge help anyone with fault tolerance, high-availability, partitioning/sharding, CAP consistency/availability trade offs, etc., which internet companies at the time were figuring out?
> Sun Microsystems literally invented geoclustering!
They didn't. Not that any of it is important anyway. All 80s and early 90s networking tech was ridiculously broken, which should be obvious, since distributed systems field was just born at that time (first papers in like 1978). Things started to get useful only by the end of nineties. But by that time Sun's tech was nowhere near anything internet companies were doing. So later when things got to infrastructure Sun's engineering was really really behind, they had to start from scratch on anything that internet companies were learning and doing for many years. And this was very different time consuming knowledge, not something where someone could use their OS level expertise. Which also makes it very hard to compete with companies that are much farther ahead, especially with this silly "our tech is the greatest" attitude making it hard to even realize how far behind you actually were.
Sun Microsystems was the #1 computer company by revenue at the end of '90's. Everybody ran their hardware and Solaris; that's where the slogan we're the dot in .com came from, because it was true. If you had been around for it, you'd know it. Your comments date you...
I believe ZFS represented a missed opportunity by spending all that effort on a local filesystem instead of trying to do something interesting in the distributed space. I even said so at the time, since I was working on distributed filesystems at the time, but that's just a strategic issue (and one that's quite arguable). It's not evidence of ignorance or lack of experience.
Well, on that part I was referring more specifically to the vdev mess and raidz, how you cannot just add a disk to the file system. Which is pretty silly, considering that at the time there were plenty of ideas how to do it much better, although not for disks, but for nodes in distributed systems. But apparently no one on ZFS team had any idea about any of it.
ZFS doesn't work that way: it works on pools of storage. Disks are added to the pool.
Filesystems (or datasets) are carved out of a pool, not out of physical disks directly. There are vdevs on top of physical disks.
That's like people who are stuck back in the '80's because of ext3 arguing that ZFS is crap because it doesn't come with fsck or "some sort of repair tool" -- they just can't wrap their head around the ZFS concepts.
That was a pretty common pattern at Sun. Engineers there did a lot of great work, no denying it. Like many other projects, ZFS solved some pretty difficult and important problems while ignoring others. Which ones get talked about ad nauseam? We all make mistakes, of course, but some of those ignored problems were well known at the time to be worth solving. Did those self-professed "complete engineers" learn anything from those times they missed the target? The fact that Sun doesn't exist any more suggests an answer.
The problem is they cannot all be solved with just one single thing. Jeff Bonwick and his team knew that. They knew what was left on the table and they had to make that call. A completely fault tolerant, distributed system which can correctly arbitrate a write to a single shared resource (usually a file or even a block) from multiple nodes at the exact same time is a problem which has not been solved correctly yet, to the best of my knowledge and belief. I myself have spent considerable amount of time (20 years, to be precise) trying to solve that particular problem correctly for all edge cases. That problem is terra incognita in computer science and yet to be throughly researched, let alone understood. All attempts at solving that particular problem 100% correctly have not been successful, by anyone, but if you know of someone, please do tell, I'd love to be corrected on this and start using such technology immediately.
The ZFS team was well aware of this and that's why they made the trade-offs they did. They picked a subset of problems and they solved them. Even in hindsight, to me at least, it's obvious why.
But to suggest that Sun Microsystems doesn't exist because the company's engineers picked only a subset of problems they knew they could solve is... either terribly ignorant or wilfully malicious, or both, since malice often stems from ignorance. Sun Microsystems lost because they were too expensive, more expensive than garbage intel personal computer servers and because Solaris wasn't open source code in 1993. It's that simple.
You seem to believe a shitty general key-value store with no SQL interface and no ACID guarantees qualifies as a distributed system, which is terribly shallow and misguided.
I worked at a company circa 2005 where we had a platform as a service built on top of Solaris 10 and zones, on-premise infrastructure which you now call cloud. Fully configured and serving Sun clusters would come into existence by merely DHCP booting from the OpenBoot PROM (Sun had to give us patches for the OBP for DHCP booting). I happen to know this, because I was one of the senior system engineers who helped architect it and then built it. We had it powering tens of thousands of servers. We were one of the first users of IP Multipathing in Solaris ("IPMP"), a technology Sun engineers invented to provide redundancy for network connectivity for the clusters. Amazon wasn't even a smear yet. That was in 2005. Which year is it now? How many years ago was that?
"If you compare Sun to their competitors at the time: IBM, DEC, SGI, HP, and even Microsoft. Sun was way ahead on distributed systems."
Careful now, you're on thin ice: Sun Microsystems might have been a pioneer in distributed cloud computing, but nobody did it better than SGI: once they had the NUMALink technology from CRAY, they invented cluster routing in hardware which would linearly scale with added router modules. I had Origin 2000's hooked up and scaled them linearly thanks to NUMALink, the hardware routing bricks and the crossbar switch on the motherboard. And IRIX 6.5 was aware of it all and used it!
I'd hit the power button on one server and the other one would come up; after the systems booted, each having 8 GB of memory and 8 processors, I logged into a single IRIX instance with 16 GB of RAM and 16 processors. The only company to come even close to that was DEC, years prior, but nobody perfected it so throughly like SGI engineers. What CRAY started, SGI engineers finished. Sun only came with hardware which had the crossbar switch after SGI, and they never had their own hardware router bricks. By router I don't mean network router, I mean cluster scalability router which had nothing to do with TCP/IP networking.
That's not the distributed computing that the OP was referring to. Explicit reference was made to WAN-style networking that makes the crossbar switch effectively seem like motherboard traces.
Doesn't matter (and I don't care) what they referred to, only the end result counts: SGI designed and implemented cloud computing in hardware. Color me impressed. Haven't seen anyone successfully do it since, hardware- or software-wise (and everyone is sure as hell trying!)
SGI did in hardware what people are now trying to hack together with shoddy software implementations which can't survive an outage nor protect against data corruption.
Explicit reference was also made to NFS, which has nothing to do with WAN-style networking. The local Sun mafia are trying really hard to claim credit for distributed computing at all scales, and there's nothing off-topic about addressing one part.
Many many things over the years, going all the way back to 1990 when I was at Encore dealing with all the dirty tricks they played to hobble competing NFS implementations, but that's not the point.
My real issue with them is hubris. There's a certain cadre of Sun alumni, highly visible on forums such as this, who would have us believe that they were absolutely always doing the best work on the most important problems. I think that denies credit to others who were doing work just as good on problems just as important, at companies which weren't driven into Oracle's arms by all the waste. Having known many of those people over the years - it's not for me to judge whether I'm one of them myself - I find that offensive. Sun just wasn't all that and the sooner we shed that particular piece of idol worship the better the industry will be.
You know why Sun engineers are all that? They made all these technologies they invented wildly popular in professional, elite IT circles. There are still many people who have no clue who Bryan Cantrill or Jeff Bonwick or Matt Ahrens or Nicholas Droux are because they're not in that elite or enthusiast circle of IT professionals dealing with those technologies, but for us who understand what they do and their importance to the overall computer industry, yes, we appreciate them for inventing them. Those people came forward, blogged and documented their work over the span of ten years, did you? I didn't read anything from you until yesterday, and it's not for the lack of trying, let me assure you. They made videos, presented at conferences, a lot. So yes they're popular, as they should be and they get credited, as they should.
It's like watching an Amiga demo: one has to understand how hard it was to code the effect to appreciate it -- a normal person off of the street just sees some graphics and hears some music. Sun engineers not only did great things well, but they popularized them too because they wrote intimate diaries in the open about their work over the span of ten years. They raised an entire generation of IT professionals and taught them what it takes and what it means to be an engineer.
I wish I knew who the engineer(s) behind SGI inst(1M) is(were), but unfortunately I don't because they never put names and faces on their products.
If you're going to persist in this kind of "I'm elite, you're no big deal" posturing (and borderline ad hominem) then we're done. This isn't about who's the biggest blog loudmouth. I don't care that you failed to find something to suit your narrow biased in interests in five minutes of stalking through my old blog two years after it was discontinued. Both Bonwick and Cantrill were able to find it when it mattered. They stopped by and we had a couple of interesting conversations. Those kinds of interactions are what matter.
Please, try learning something new instead of getting stuck on the first thing you found when you first entered the industry and spitting all over everything else. Go look through the conference proceedings, even from Sun's glory years, and you'll find plenty of papers from people elsewhere that have had a far more profound effect on software practice today. This fanboi behavior does nobody any good, least of all you.
It would do you well to stop being so hurt that you didn't get credit or recognition for the work you did. Why didn't you blog about it instead of being pissed off Sun engineers get the credit?
Yes I'm a big fan of their work, not least because their products work damn well, especially when solutions in GNU/Linux are compared to theirs. Did they screw up over the years? Yes they did, the USB subsystem in Solaris is an infamous fuck-up of epic proportions. Ironically it has nothing to do with distributed systems. But the things they really put effort into like Sun clustering, NFS and networking work and work damn well.
As for me and learning something new, I do that all of the time. The problem is that most of the new things coming out aren't new at all and certainly aren't better.
And you know what, for a passionate computer enthusiast, I'm sick and tired of IT and all this bullshit.
> There's a certain cadre of Sun alumni, highly visible on forums such as this, who would have us believe that they were absolutely always doing the best work on the most important problems.
Well, I'd be the first to say that Sun was often doing substandard work. The implication that they were doing no work is just insane though.
Whatever... They are now history and lately remembered by hanging over Java to Oracle... Everything else will be buried in history or 42nd page of Google search results
So, in that spirit: Sun emphatically did not "ignore the internet" (?!) -- and was in fact a pioneer of distributed systems in many ways. Instead of rattling off the many important, early distributed systems that Sun built -- or the many pioneers of distributed systems that Sun employed -- I will vector you to a single Sun-authored paper circa 1994, "A Note on Distributed Computing"[1] (and to Chris Meiklejohn's discussion of it at Papers We Love[2]). The paper itself drips with wisdom that still feels current and important a quarter of a century later -- and it very much reflects the zeitgeist of the time at Sun. Please read the paper -- and more generally, take the time to educate yourself as to the history of our domain and the many people and companies who have made seminal contributions to it; the generations whose shoulders your work stands upon will thank you for it!
[1] https://github.com/papers-we-love/papers-we-love/blob/master...
[2] https://www.youtube.com/watch?v=z79mjsLdkpY