Tax-Free Scientific Desktop Computer

David G. Hough on validgh dgh
Sun Apr 4 21:40:08 PDT 1993


                            A B S T R A C T

Are independent scientific, engineering, and technical end users of desktop
workstations and PC's well served by conventional market forces?  An
unconventional architecture process and uncommon market mechanisms might work
better.

     Please don't distribute this document widely until it has been improved
by further review.


Context

     I recently attended SunSoft's Solaris Developers Conference.  I was
struck by several points:

*    Several speakers affirmed that Sun has outgrown its original
     scientific/technical user base and now aims, more or less, to displace
     IBM as the preferred vendor to Fortune 1000 CIO's and MIS directors world
     wide.

*    Sun's own CIO Bill Raduchel made a point of emphasizing how Sun had
     reduced system administration costs over its internal networks by
     reducing end users' freedom to configure their own systems.

*    Solaris 2.1 for (some) x86 platforms will be available in May, "bug for
     bug compatible" with Solaris 2.1 for SPARC, released a few months ago.
     Except for the fine print.

*    Motorola and SunSoft will cooperate in porting Solaris 2 to some unnamed
     PowerPC-based system.  (Operating systems are ported to specific systems,
     not to chips or instruction set architectures, such as PowerPC.)

     As a floating-point specialist I was well aware that the fine print
accompanying Solaris 2.1 for x86 mentions that at the floating-point level
there are some differences.   The SPARC SVR4 ABI defines long double as 128-
bit IEEE quadruple precision with 113 significant bits, in hopes of a future
hardware implementation, while the x86 SVR4 ABI defines long double as 80-bit
IEEE double extended precision with 64 significant bits, to correspond with
what's actually available in x87 and x86DX chips.  I suppose that PowerPC
might define long double to be MC68040 96-bit extended precision, if Apple has
its way, or to be 128-bit non-IEEE quadruple precision with 106 significant
bits, if IBM RS/6000 Fortran is followed, or perhaps might finesse the issue
by defining long double == double, as many PC compiler vendors do, even as
many of them generate code that allocates float and double variables to
extended-precision registers, without necessarily rounding to storage
precision where indicated in source-language assignments.

     The resolution of the foregoing will undoubtedly be along the lines of
"if your program depends on any of the above, it's not a good portable
program" which may be true, but bodes ill for any kind of progress beyond the
least common denominator.

Alternatives

     In light of the general trend of that conference I began to wonder what
