Symbolics

From Wikipedia, the free encyclopedia

A screenshot of the sophisticated debugger on a Symbolics MacIvory machine.
A screenshot of the sophisticated debugger on a Symbolics MacIvory machine.

Symbolics is a privately held company that acquired the assets of the now-defunct computer manufacturer Symbolics, Inc. and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.

Contents

[edit] History

Symbolics, Inc.[1] was a computer manufacturer headquartered in Cambridge, Massachusetts and later in Concord, Massachusetts, with manufacturing facilities in Chatsworth, California (a suburb of Los Angeles). Its first CEO, chairman, and founder was Russell Noftsker[2]. Symbolics designed and manufactured a line of Lisp machines, single-user computers optimized to run the Lisp programming language. Symbolics also made significant advances in software technology, and offered one of the premier software development environments of the 1980s and 1990s, now sold commercially as Open Genera for Tru64 UNIX on the HP Alpha. The Lisp Machine was the first commercially available "workstation" (although that word had not yet been coined).

Back in 1985, the company contracted for the communications services of Tom Kiely's Business to Business Group of the BBDO Advertising Agency, based at 383-385 Madison Avenue in New York City[citation needed].

Symbolics was a spinoff from the MIT AI Lab, one of two companies to be founded by AI Lab staffers and associated hackers for the purpose of manufacturing Lisp machines. The other was Lisp Machines, Inc., although Symbolics attracted most of the hackers, and more funding.

Symbolics' initial product, the LM-2, was a repackaged version of the MIT CADR Lisp machine design. The operating system and software development environment, over 500,000 lines, was written in Lisp from the microcode up, based on MIT's Lisp Machine Lisp.

The software bundle was later renamed ZetaLisp, to distinguish the Symbolics' product from other vendors who had also licensed the MIT software. Symbolics' Zmacs text editor, a variant of Emacs, was implemented in a text-processing package named "ZWEI", an acronym for "Zwei was Eine initially" — "Eine" being an acronym for "Eine Is Not Emacs" (both recursive acronyms and puns on the German words for "One" ("Eins", "Eine") and "Two" ("Zwei")).

The Lisp Machine system software was then copyrighted by MIT, and was licensed to Symbolics. Until 1981, they shared all the source code with MIT and kept it on an MIT server. According to a Symbolics employee, the reason for the change in policy was Richard Stallman's making changes with which they disagreed, such as removing Symbolics' copyright notices on Symbolics' produced enhancements and transferring the resulting enhancements to the other commercial licensees, and at one point leaving the software in a state where it would not compile. Richard Stallman's account claims Symbolics engaged in a business tactic in which it forced MIT to make all fixes and improvements to the Lisp Machine OS available only to it, and thereby choke off its competitor LMI, which at that time had insufficient resources to independently maintain or develop the OS and environment.[1]

Symbolics felt that they no longer had sufficient control over their product. At that point, Symbolics began using their own copy of the software, located on their company servers — while Stallman says that Symbolics did that to prevent its Lisp improvements from flowing to Lisp Machines, Inc. From that base, Symbolics made extensive improvements to every part of the software, and continued to deliver almost all the source code to their customers (including MIT). However, the policy prohibited MIT staff from distributing the Symbolics version of the software to others. With the end of open collaboration came the end of the MIT hacker community. As a reaction to this, Stallman initiated the GNU project to make a new community. Stallman may have been aided in this decision by having been removed from the AI Lab for Copyright law violations. Eventually, Copyleft and the GNU General Public License would ensure that a hacker's software could remain free software, at the cost of removing the freedom of hackers to combine software to produce derivative works under less-restrictive licenses. In this way Symbolics played a key, albeit adversarial, role in instigating the free software movement.

[edit] The 3600 Series

A view of running processes in a Symbolics machine
A view of running processes in a Symbolics machine

In 1983, a year after they were intended, Symbolics introduced the 3600 family of Lisp machines. Code-named the "L-machine" internally, the 3600 family was an innovative new design, inspired by the CADR architecture but sharing few of its implementation details. The main processor had a 36 bit word (divided up as 4 or 8 bits of tags, and 32 bits of data or 28 bits of memory address). Memory words were 44 bits, the additional 8 bits being used for error-correcting code (ECC). The instruction set was that of a stack machine. The 3600 architecture provided 4,096 hardware registers, of which half were used as a cache for the top of the control stack; the rest were used by the microcode and time-critical routines of the operating system and Lisp run-time environment. Hardware support was provided for virtual memory, which was common for machines in its class, and for garbage collection, which was unique.

