Cover V02, I01
Article

jan93.tar


Publisher's Forum

Parallel processing and distributed computing have fascinated me for decades now. (Maybe I should have said years -- then I wouldn't be forced to confront my age.) Unfortunately, that interest has never been translated into anything very useful. As a graduate student I seriously pursued some paper designs and analysis of data flow architectures, but in the interest of expediency, based my degree on some other work. I've even tried twice, unsucessfully, since then to salvage some small part of the earlier work.

But, circumstances may finally be conspiring to give me a chance to play with at least some limited distributed computing. All of our business applications (as opposed to typesetting and graphic arts) are hosted on a single, small UNIX box. Our growing demands for peripheral support and database operations are rapidly outstripping the capabilities of this machine, but I'd really like to avoid the expense of moving up into the next performance tier. We're at that awkward size where the price/performance ratio just isn't that good.

So, we're playing with the idea of spreading our work across two cooperating hosts -- both running UNIX. The two most likely divisions seem to be:

- everything except database engine on one machine; database files and database engine on the other;

- one relatively independent section of the database on one machine, the balance of the database on the other, users split between the two, and applications duplicated on both.

I tend to lean toward the first because, with a good transaction-based database manager, it should be cleaner to implement. Moreover, since database operations have a far greater impact on response time than any other part of our load, relegating the database operations to a separate machine would guarantee that all other applications (including most simple data entry and query screens) would always have snappy response.

Unfortunately, I don't have any direct experience with distributed databases, or client-server transaction systems. And, I know that some vendors have released or are promising "distributed" UNIX operating systems. Should I pursue one of those solutions instead? Judging from our readers' comments and letters, I'm not the only one with unanswered questions in this domain.

So, this is a blatant attempt to pick your brain. If you have experience with UNIX-based distributed computing, please share your experience with me and our readers. Tell us what you've done, what were the surprises, what went well, how has it complicated (or simplified) administration tasks, what you would do different if you were to start all over.

Sincerely yours,
Robert Ward
saletter@rdpub.com (...!uunet!bdsoft!rdpub!saletter")