3 ms·
That's not moving it to an OS level, that's rethinking everything to deal with the problem you think you have, but don't. Making every subprocess transactional
by GauntletWizard 10y ago
That's not moving it to an OS level, that's rethinking everything to deal with the problem you think you have, but don't.
Making every subprocess transactional is a good idea, in theory. It makes it simple to clear and retry in case of failure. But by the time you've gotten to that point, you're already halfway through the problem of distributed systems, dividing your program into small, transactional slices.
Once you're there, though, the Tandem architecture paints you into a corner. These database-oriented architectures do not scale to having large numbers of useful-sized transactions running at once. The bottlenecks of the OS and Database layer become insurmountable. Your architecture is a classic case of a local optimum.
- zzzcpan 10y agoI think there is a bit of misunderstanding of what Tandem really is. It looks like it relies on communications between processors to never fail and be fast, which makes a lot of things easier, but at the same time this also doesn't make it into what we consider a distributed system. It's more like a single big computer, that can fail. Btw, Erlang OTP shares many ideas with Tandem. And Joe Armstrong actually discussed them in his thesis [1] and talks and articles [2]. [1] http://erlang.org/download/armstrong_thesis_2003.pdf http://erlang.org/download/armstrong_thesis_2003.pdf [2] http://cacm.acm.org/magazines/2010/9/98014-erlang/fulltext http://cacm.acm.org/magazines/2010/9/98014-erlang/fulltext
- Animats 10y agoThe original Tandem systems involved all processors on a redundant local bus. The system was later extended to allow processors to be networked remotely. The two machines acting as primary and backup for a transaction no longer needed to be in the same room. They did require a low-latency connection, though. This was all pre-Internet, so Tandem had their own protocols. [1] http://www.hpl.hp.com/techreports/tandem/TR-86.2.pdf http://www.hpl.hp.com/techreports/tandem/TR-86.2.pdf