The original 3600 processor was a microprogrammed design like the CADR, and was built on several large circuit boards from standard TTL integrated circuits, both features being common for commercial computers in its class at the time. CPU clock speed varied depending on the particular instruction being executed, but was typically around 5 MHz. Many Lisp primitives could be executed in a single clock cycle. Disk I/O was handled by multitasking at the microcode level. A 68000 processor (known as the "Front-End Processor", or FEP) started the main computer up, and handled the slower peripherals during normal operation. An Ethernet interface was standard equipment, replacing the Chaosnet interface of the LM-2.

Symbolics 3640
Symbolics 3640

The 3600 was roughly the size of a household refrigerator. This was partly due to the size of the processor - the cards were widely spaced to allow wire-wrap prototype cards to fit without interference - and partly due to the limitations of the disk drive technology in the early 1980s. At the 3600's introduction, the smallest disk drive that could support the ZetaLisp software was 14 inches (356 mm) across (most 3600s shipped with the Fujitsu Eagle). The 3670 and 3675 were slightly shorter in height, but were essentially the same machine packed a little tighter. The advent of 8 inch (203 mm), and later 5¼ inch (133 mm), disk drives that could hold hundreds of megabytes led to the introduction of the 3640 and 3645, which were roughly the size of a two-drawer file cabinet.

Later versions of the 3600 architecture were implemented on custom integrated circuits, reducing the 5 cards of the original processor design to 2, at a large manufacturing cost savings but with performance slightly better than the old design. The 3650, first of the "G machines" (as they were known within the company), was housed in a cabinet derived from the 3640s. Denser memory and smaller disk drives enabled the introduction of the 3620, about the size of a modern full-size tower PC. The 3630 was a "fat 3620" with room for more memory and video interface cards. The 3610 was a lower priced variant of the 3620, essentially identical in every way except that it was licensed for application deployment rather than general development.

The various models of the 3600 family were popular for AI research and commercial applications throughout the 1980s. The AI commercialization boom of the 1980s led directly to Symbolics' success during the decade. Symbolics computers were widely believed to be the best platform available for developing AI software.

Also contributing to the 3600 series' success was a line of bit-mapped graphics color video interfaces, combined with extremely powerful animation software. Symbolics' Graphics Division, headquartered in Westwood, California, a stone's throw from the major Hollywood movie and TV studios, made its S-Render and S-Paint software into industry leaders in the animation business.

As well, Symbolics developed the first workstations capable of processing HDTV quality video, which enjoyed a popular following in Japan. A 3600 — with the standard black-and-white monitor — made a cameo appearance in the movie Real Genius [2] (1985). Symbolics' Graphics Division was sold to Nichimen Trading Company in the early 90s, and the S-Graphics software ported to Franz Allegro Common Lisp on SGI and PC computers running Windows NT. Today it is sold as Mirai by Izware LLC, and continues to be used in major motion pictures (most famously in New Line Cinema's Lord of the Rings), video games, and military simulations.

Symbolic's 3600 series computers were also used as the first front end "controller" computers for the Connection Machine massively parallel computers manufactured by Thinking Machines Inc., another MIT spinoff based in Cambridge, Massachusetts. The Connection Machine ran a parallel variant of Lisp and, initially, was used primarily by the AI community, so the Symbolics Lisp machine was a particularly good fit as a front-end machine.

For a long time, the operating system didn't have a name, but was finally named "Genera" around 1984. The system included a number of advanced dialects of Lisp. Its heritage was MACLISP on the PDP-10, but it included more data types, and multiple-inheritance object-oriented programming features.

Initially called Lisp Machine Lisp, then ZetaLisp, it finally acquired the name "Symbolics Common Lisp" during the creation of Common Lisp in 1987. Common Lisp is a subset of the dialect available on the Lisp Machine.

[edit] Ivory and Open Genera

A screenshot of the included help documentation in Genera being looked at with Document Examiner.
A screenshot of the included help documentation in Genera being looked at with Document Examiner.