the original Sun independent scientific/technical end-user customers were
doing.  By "independent" I mean end users who do computationally-intensive
work on their "own" workstation or PC, at work or at home, which they may or
may not actually own, who mostly run their own show - deciding which hardware
and software to buy or build or write - often administering their own systems.
(I call them John Gage customers after Sun's first salesman.)

     I suppose most of them are considering alternatives like these:

*    Going with the SunSoft program - upgrading to Solaris 2, dealing with
     compiler licensing, rewriting shell scripts and Makefiles as necessary,
     recompiling their applications, finding alternatives for any third-party
     software they used to use but isn't available - taking the computational
     performance they can get.

*    Going for a familiar operating system - like SunOS 4.1.3 - with a lot of
     expensive third-party software available - but compute-bound hardware
     performance that's less than league-leading.

*    Going for computational performance - enduring HP-UX, AIX, IRIX, or
     whatever runs on ALPHA.

*    Going for price-performance - buying clone PC hardware like 66 MHz 486DX2
     32-bit-bus systems, enduring their own system integration and various
     unfamiliar or unpleasant operating systems in order to get the benefits
     of a wide variety of hardware and software sold with epsilonic profit
     margins.  Sometimes epsilonic design margins, too.

*    Going for user interface - deciding that Quadra Macs have adequate
     performance to justify the premium price for hardware and software,
     compared to PC's.

     Obviously, "all of the above" are going on to some extent.  I wonder what
would be ideal.

Ideal Attributes of a Scientific/Engineering Desktop System

     I propose the following attributes of an ideal desktop system for
scientific, engineering, and other compute-bound users.  I don't claim that
they are free of conflict:

Scalable Performance
     This implies a RISC Instruction Set Architecture (ISA - not to be
     confused with the ISA PC bus) with support for one to four or so
     processors in one desktop system.

No Taxes
     There should be no "intellectual property" fees payable to anybody to
     reproduce the minimal system: all hardware and software interfaces
     (instruction set, CPU, motherboard, I/O, operating system, calling
     sequences, window system, etc.) should be re-implementable in a clean
     room environment from a published spec without incurring any financial
     obligation to the interface inventors.  Ideally, one adequate usable
     implementation of each such interface would be available for the cost of
     reproduction.    That insures that anybody, anywhere in the world, is
     free to re-implement any interface, test it against a public
     implementation,  and give away or resell his implementation as he sees
     fit.  Making the minimum system as cheap as possible, consistent with
     scalable performance, maximizes its chances of being adopted widely in
     universities and developing countries, with consequent benefits of volume
     and user training.

Leverage Knowledge
     Many existing scientific users know how to run SunOS 4.1.3, or more
     generally BSD-derived Unix.   So the ideal underlying operating system
     should look as much like these as possible, downward to the hardware and
     device driver writer, and upward to the scientific programmer, system
     administrator, and application user - usually one and the same in the
     environment I have in mind.  Since SunOS is not available for this
     purpose, I would expect that BSD 4.4, if totally free of licensing
     restrictions, would be the closest match.

Leverage Cheap Software
     Ideally, much existing cheap (by Unix workstation standards) MS-DOS,
     Windows 3.1, and (to a lesser extent) Macintosh application software
     should be able to run unchanged with high efficiency.   So some attention
     should be devoted to system design features that promote this.  It's
     important to understand the difference between scientific and commercial
     users in this respect - whereas commercial end users typically run
     software written by somebody else, scientists typically own or have
     access to the source code of their most important applications, so they
     can readily recompile for a new platform.  But to better leverage their
     time, even scientists would benefit by being able to run common "PC"
     applications that they've already learned and paid for.

Leverage Cheap Hardware
     Ideally, much existing cheap (by Unix workstation standards) peripheral
     hardware for x86-based PC's should be able to be used.

Components of a Scientific Desktop System

     Starting with the foregoing desiderata, the steps to defining the system
are something like these:

Instruction Set Architecture
     Ideally one would adapt an existing RISC architecture if a tax-free one
     could be found.   IEEE 1754 defines a presumably free architecture based
     on SPARC V8, but there might be other choices that could be freed.  There
     are some things one might want to change in any existing architecture -
     getting rid of features that made sense ten years ago but are problematic
     now except for backward compatibility: these may include single condition
     codes, single multiplier extension registers, single floating-point
     mode/status registers, register windows, etc.   I doubt scientific users
     care much about backward compatibility of RISC architectures since they
     often can recompile,  but backward compatibility with PC's is potentially
     more significant.   For instance, little endian/big endian addressing,
     efficiency of 8/16/32/64 bit addressing, whether to provide higher than
     double precision via x86 extended, IEEE quad, doubled-IEEE-double, or not
     at all, and floating-point and other exception handling, are interesting
     issues.  Arguing against innovation is volume: if an existing
     architecture can be used, its volume may lead to better performance than
     an inherently simpler but low-volume design.   An innovative design that
     produced implementations attractive to the embedded systems market might
     obtain all the volume it needs, however.

Initial CPU Design
     If a new ISA were defined, it would ideally be implementable in a
     familiar process, perhaps as a university project.   There is more to a
     CPU chip than a user-mode instruction set - cache, memory mapping,
     multiprocessor support, supervisor mode instructions, etc., all have to
     be considered.

Minimum System Specification - Mother Board Design
     There is more to the basic system than a CPU chip - things to be
     considered include internal memory bus, external I/O bus and support for
     devices like mouse, keyboard, networking, varieties of supported frame
     buffers, audio, video, etc.  Existing cheap solutions should be used
     where possible without incurring taxes or impacting future performance
     scalability - the optimal solution is some tradeoff between existing
     workstation designs and PC's.   What will the preferred software
     distribution scheme be?  Whether CDROM, floppy, or tape, it should be
     supported in the minimal system design.

Operating System
     The tax-free operating system needs to be selected and ported - another
     academic project?  There's a mountain of work that might be incorporated
     into an underlying operating system, including all the FSF Unix commands,
     X, Ghostscript, etc.  GCC and F2C provide adequate C, C++, and Fortran
     implementations for the time being. SunPro is developing a freed
     /usr/lib/libm.a implementation.

Leveraging PC software
     Dynamically-linked software, which includes many Windows and Macintosh
     applications, is not too tough, technically speaking, to work-alike in
     alien operating systems, depending on where most of the time is going.
     SunSoft has announced a WABI future feature for running Windows
     applications.  It emulates Windows system library calls efficiently with
     native code but requires emulation of the application's actual object
     code (although that can be attacked by dynamic recompilation into native
     code... if you can solve or ignore the extended precision problem).
     There are similar proprietary solutions for running Macintosh
     applications on Solaris.  A different approach is an emulator - SoftPC is
     one, and there are Macintosh emulators of similar intent.  Producing
     freed emulators and WABIs might be an interested academic project
     although there could be legal problems if intellectual property laws are
     held to apply to clean-room re-implementations of published interfaces.
     Support the League for Programming Freedom's efforts to do something
     about that!

Is this a good idea - if so, what's next?

     There is a new mailing list: scientific-interestavalidgh.com for
discussion of these ideas.  If you are interested, send your comments there.
I will change the name to a better one as soon as I hear or think of a better
suggestion (is taxfreeavalidgh.com better?).  It's starting off unmoderated,
and I hope to keep it that way.

     To get on/off the list, send mail to scientific-interest-
requestavalidgh.com.

     Please bring this mailing list to the attention of specific suitable
persons, without broadcasting to any wide-interest mailing lists and
newsgroups beyond numeric-interest.  A suitable person is one who has the
interest, experience, and ability to contribute to one of more of the
component definitions outlined above.  This particularly includes end users,
although implementors are not excluded since unimplementable definitions
aren't worth much.

     If enough local (Bay Area) people are interested, I will organize a
meeting to discuss further action.

     If the results of that meeting are positive, it might lead to a series of
meetings, like standardization meetings but without the bureaucracy, devoted
to each aspect of the problem (ISA, chip, system, OS, emulation/WABI).  I
would hope interested parties world-wide would be able to contribute via e-
mail, but I do hope that in-person meetings would be restricted to the Bay
Area.   In my opinion that works far better than typical peripatetic standards
activities.

     I don't have any expertise in most aspects of system design aside from
recognizing that there are many hard problems and tradeoffs, so I would not be
the technical leader of any of these activities.   Persons interested in
working in each area would, I hope, select from among themselves an
organizational chair and a technical leader who would be responsible for the
integrity of that part of the specification.  My best contribution to the work
of smarter people has often been to write it down for them, and so I might act
as recording secretary for part of this effort.

Default Disclaimer

     The following disclaimer applies to all e-mail submitted to scientific-
interestavalidgh.com, and to any statements at any public meetings that may
follow:

*    This is my personal opinion of what would be best for independent
     scientific, engineering, and technical end-users.   No inference should
     be drawn that my opinions reflect those of any other person or
     organization, particularly employers, employees, clients, friends,
     family, or neighbors.

     Since the foregoing disclaimer is on by default, it need not be repeated
again.   If needed, I will set up another alias to /dev/null for other kinds
of statements that people feel compelled to submit.

Acknowledgements

     Many colleagues, senior managers, and marketing scientists, at Sun and
elsewhere, contributed to the foregoing ideas, often unintentionally.

===============================================================================

Commercial Mass Market Platform Speculation

     Before it occurred to me to try to define a scientific platform by an
ad-hoc end-user-driven process akin to USENET, I tried to figure out what it
would take to create a new commercial mass market computing platform
independent of x86 and Microsoft.  The following was the result, perhaps
doomed to failure by requiring (among other things) too much boldness in
publicly held companies.

     What does it take to establish a new mass market platform?  How could one
drive such a thing to be more attractive than Windows 3.1 on x86 and more
attractive than Macintosh on IBM RISC?

     The really strategic thing to do is to discover a new market with a whole
order of magnitude more mass than the existing one.   Define a system so
useful that everybody with a regular full time job will be furnished one by
their employer, and all professionals will have an additional one at home.
This is so strategic that everybody is working on it, well aware that the odds
favor failure from being too early or too late, or having not enough hardware
to perform or too much hardware to compete on price.  Or maybe the market will
be so large that it will be many specialized markets with little hardware or
software commonality.

     A less innovative approach is to think about what it takes to compete
effectively against Windows 3.1 on commodity x86 platforms.   It seems to me
that what is required is a price advantage, a technology advantage, an ISV
advantage, and at least 90% compatibility with existing end user habits.

     The price advantage is to get rid of taxes - license fees to hardware and
software vendors.   The technology advantage is to use RISC over CISC.  The
ISV advantage is an open system - no secret private interfaces - and a
distribution channel.  The 90% compatibility advantage is to provide familiar
interfaces for familiar software.

     Sun, IBM, and DEC, among others, have most of the pieces in place, but I
doubt any will deliver, because a new mass market platform can only be
introduced by a large integrated systems company, with high performance
hardware chip and system design, implementation, and manufacturing expertise,
and complex software system implementation expertise, and adequate financial
resources to survive the early lean years and fund the inevitable legal
battles.   And IBM and DEC and Sun, among others, seem to be fragmenting into
subsidiaries which guarantee that the necessary coordination is unlikely.

     Creating a new mass market platform is very risky stuff - give up all
proprietary advantages and then implement the defined interface better than
other people.

     DEC is closest in many respects, but would they be foolhardy enough to
bet the company on winning this one, or instead would they be foolhardy enough
to let the company evaporate slowly?  Their fundamental potential advantage is
that they were pretty ruthless about freeing ALPHA from costly backward
compatibility constraints, so ALPHA should have the best performance
prospects, other things being equal - but so far they aren't.

ISA  Define the instruction set architecture to maximize scalable native RISC
     performance and (within that constraint) maximize x86 emulation.   (DEC
     actually did this, in some respects, except they didn't define an
     extended precision data type like x86's, so their x86 emulation may have
     problems deciding between correctness and performance.) Put the ISA into
     the public domain (no taxes to implement ISA).

CPU CHIP
     Define an inexpensive high-performance implementation of the ISA.  After
     it's working, put the masks and all the design and verification data and
     tools into the public domain (no taxes to become a second source).

HARDWARE SYSTEM
     Define the "minimum platform": the minimum hardware needed to solve the
     problems of 90% of the current installed base of PC users, now and in the
     next few years.   The minimum platform is the hardware that all software
     may count on being there, and includes floating-point hardware in the CPU
     chip, color monitor, frame buffer, minimum RAM and disk for adequate
     performance, keyboard design, mouse, network connections, serial/parallel
     ports, microphone/speaker, etc.  This is the hardest part, since all
     these parts cost something, even in mass market volume.  Then design and
     implement that minimum platform, and put all the circuit boards, ASIC
     logic, test tools, etc. in the public domain.  (no taxes to duplicate the
     minimum system).

SOFTWARE SYSTEM
     Define the underlying operating system and window system.    Implement
     them adequately, put the interface and implementation in the public
     domain.  No taxes here.   DEC has an advantage here over anybody based on
     Unix; it can decide what to do about OpenVMS without consulting anybody.

90% COMPATIBILITY
     Implement emulation layers for Windows 3.1, MSDOS, Macintosh, and as many
     flavors of Unix as seem useful, that run 90% of applications adequately
     and 100% of the top ten current applications. Keep it very clean and open
     but expect legal problems anyway.   Bundle the Windows and Macintosh
     emulation layers with the minimum software system.  Put the source code
     for the emulation layers in the public domain.  Every buyer of the
     minimum platform can count on being able to run his existing software,
     with no additional taxes.

KEY APPLICATIONS
     Bundle three key personal productivity applications and a deskset
     metaphor for the native environment.   They should provide the 90% subset
     of functionality of the real ISV products, re-implemented in a clean room
     environment, and sources in the public domain.   Make it clear to ISV's
     that these first three are it; there won't be any more competition from
     the integrated system vendor.

HARDWARE CHANNEL
     Create an arms-length subsidiary to provide DELL-like 1-800 channel for
     new platform products from any vendor.   Far East Inc. doesn't have to
     set up distribution for their competitive implementations, because the
     independent subsidiary does it for them.   Only normal distribution
     markup, no special taxes.

SOFTWARE CHANNEL
     CDROMS containing all new platform software products.  Distributed
     through Tower Records once a quarter at retail CD prices.  End users call
     ISV's for licenses.   ISV's only have to get on the CD and set up a 1-800
     number.

SERVICE
     Create an arms-length subsidiary to provide  1-900 service for any new
     platform hardware or software.   ISV's can take their own calls or rely
     on training the subsidiary's people.

     How is money made when everything is given away?  The money EVENTUALLY
comes from upward-compatible servers and other high-performance
implementations, for hardware and software targeted for the other 10% of
users, from a premium paid for doing all the little things better - if all the
little things ARE done better.  After the initial releases have met their
goals of attaining volume momentum against the competition, then the original
integrated system company may well planetize into separate profit centers that
add value to the publicly available base.

     The key points are: a new mass market computer has been created which is
completely open.  Every aspect is readily available for study in every
university and garage worldwide.   The entry point for hardware manufacturers
and ISV's is as low as possible.  If successful, a potent constituency of
hardware and software vendors worldwide will provide political support against
possible legal responses from Microsoft, Apple, Intel, etc.   Once the cat is
out of the bag, though, further legal action may well be pointless.

     How is future evolution of the new platform controlled?  By the users.
The integrated system company can't control it if it becomes popular.  Have to
keep flexible!  And giving away one's basic technology is hard on the ego.
Competing in REALLY standard, REALLY open systems is a very hard sell, to
executives, employees, and investors.   Unix became available in a way that
had not been fully thought through by ATT's executives, employees, and
investors.   Essentially free to Universities, a market of knowledgeable Unix
and C programmers came into creation in a way that ATT could never have
achieved intentionally.

     Who needs a new mass market PC-like platform, anyway?  Maybe nobody.  The
mass market of people who use computers and don't like them, still won't,
although perhaps less intensely.  Generating bug workarounds and clever
optimizations for the x86 and its successors, all similar but slightly
different, and for Windows 3.1 and NT and their successors, will keep a lot of
people busy for a long time.  And sooner or later somebody will find the right
combination to unlock the un-PC-like ultra-mass-market information appliances
mentioned at the beginning.  Meanwhile, at the high end, after everybody
realizes that half a dozen performance-oriented RISC architectures is more
than that market can support, things will boil down to two or three platforms
catering to the people whose problems scale with the hardware, and the
supercomputer business will move along much as it does today, except the
supercomputers will be mostly on desktops instead of in computer rooms.




More information about the Numeric-interest mailing list