larry@jpl-vlsi.arpa (03/11/86)
"Unix is terrible for transaction processing and DP processing by banks and insurance companies." I've heard this before. Why is this so? And does putting a U**x on top an OS that does do good transaction processing solve the problem? Would a native Unix with a kernel optimized for TP fall down on program-development functions? Larry @ jpl-vlsi.arpa
ron@BRL.ARPA (Ron Natalie) (03/11/86)
I don't know why they say UNIX is bad for transaction oriented stuff, since it you transact with 2 UNIX systems every time you make an 800 long distance call. _Ron
wje@daisy.UUCP (William J. Earl) (03/15/86)
In article <1692@brl-smoke.ARPA> larry@jpl-vlsi.arpa writes: >"Unix is terrible for transaction processing and DP processing by banks and >insurance companies." >I've heard this before. Why is this so? And does putting a U**x on top >an OS that does do good transaction processing solve the problem? Would a >native Unix with a kernel optimized for TP fall down on program-development >functions? UNIX is not fundamentally terrible for transaction processing. Rather, it simply lacks certain facilities which would make typical applications efficient and easily implementable. What is required is fast indexed record access (as in a good database system), atomic transactions with respect the above accesses, and good communications support, including BISYNC and X.25. A forms-control language or package would also be helpful (for handling formatted screens). It turns out that a database system which includes atomic transactions in a clever way, such as IBM's IMS FASTPATH, can provide very high transaction rates, with a declining cost per transaction as the transaction rate rises. There is nothing in UNIX which prevents the implementation of such a database system, at least on 4.2 BSD, but unless it is added to the kernel, perhaps as a simulated "character device driver", it must pay a high overhead for disk accesses. The problem is that UNIX only provides asynchronous I/O via the block cache, but a database system needs to manage its own cache. On System V, one could use shared memory, extra "I/O server" processes, and semaphores to provide asynchronous I/O at user level, but one would have not protection for the data, since it would then be visible in all applications. Putting UNIX on top of most of the transaction-oriented operating systems with which I am familier would likely lead to unsatisfactory UNIX performance. An exception would be in a virtual machine environment, as on VM/370 with MVS and UTS running in parallel virtual machines. On the other hand, such a system allows only cross-development, in that one cannot debug the application under UNIX. A UNIX with a transaction-processing kernel should certainly be feasible, but the kernel would be substantially different from a normal UNIX kernel. -- William J. Earl Daisy Systems Corporation, Mountain View, CA
jr@sun.uucp (John Reed) (03/17/86)
In article <1692@brl-smoke.ARPA> larry@jpl-vlsi.arpa writes: >"Unix is terrible for transaction processing and DP processing by banks and >insurance companies." >I've heard this before. Why is this so? And does putting a U**x on top >an OS that does do good transaction processing solve the problem? Would a >native Unix with a kernel optimized for TP fall down on program-development >functions? Tolerant Systems in San Jose has a Unix TP box ready to go. Based on 4.2BSD Unix and multiple National Semi 32 bit CPUs. Latest release is fully fault tolerant and provides data integretity across a set of distributed systems. The kernel is called TX (Transaction Executive) and it contains LOTS more than just 4.2. Maybe somebody at Tolerant could post some more details? <diclaimer - I used to work there and I am still holding my stock and hoping> JR. -- ...!{ucbvax,decwrl,ihnp4}!sun!jr (John M. Reed) Sun Microsystems Inc, 2550 Garcia Ave, MS5-40, Mountain View, CA, 94043 415-960-7336
law@pecnos.UUCP (Steve Law) (03/18/86)
> > I don't know why they say UNIX is bad for transaction oriented stuff, > since it you transact with 2 UNIX systems every time you make an 800 > long distance call. > > _Ron If you make an 800 long distance call, I think you transact with UNIX/RTR (its old name is DMERT) which is actually a different operating system although its root are from UNIX/RT and MERT. Steve Law --*-------*-------*-------*-------*-------*-------*-- Name: I. S. Law (Steve) UUCP: ihnp4!vax135!petsd!pecnos!law ARPA: vax135!petsd!pecnos!law@BERKELEY US Mail: MS 314B; Concurrent Computer Corp. 106 Apple St; Tinton Falls, NJ 07724 Phone: (201) 758-7280 --*-------*-------*-------*-------*-------*-------*--
latham@bsdpkh.UUCP (Ken Latham) (03/19/86)
In article <152@daisy.UUCP> wje@daisy.UUCP (William J. Earl) writes: >In article <1692@brl-smoke.ARPA> larry@jpl-vlsi.arpa writes: >>"Unix is terrible for transaction processing and DP processing by banks and >>insurance companies." >>I've heard this before. Why is this so? And does putting a U**x on top >>an OS that does do good transaction processing solve the problem? Would a >>native Unix with a kernel optimized for TP fall down on program-development >>functions? > > UNIX is not fundamentally terrible for transaction processing. Rather, >it simply lacks certain facilities which would make typical applications >efficient and easily implementable. > What is required is fast indexed record >access (as in a good database system), atomic transactions with respect the >above accesses, > and good communications support, including BISYNC and X.25. WORKING on it >A forms-control language or package would also be helpful (for handling >formatted screens). YUP >There is nothing in UNIX which prevents the >implementation of such a database system, at least on 4.2 BSD, but unless >it is added to the kernel, WRONG >it must pay a high overhead for disk accesses. The problem is that UNIX only >provides asynchronous I/O via the block cache, but a database system needs >to manage its own cache. YUP > On System V, one could use shared memory, YUP again >extra "I/O server" processes, and semaphores to provide asynchronous I/O >at user level, and again > but one would have not protection for the data, WRONG We have such a DataBase system UP and Running... We're developing IT! Ken Latham I would tell you more, but it is VERY PROPRIOTORY as yet!
george@rebel.UUCP (George M. Sipe) (03/22/86)
In article <3371@sun.uucp> jr@sun.UUCP (John Reed) writes: >In article <1692@brl-smoke.ARPA> larry@jpl-vlsi.arpa writes: >>"Unix is terrible for transaction processing and DP processing by banks and >>insurance companies." >>I've heard this before. Why is this so? And does putting a U**x on top >>an OS that does do good transaction processing solve the problem? Would a >>native Unix with a kernel optimized for TP fall down on program-development >>functions? > >Tolerant Systems in San Jose has a Unix TP box ready to go. Based on >4.2BSD Unix and multiple National Semi 32 bit CPUs. Latest release is >fully fault tolerant and provides data integretity across a set of >distributed systems. The kernel is called TX (Transaction Executive) >and it contains LOTS more than just 4.2. > >Maybe somebody at Tolerant could post some more details? Tolerant does indeed have a true transaction processing Unix. To be suitable for OLTP applications, an operating system must have high transaction processing throughput and guarantee data integrity to the user's notion of a transaction. We also believe that because of the nature of OLTP environments, the system should be highly available (all the time is nice) and expandable without disruption (through extension, while on line would do fine). TX provides those services and much more, WITHOUT sacrificing the Unix environment (which is 4.2, extended to meet the SVID). As it 'comes out of the box', Unix lacks TP features. That is not to say that it can't be an excellent base for extension. As a new TP vendor, we had the option to go proprietary or go with Unix. Having decided on Unix, we then could either (1) 'tack' on the necessary facilities as daemons with appropriate kernel hacks, (2) extend the kernel with dozens of new calls to support the environment and add utilities as required to support that, or (3) extend the kernel in such a way that the facilities are transparently present. We bit the bullet and went for door number (3). That gives us (as far as I am aware), the only TP operating system true to the Unix environment. Systems implemented via approaches (1) and (2) are not really Unix... portability is lost and the environment is alien. Additionally, both are frequently rich in limitations such as restricting the application to a single database access method while at the same time requiring its use, restricting the scope of application design to simple customer / server pairs (vs. TX where customer processes connect via IPC to multiple servers who in turn may further connect to multiple servers - all maintained transparently as a single transaction). Approach (1) further suffers from poor performance. Unix when implemented in conjunction with something else is ineffective for varying reasons. If it is a virtual machine or parallel OS approach you will still have most of the same problems that are present in native ports (for TP processing, at least on the Unix side). This is about the same as having two different systems - and about as useful. Unix implemented as an emulator on top of some other proprietary OS characteristically suffers from performance problems and incompatible side effects. (I know one major TP vendor who is pleased to have cut the fork() time in half in their latest release - it's now only 2,000 ms.) Experienced Unix users find this unacceptable (inexperienced Unix users don't know any better :). In fairness to the net, I won't detail the features of TX here. If you are interested in learning more send me you name, address, and phone number. I'll have our marketing department send you appropriate literature. If you have specific comments or questions, I'd be happy to reply or answer. Disclaimer: I am an employee of Tolerant Systems. My views must be biased. -- UUCP: ...akgua!rebel!george ...{hplabs,ihnp4,seismo}!gatech!{akgua}!rebel!george Phone: (404) 662-1533 Snail: Tolerant Systems, 6961 Peachtree Industrial, Norcross, GA 30071