In the late 1980s (2 years later than planned), the Ivory family of single-chip Lisp Machine processors superseded the G-Machine 3650, 3620, and 3630 systems. The Ivory 390k transistor VLSI implementation designed in Symbolics Common Lisp using NS, a custom Symbolics Hardware Design Language (HDL), addressed a 40-bit word (8 bits tag, 32 bits data/address). Since it only addressed full words and not bytes or half-words, this allowed addressing of 4 Gigawords (GW) or 16 gigabytes (GB) of memory; the increase in address space reflected the growth of programs and data as semiconductor memory and disk space became cheaper. The Ivory processor had 8 bits of ECC attached to each word, so each word fetched from external memory to the chip was actually 48 bits wide. Each Ivory instruction was 18 bits wide and two instructions plus a 2-bit CDR code and 2-bit Data Type were in each instruction word fetched from memory. Fetching two instruction words at a time from memory enhanced the Ivory's performance. Unlike the 3600's microprogrammed architecture, the Ivory instruction set was still microcoded, but was stored in a 1200 x 180 bit ROM inside the Ivory chip. The Ivory processors were fabricated by Hewlett Packard in Colorado originally in 2 µm process and later shrunk to 1.25 µm and 1 µm CMOS processes. The Ivory had a stack architecture and operated a 4 stage pipeline: Fetch, Decode, Execute and Write Back. Ivory processors were marketed in stand-alone Lisp Machines (the XL400, XL1200, and XL1201), headless Lisp Machines (NXP1000), and on add-in cards for Sun Microsystems (UX400, UX1200) and Apple Macintosh (MacIvory I, II, III) computers. The Lisp Machines with Ivory processors operated at speeds that were between two and six times faster than a 3600 depending on the model and the revision of the Ivory chip.

Ivory Machines
Model Year Description
MacIvory I 1988 Nubus Board for Apple Macintosh
XL400 1988 Workstation, VMEBus
MacIvory II 1989 Nubus Board for Apple Macintosh
UX400 1989 VMEBus Board for SUN
XL1200 1990 Workstation, VMEBus
UX1200 1990 VMEBus Board for SUN
MacIvory III 1991 Nubus Board for Apple Macintosh
XL1201 1992 Compact Workstation, VMEBus
NXP1000 1992 Headless Machine

The Ivory instruction set was later emulated in software for the DEC Alpha series of 64-bit microprocessors. The "Virtual Lisp Machine" emulator, combined with the operating system and software development environment from the XL machines, is sold as Open Genera.

[edit] Sunstone

Sunstone was a RISC-like processor that was to be released shortly after the Ivory. It was designed by Ron Lebel's group at the Symbolics Westwood office. However, the project was canceled the day it was supposed to tape out.

[edit] Endgame

Unfortunately, as quickly as the commercial AI boom of the mid 1980s had propelled Symbolics to success, the "AI Winter" of the late 1980s and early 1990s, combined with the slow down of Reagan's "Star Wars" missile defense program, for which DARPA had invested heavily in AI solutions, severely damaged Symbolics. An internal war between Noftsker and the CEO the board had hired in 1986, Brian Sear, over whether to follow Sun's suggested lead and focus on selling their software, or to re-emphasize their superior hardware, and the ensuing lack of focus when both Noftsker and Sear were fired from the company caused sales to plummet. This fact, combined with some ill-advised real estate deals by company management during the boom years (they had entered into large long-term lease obligations in California), drove Symbolics into bankruptcy. Rapid evolution in mass-market microprocessor technology (the "PC revolution"), advances in Lisp compiler technology, and the economics of manufacturing custom microprocessors severely diminished the commercial advantages of purpose-built Lisp machines. By 1995, the Lisp machine era had ended, and with it Symbolics' hopes for success.

Symbolics still continues as an enterprise under very limited revenue, supported mainly by service contracts on the remaining MacIvory, UX-1200, UX-1201, and other machines still used by commercial customers. Symbolics also sells Virtual Lisp Machine (VLM) software for DEC, Compaq and HP Alpha workstations (Alphastation) and servers, refurbished MacIvory IIs and Symbolics keyboards.

