News for hackers. Stuff that matters.
Re:Minix 3.3.0 by taeric on Tuesday September 16, 2014 @12:06PM (#8325192)
What sort of messages? And, any logic in routing them? Or is this literally a network switch?

Curious how this stacks up against the likes of Amazon's or Twitter's stuff. Or do they have Qnx based setups, as well?

Re:Minix 3.3.0 by jacquesm on Tuesday September 16, 2014 @12:19PM (#8325275)
> What sort of messages?

Broadcasts of capacity seekers and offerers. Along the lines of 'I have 50 40' containers sitting in Panama, Colón, destination Rotterdam, bids in by 14:00 GMT tomorrow'.

This would then get broadcasted to all parties that were capable of taking on all or part of that load, within a guaranteed delivery time through just about every medium you can think of with the exception of carrier pigeons.

This does not compare at all with Amazon or Twitter, though twitter uses 'Erlang' in their stack somewhere and quite a bit of the philosophy Erlang uses dovetails with the way you build such systems (which is perfectly logical because Erlang came out of Ericsson and they had problems that were mostly synonymous with message switching).

I'm not aware of either using QnX in their setup.

Re:Minix 3.3.0 by taeric on Tuesday September 16, 2014 @01:49PM (#8325859)
Cool. Probably compares more favorably with them than you are letting on. The volume you seem to be implying sounds very impressive.

It does make me wonder if the world should have just gotten better at state machine construction. This seems like if you kept it simple, things would have been straight forward to scale. (Not necessarily easy.)

Which is all to say that I do question how QNX really helped here. Seems more a side detail that neither helped nor hurt the effort.

Re:Minix 3.3.0 by jacquesm on Tuesday September 16, 2014 @02:00PM (#8325927)
Without QnX's network transparency, reliability and message-passing features this project would not have existed. The OS was absolutely instrumental.
Re:Minix 3.3.0 by taeric on Tuesday September 16, 2014 @03:57PM (#8326739)
I find that hard to grok following an admission that erlang could be used to architect systems using similar ideas. :(

That is, that you had a network transparent message passing system with high reliability is the key. That it was implemented at the OS level seems a side detail.

Re:Minix 3.3.0 by jacquesm on Tuesday September 16, 2014 @04:02PM (#8326760)
At that time it was the only way we could have done it that I'm aware of. We're talking 1985-1989 here! Feel free to disagree with decisions made almost 30 years in the past.
Re:Minix 3.3.0 by taeric on Tuesday September 16, 2014 @04:12PM (#8326824)
I'm not disagreeing with the decision at the time. Merely saying that the key was not that it was at the OS level. The key seems more that the rest of the details were in place. (If that makes sense.)

That is, if you were to want to build something like that today, I would remove "at the OS level" from the primary constraints in building this solution. Granted... depending on the rest of the requirements, it is highly possible one might go sans OS and just have an FPGA solution. Odds are, though, that would be overkill and more restrictive in possible solutions than necessary.

This is precisely my thought on microkernels. At face value, what is there not to like? In practice, the idea seems overly restrictive and makes it very hard to do some things that you sometimes wish to do.

Re:Minix 3.3.0 by jacquesm on Tuesday September 16, 2014 @04:27PM (#8326906)
Well, you're arguing against someone with 30+ years in software development who actually built stuff using microkernels and macrokernels and who wrote an OS on top of that. That's as shallow an appeal to authority as you'll ever get from me but frankly what your thoughts are does not trump my personal experience to me. In practice microkernels are not overly restrictive and they make things about as easy as they could possibly be. Those things that I happened to do at the time. (Such as, but not limited to: routers, device drivers, image recognition, mail, networking, a supervisor system, logging, reliable storage and on and on, basically everything that goes into a cluster based chunk of enterprise level software with a very specific goal).

This was not a theoretical exercise, it built a very deep and wide defensible moat, every Monday was a day pushing a record number of messages through the system since its inception, in other words, growth was continuous and downtime unbelievably (by todays standards) low. Which had a lot to do with the intrinsics of the OS.

And you have my word that without QnX as the cornerstone of that development it would have simply never happened. You can believe me, you don't have to but you're asking me for my reasons and then you proceed to dismiss them on the basis of your theories.

Practice > Theory any day.

Re:Minix 3.3.0 by taeric on Tuesday September 16, 2014 @04:38PM (#8326971)
I don't get your point. You are doing an appeal to authority, yet you seem to be literally arguing with history and entire industries as to what can make a very scalable system. Or, is your argument that Twitter would be more reliable if it were done with QNX? What about Amazon? Google? Any behemoth out there?

If that is your argument, then it seems a moot subject. We'll never know. If Twitter had originated on a microkernel based operating system, would it have gotten the traction it did? Beats me. Not even sure how you could approach such a question.

Now, I fully agree with the view that historically a major way to get these was to go with a solution like QNX. My point is merely that the reliability of other solutions is not as far behind as they used to be. To the point that limiting yourself to only run on one of these systems seems overly restrictive. (And again, that is in today's world. Not the one of 20+ years ago. Probably not even the world of 5+ years ago.)

Re:Minix 3.3.0 by jacquesm on Tuesday September 16, 2014 @05:07PM (#8327127)
> I don't get your point.

That's ok. I've spent enough cycles trying to get it across I think. Good night!