5 ms·
Banks are actually kind of a bad example for needing synchronized processing. Banks settle transactions pseudo-asynchronously in batches. While they adjust your
by rbranson 16y ago
Banks are actually kind of a bad example for needing synchronized processing. Banks settle transactions pseudo-asynchronously in batches. While they adjust your "available balance" as well as they can, AFAIK, transactions are officially settled in the old school, nightly batch.
Even then, there are consistent, synchronous databases that run on Linux clusters. Oracle RAC and Sybase ASE come to mind. Linux also supports hardware NUMA implementations, which allow single system image software. An emulation layer could run on top of NUMA hardware.
- gaius 16y agoI am very experienced with RAC and its predecessor OPS. It really is nowhere near as performant or reliable or scalable or manageable as a mainframe. Which is not to say it's not "good enough" for many serious, real-world workloads, of course it is. But you're comparing a Toyota pickup to a JCB earthmover.
- rbranson 16y agoI'll definitely yield to your experience. What exactly makes the mainframes so much more capable? How does it compare to something like an SGI Altix cluster with 2048-core / 16TB single system image capacity?
- gaius 16y agoThe mainframe is built from the ground up for transaction processing. Have a look around Wikipedia for terms like: CICS, IMS, TPF, Sysplex, WLM. Everything, the hardware, the kernel, the rest of the OS, the programming model, the languages - all for this. It has no pretence of being a general-purpose computing platform. The mainframe would suck for what you'd use the Altix for, e.g. weather forecasting. The Altix has a lot of processes that want to work on a common dataset, but it would grind to a halt if you tried to use its interconnect to serialize transactions.
- rbranson 16y agoExactly what makes it so much more useful for transaction processing? I'm looking at these things you suggested, but how does CICS compare to something like BEA Tuxedo? Of course there are no benchmarks or talk of performance out in the open on the web because I'm sure their licensing agreements forbid that. Do mainframes have some kind of crazy low-latency or high bandwidth bus that something like the Altix is missing? It appears they use similar hardware architectures, at least from a high level: super high speed modular backplanes with blade servers that form a single system image. The NUMALink 5 is stated as having 15GB/s of bandwidth (7.5GB/s in each direction) with a ~1µsec latency.
- gaius 16y agoA mainframe is to transaction processing as a GPU is to 3D graphics. Does that make sense?
- rbranson 16y agoNo, you are being extremely vague. A GPU only performs well at executing a small set of mathematical instructions in a very specific, ultra-parallelized model against limited sets of data. They are not Von Neumann machines. A mainframe runs business software on general purpose CPUs with a normal memory model. It wasn't long ago that Macs and IBM mainframes shared the same CPUs. Yes, they support virtualization in hardware, but so do cheap Intel processors now. They appear to be architecturally no different than large SMP boxes. Please enlighten me on the key hardware differences that make them so apt for transaction processing.
- gaius 16y agoHeh, I suggest you do a little reading around the architecture and the way SAPs interact with the main processor(s). Or we can just say that all languages that are Turing complete are equivalent...
- Retric 16y agoAging Mainframe Hardware is horribly slow. A fast 5,000$ server built today (Raid of SSD etc) is significantly more powerful than any Mainframe built prior to 1998. But Mainframe Software is far more efficient than anything built for a modern PC. PS: I suspect a large part of this is the mindset and experience of the people building the software. Well written Java code can be about as fast a well written COBOL code, but the average Java system is horribly inefficient.
- gaius 16y agoIn floating point, yes you are entirely correct. But that old mainframe'd show you a thing or two about I/O.
- Retric 16y agoI respectfully disagree. The only place they come close is a late 90's huge disk arrays, but random access to SSD arrays are amazing and once you start looking at things like L2 cache bandwidth old mainframes start looking anemic. Edit: An 1980 IBM 3081 could access up to 32 megabytes of main memory. A 5400-series "Harpertown" can have 24 megabytes of cache. So Modern CPU cache memory vs Mainframe main memory is not an unfair comparison. But that's just overkill the real shocker is 3081 had less bandwidth to it's registers than many modern computers have to it's local network. (It was below 40MHz and consumed 23 kilowatts of power). PS: Feel free to post some actual numbers.
- sophacles 16y agoWhy do you keep comparing old mainframes to current tech? Why not compare current mainframes to current tech -- its like those people who try and compare the java of 1998 with the C of today (you know "jvm takes minutes to start, and has x, y and z gc issues..."). Mainframes from IBM are under constant revision and update, just like server tech.
- Retric 16y agoBecause they are still being used. People think they need to replace an old mainframe with a cluster but that's just not true. Also, large modern day mainframes have become distributed systems so while you may still need a cluster you are already using one. PS: We live in an age of horrable custom software, sitting on a monstrous stack of terrible commodity software. If you spend a noticeable amount of time waiting on a modern computer system it's really just a software problem. (Wait you actually want to use XML?) But, often upgrading the hardware is really the best option.