In July 2005, Symbolics closed its Chatsworth California maintenance facility. The reclusive owner of the company, Andrew Topping, died that same year. The current legal status of Symbolics software is uncertain. [3] An assortment of Symbolics hardware was still available for purchase as of August 2007. [4]

[edit] First .com Domain

Symbolics.com[5], owned by the aforementioned corporation is largely regarded as the first (and, since it is still registered, the oldest) registered .com domain of the modern internet. [6]

  1. ^ Incorporated April 9, 1980 in Delaware by Robert P. Adams, President; Russell Noftsker, Secretary, and Andrew Egendorf, attorney.
  2. ^ Noftsker took over as President one year after incorporation.

[edit] Networking

Genera also featured the most extensive networking interoperability software seen to that point. A local area network system called Chaosnet had been invented for the Lisp Machine (predating the commercial availability of Ethernet). The Symbolics system supported Chaosnet, but also had one of the first TCP/IP implementations. It also supported DECNET and IBM's SNA network protocols. A Dialnet protocol used phone lines and modems. Genera would, using hints from its distributed "namespace" database (somewhat similar to DNS, but more comprehensive, like parts of Xerox's Grapevine), automatically select the best protocol combination to use when connecting to network service. An application program (or a user command) would only specify the name of the host and the desired service. For example, a host name and a request for "Terminal Connection" might yield a connection over TCP/IP using the TELNET protocol (although there were many other possibilities). Likewise, requesting a file operation (such as a Copy File command) might pick NFS, FTP, NFILE (the Symbolics network file access protocol), or one of several others, and it might execute the request over TCP/IP, Chaosnet, or whatever other network was most suitable.

[edit] Contributions to computer science

Symbolics' research and development staff (first at MIT, and then later at the company) produced a number of major innovations in software technology:

  • Flavors, one of the earliest object-oriented extensions to Lisp, was a message-passing object system patterned after Smalltalk, but with multiple inheritance and a number of other enhancements. The Symbolics operating system made heavy use of Flavors objects. The experience gained with Flavors led to the design of New Flavors, a short-lived successor based on generic functions rather than message passing. Many of the concepts in New Flavors formed the basis of the CLOS (Common Lisp Object System) standard.
  • Advances in garbage collection techniques by Henry Baker, David Moon and others, particularly the first commercial use of generational scavenging, allowed Symbolics computers to run large Lisp programs for months at a time.
  • Symbolics staffers Dan Weinreb, David Moon, Neal Feinberg, Kent Pitman, Scott McKay, Sonya Keene and others made significant contributions to the emerging Common Lisp language standard from the mid-1980s through the release of the ANSI Common Lisp standard in 1994.
  • Symbolics introduced one of the first commercial object-oriented databases, Statice, in 1989. The developers of Statice later went on to found Object Design, Inc. and create ObjectStore
  • Under contract from AT&T, Symbolics developed Minima, a real-time Lisp run-time environment and operating system for the Ivory processor. This was delivered in a small hardware configuration featuring lots of RAM (no disk) and dual network ports. It was used as the basis for a next-generation carrier class long-distance telephone switch.
  • The Graphics Division's Craig Reynolds devised an algorithm that simulated the flocking behavior of birds in flight. "Boids" made their first appearance at SIGGRAPH in the 1987 animated short "Stanley and Stella in: Breaking the Ice", produced by the Graphics Division. Reynolds went on to win the Scientific And Engineering Award from The Academy of Motion Picture Arts and Sciences in 1998.
  • The Symbolics Document Examiner hypertext system originally used for the Symbolics manuals- it was based on Zmacs following a design by Janet Walker, and proved influential in the evolution of hypertext.
  • Symbolics was the first '.com' commercial domain ever registered on the Internet. Symbolics, Inc. registered symbolics.com on March 15, 1985.

[edit] References

  • Clark Baker, David Chan, Jim Cherry, Alan Corry, Greg Efland, Bruce Edwards, Mark Matson, Henry Minsky, Eric Nestler, Kalman Reti, David Sarrazin, Charles Sommer, David Tan and Neil Weste. The Symbolics Ivory Processor: A 40 Bit Tagged Architecture Lisp Microprocessor. Proceedings of the IEEE International Conference on Computer Design. 1987. Pages 512-514.

[edit] External links