M/MUMPS-4b

From VistApedia
Revision as of 20:04, 21 October 2022 by DavidWhitten (talk | contribs)
Jump to: navigation, search

From The Roots to InterSystem

https://community.intersystems.com/post/roots-intersystems

Robert Cemper · Aug 28, 2017  3m read
From The Roots to InterSystems
#Caché #InterSystems IRIS

This is a  rather personal view on the history before Caché.

It is in no sense meant to compete with the excellent books from Mike Kadow  discussed in an earlier article. We have different history and so this is meant to create a different prospective of the past.

The whole story started in 1966 at MGH (Mass.General Hospital) on a PDP-7 Ser.#103 with 8K of memory (18-bit words) [ today = 18K byte ]  as a spare system.

"Serial Number 103 - was located in the basement of the now demolished Thayer Building, currently [2014] the site of the Cox Cancer Center at MGH."

"Neil Papparlardo and Curt Marble under the guidance of Octo Barnett developed and released the initial software on this machine."  
They named it MUMPS.  (source) </pre>
http://www.soemtron.org/pdp7no103systeminfo.html

The language itself was rather close to old style Basic.
But there were remarkable improvements over other programming languages:

The big idea was to store and retrieve persistent data without the need to deal with a file system. This was an enormous step forward at that time compared to other systems where storing and reading persistent data could easily take 30%+  of your available memory and no idea if sorting, indexing, ....
No strong data types anymore or data types imposed by names (ALGOL, FORTRAN, ..) an endless source for formal errors and conversions.

Dynamic (sparse) arrays without frozen structure and pre-allocated half empty  space in memory

Indexing persistent data with variable length structured indices  (subscripts) allowing easy sorting, grouping, subgrouping,..

You may want to compare it to old code in COBOL, FORTRAN or PL/1 to estimate the dimension of that  revolution.

The new software took its way along fast moving hardware development until it reached PDP-11 and was finally known as MUMPS 4b.

  • 1978 was a remarkable year:
    InterSystems was founded by Terry Ragon
    DEC rolled out its first VAX-11 Cluster (at Carnegie Mellon ?)
    DEC completed DSM-11 (Digital Standard Mumps) :
    Besides following the rather fresh standard it had new Global Module
    that improved storage performance radically.
    It easily outperformed any other DataBase named product by magnitudes.
    The author of this Global module was a brilliant engineer with international experience: Terry Ragon.
I myself joined DEC also in 1978 as Sales and Support Engineer for DSM-11 meeting Terry at the first support training in Maynard.

DEC at that time was completely high with the new VAX-11 and the VAX-Cluster.

The new high performing DB was ignored and its power totally misunderstood.

All requests from software developers to have DSM native on VAX to take advantage of the new box were ignored.

This persistent ignorance of customer requests was the base to encourage a customer of mine to invite me:
"If they don't do it join us and we will do it !" [How often have you got the offer to write an OS like this from scratch?]
I just couldn't resist and I joined and we wrote it up from point zero on bare boned VAX-750.
The OS was named VISOS and lived as long as the supported VAX models existed.
Some time later DEC presented DSM as layered product on top of VMS. In the beginning performance was dictated by the underlying RMS and didn't reflect the gain in processing power.   It moved out of my scope and I didn't care about anymore. Years later the best on my opinion that DEC did was: They sold its unloved product DSM to InterSystems. Not too long before they were sold themselves.

When I joined InterSystems 20 years later I found in Caché again so many details I had implement myself. So I could enjoy a very warm feeling of being at home.

Caché is today far far away from all its predecessors but still source compatible. The power of Globals is still there. There might be only few constellations where you can't outperform a competing DB. 

My favorite example out of many others:
GAIA Project run by European Space Agency (ESA)

https://www.intersystems.com/de/library/library-item/european-space-agency-chooses-intersystems-cach-database-for-gaia-mission-to-map-milky-way/

This is obviously a quite personal prospective into technologic history and part of a personal story. If you have questions or feel the need to correct me you are welcome. With my location in Vienna (Austria) I always had the impression to watch decisions in Cambridge, Maynard, Boston from far far  away at the border of the Milky Way. wink

Response

Rich Taylor · Aug 29, 2017
Robert,

Great history lesson!  I have a question for you though.  As you were there at the beginning or close to it perhaps you might have some insight.  I came from a background in MultiValued databases (aka PICK, Universe, Unidata) joining InterSystems in 2008 when they were pushing Cache's ability to migrate those systems.
From the beginning I was amazed at the parallel evolution of both platforms.  In fact when I was preparing for my first interviews, having not heard of Cache before, I thought it was some derivative of PICK. Conceptually both MUMPS and PICK share a lot of commonality.  Differing in implementation of course.  I have long harbored the belief that there had to be some common heritage. 
Some white papers or other IP that influenced both.   Would you have any knowledge on the how the original developers of MUMPS arrived at the design concepts they embraced?  Does the name Don Nelson ring a bell?

Thanks again for the history.