sefunix%sefe.decnet@nwc-143b.arpa (SEFE::SEFUNIX) (05/09/87)
We are in the process of trying to obtain a supercomputer and have reached a roadblock as far as operating systems/operating system interfaces are concerned. The debate is over UNIX on a supercomputer and what are the pros and cons. The following are viewpoints from two individuals expressing their concerns over UNIX. Some of the comments tie to supercomputers and some tie to UNIX in general. To set the stage, the majority of systems in the center are DEC systems running VMS. To protect the innocent, I have replaced the participant's names with identifiers (e.g., USERA, USERB, ...). We would appreciate any constructive input that the UNIX community could provide. Your comments will help us not only with a supercomputer, but its overall introduction to the center. Sorry, if you receive this both on INFO_UNIX and UNIX_WIZARDS. ----------------------------------------------------------------------------- USERA'S DISCUSSION Last week I received a mail message from USERC about an incident on the MIL/ARPAnet that was the result of some experimenting by a UNIX user. In thinking about the incident, and speaking about it to others, it seems that we have arrived at UNIX without having subjected that selection to any rigorous evaluation. Why should we select UNIX over a hardware bidder's default operating systems? What are the risks we incur in selecting this operating system, when at this point, it is not available as the default operating system on any SUPERCOMPUTER system? Given our likely environment, (scientific computing) how well will UNIX serve us? I don't have an axe to grind. As a matter of fact, since UNIX will be the operating system on the MINISUPERCOMPUTER, and we will have over a year of UNIX support and operations under our belt when the SUPERCOMPUTER is installed, a superficial conclusion would be that UNIX makes sense for the SUPER. But this follows only from the criterion of familiarity. If, on the other hand, UNIX requires lower level support than other operating systems, we could need more people to support two UNIX systems than one UNIX and one proprietary out-of-the-box operating system, such as MVS, or COS. The point is, we haven't bothered to develop factors that speak for and against UNIX as the SUPER operating system, and contrast UNIX against proprietary operating systems in terms of these factors. Before I go any further, here is a description of the MIL/ARPAnet incident. An experienced UNIX system administrator at U.C. Berkeley, discovered that a UNIX command might enable one to write a series of characters to an unknown number of terminal screens on the MIL/ARPA net. So, he tried it, apparantly deciding against an incremental experiment. And after he had entered the command, he left his terminal and went off to do something else. When he came back, he had written his character string to 70+ terminals all over the net (including that of the Inspector General of the Network at the Pentagon), so he stopped the job. His reaction, as posted on the RISKS bulletin board was that he had found a "interesting" and "curious" problem. Further, this guy had the documentation IN HIS LAP while he was working, but the explanation, according to him, was so ambiguous that he didn't know WHAT would happen. This spoke very clearly to me about the UNIX environment vis-a- vis our own environment. The more examples I see of UNIX users finding new holes - or features, if you will - in the operating system, the more I tend to discount the opinions of those who advocate it for the large scale, operational, SUPER environment at the center. There is no one in our code who has a deep understanding of UNIX and of our user environment who is not an official advocate of UNIX. How do we get to a clear idea of what we will have to do to make UNIX fit the environment we plan to establish for the SUPER; and what this will mean in terms of support over succeeding releases. Our one expert, USERD, is an advocate. This is appropriate, given his charter, and under- standable, given his background. Everyone else, whether advocate or opponent, and that includes me, USERC, and USERD, doesn't know the first thing about UNIX. So that the debate over UNIX is not over the internals of the operating system itself, but other things. I personlly worry about UNIX from the standpoint of large scale operations. I think I see the requirement for a much lower level of operating system support than we have to furnish now. Compared to NOS or VMS, UNIX syntax is cryptic and more difficult to master, the utilities and documentation are thin to the point of transparency, and site-specific routines have to be developed, maintained, and applied to new releases. This translates into either more people or less support than we currently provide, for an operating system that is more difficult for a user to recall and use than VMS. Until DEC, IBM, CDC, or one of the other big hardware houses masters their version of UNIX and provides it as the default operating system, it's flat going to take more people to support than a proprietary operating system. What really gripes about this drive to UNIX is that it is, with the exception of USERD, led by people who do not know what our supercomputing environment will be, have never supported an operating system, and are so fixated on "trends in operating systems" (as if that meant anything at all), that they discount the opinions of those who ARE familiar with our environment. This Center has a reputation for off-the-shelf, no nonsense engineering; yet, here we are, rushing to buy a product that, on most systems, is a lightly- supported option. What IS the hurry? What ARE we going to be left out of? What's to prevent us from buying the default operating system now and migrating to our vendor's version of UNIX once it has been designated as default, and we have talked to the HOARDS of happy users? If the vendor changes operating systems, he provides a migration path. With VMS, (or NOS and MVS, for that matter) we have an O.S. that was formally developed as a commercial product, so there is some sense of it's limitations and holes, concern about it's bugs and features, and a corporate entity that is responsible for providing real support for real money. UNIX grew like topsy and is constantly being discovered by it's happy community. That's great for those who view computers as an object of study, especially if they're looking for a thesis topic. For those of us at this center that view a computer as a tool, whether user or system manager, it's a less than endearing feature. And the response I keep hearing, that UNIX can be changed on the fly to suit any need, is not reassuring. First, because it's not clear WHO will make the change(s), WHEN or HOW the changes will be maintained under each new release, or WHY we should deliberately choose an operating system that requires us to build and propagate patches for it. Second, because the idea of an O.S. that can be easily altered makes me feel uncomfortable; if it's that easy, it will be that much more difficult to troubleshoot a problem in a user's environment. Third, because it indicates to me that support for this software cannot be as deep as that offered with a default Operating System like NOS, MVS, or VMS. When it's 2:00 A.M. on Sunday and I'm trying to get the system going, I would rather not have to depend on bulletin boards for operating system support. When I really internalize the fact that there are NO UNIX super- computers outside of BETA test sites, and that accounting and archiving software will have to be written for our system immediately, I realize that much of SUPER UNIX will be resting on the shoulders of ONE new center's system programmer, and that makes me stare at the ceiling in the middle of the night. All of us in support will have to provide some operating system support on the SUPER, whether we help with FORTRAN, JCL, third party products, or try to keep the system up. That's just the way it will work out. Will we be able to sew this operating system up? Will USERD help us to write, support, and propagate our home-grown routunes to suceeding releases of the O.S. until we are old and grey(er)? ------------------------------------------------------------------------------ USERB'S DISCUSSION USERA raises some significant questions concerning the choice of UNIX for a supercomputer. How suitable is UNIX for our contemplated supercomputer operation? Is UNIX an operating system for supercomputing? What are risks are their associated with UNIX? The progress of vendors toward a production implementation of UNIX was overestimated. There is not a supercomputer under consideration that is yet running a production version of UNIX. In viewing the possible alternatives, the following list results: (1) UNIX operating system interface (IEEE 1003); (2) UNIX operating system (2) Vendor default operating systems; It may be advisable to simply reserve judgment on which operating system to select until it is seen which machine is chosen and how well their UNIX is working at that time. If UNIX is not obtained initially, it is always an option to change operating systems later as company development efforts proceed and base utilization of ASECS evolves. OS Criteria: 1. Reliability-will we have frequent crashes due to the operating system? Is there an extensive installed base through which bugs have been identified and eliminated? 2. Vendor support-will there be quick answers to any problems that may arise? Is documentation adequate? Does the vendor have adequate experience with and commitment to the operating system? 3. Completeness-will extensive local code have to be written to support routine operations? Are all necessary functions provided? What will be the effect on the systems support function? What utilities are available with a vendor's UNIX to assist system management and operation? 4. Software portability-is needed software available for the machine if this operating system is installed? How easy will it be to port desired programs from other center machines? 5. Communications-will the supercomputer talk to the other nodes in the center's network if this operating system is chosen? How readily? 6. Security-is the OS rated highly enough to allow jobs of the same classification level to run together? Is it possible to control hackers? Are files adequately protected? 7. Efficiency-how well does the supercomputer run with the operating system? Are benchmarks affected? By what percent? Do we cut into our CPU charges due to any inefficiencies? 8. Familiarity-will we have other experience with this operating system that will help us to work more readily with this machine? Will experience with this machine help us with others we will be getting? Will users experience additional difficulty due to a multiplicity of operating systems to deal with? 9. Competition-will competition be restricted through our specification of the operating system? 10. Interactive processing-does the operating system provide an adequate interactive capability? 11. Trends-is the trend of the SUPER industry toward this operating system? 12. Cost-will software costs be higher or lower with this operating system? 13. Permanence-if we select this operating system now, how easy is it to change later if our workload distribution, bad experience, or product improvements would dictate? A Rating of UNIX vs. Default Operating Systems {Strawman} 1. Reliability: OS hangups and other problems may result from a choice of UNIX at this time since its use is in such a preliminary stage. Plan on a buggy operating system that we will have to help fix! There is no question that the installed base is in the companies' own proprietary operating systems. It would be a good idea to keep an eye on the UNIX sites to monitor progress here. There are no othEr UNIX supercomputer sites from any vendor at present. 2. Vendor support: Cray is committed to support of UNICOS for the long haul. We assume they will not change their minds. The other vendors plan to offer UNIX, but there is no evidence that UNIX will be their primary focus. UNIX documentation is said to be obtained to some extent through E-mail bulletin boards because manuals are notoriously terse. 3. Completeness: UNIX is a bit sparse and the philosophy is that local additions can be easily written in C. This requires a time commitment from UNIX experts not now available at NWC - or a considerable committment from our current expert, USERD. Furthermore, implementation of new versions of the operating system could conceivably be a problem. To a great extent, utilities for system management and operation are developed by the vendor for his/her UNIX, so eveluation here is vendor specific; one generalizartion is that UNIX has fewer utilities than proprietary operating systems. It would be good to see some of the public domain utilities ported over to, say our uVAX. 4. Software portability: At this point UNIX is not the customary environment for supercomputer software development for any vendor. To the extent that the code is OS independent this is not a factor. UNIX facilitates porting to and from other UNIX machines on base including the MSCS. 5. Communications: Capabilities seem to be there for ethernet communications regardless of the operating system, with the possible exception of one Japanese company. 6. Security: "'Secure UNIX' is a contradiction in terms." COS has been utilized which provides the benefit of a precedent. Other proprietary systems provide better security than UNIX. CTSS may be superior on this score. Details here should be carefully researched, because our ability to run classified in certain ways may be restricted because of UNIX. 7. Efficiency: Since production UNIX is not available, no comparisons can yet be made! Should we blithely assume the superiority or parity of UNIX here? In terms of system management and use of staff, operating a system with furnished utilities seems to be inheriently more efficient than writing our own routines or adapting public domain products. 8. Familiarity: One of the strong arguments for UNIX is that we would be able to have a common interface to deal with at all levels of computing on the base. All proprietary systems would be unique to our supercomputer. 9. Competition: Will all vendors be able to bid a working UNIX system. Everyone has a proprietary operating system with some reasonable installed base, however. 10. Interactive processing: COS is batch only. The others would probably allow interactive processing. UNIX has a clear advantage here, although if desired CTSS could be utilized for a Cray instead. 11. Trends: There is no question that there is some substantial momentum in moving toward UNIX. Further, CRAY currently expects to discontinue enhancement of COS. Remember, though, that CRAY is only one candidate machine; and major computer vendors such as IBM, DEC, GOULD, DATA GENERAL, and CDC offer UNIX only on part of their line, and only as an option. Although there may come a day when UNIX will be standard, our enthusiasm should be tempered by memories of "PASCAL, THE STANDARD PROGRAMMING LANGUAGE FOR THE EIGHTIES" and other proposed all-purpose standards. Even if UNIX becomes standard for supercomputing, will this be soon? Lets face it, at present, using any measure you care to choose (sites?, transactions?), the prevalence of UNIX is still more rhetorical than factual. What are we willing to sacrifice to help move the world to UNIX? 12. Cost: UNIX costs are generally lower, but not by a high percentage for supercomputer needs. UNIX Risks 1. RESERVED 2. We may be restricted in our ability to do classified processing; single job may be the only mode. 3. We may end up with a buggy operating system and place a severe strain on our staff and our reputation. 4. We could end up with problems from hackers. Remember when the 50 UNIX/VAX's at Stanford were siezed by a hacker? They didn't know who it was, where he/she was, nor could they do anything about it, short of shutting down the systems. Doesn't that sound problematic to you? 5. Our machine could have reduced efficiency contributing to greater CPU charges per job and limited capacity. 6. We could end up with a need for additional systems analysts to deal with the lack of utilities, resulting in greater costs. 7. The otherwise superior choice may not yet be ready with UNIX. 8. Major software packages may be written only for the proprietary OS. 9. We could have inadequate system management resulting from inadequate utilities, inadequate documentation, and inadequate budget for system analysts. We could also end up without accounting or archiving software, or, for that matter software for backups to the 3480 disks. UNIX Benefits 1. We move toward a standard OSI at the center. (But DEC VMS is here to stay, it appears! A version is being developed for parallel and vector hardware that completely compatible. DEC should not be expected to stand still, and VMS offers some very fine features, which make it less than desirable for many codes at the center to switch away from. 2. Cray has committed to UNIX for the future for system upgrades. What about the status of other vendors. (Will this be provided for discontinued supercomputer lines?) 3. There will be some cost savings.(#$?) 4. Higher levels of portability, interactivity, and communications will be obtained. (degree?) 5. As long as satisfactory operation is provided, no OS changes will be required at a later time. 6. We will already have UNIX experience on the minisuper. --------------------------------------------------------------------------- Thanks, Gene Guglielmo sefunix@nwc-143b.arpa Naval Weapons Center China Lake, Ca. ------