Friday, June 26, 2026

RAND and SAGE 1964

The introduction of timesharing on the UT Austin CDC 6600 in 1967, soon after its arrival in 1966, was a student-led initiative that fundamentally changed how the university's computers were used. Instead of originating from faculty or administration, the push for timesharing came from three graduate students, including Forest Baskett, who would eventually run day-to-day aspects of the UTCC systems programming staff. Frustrated by the CDC 6600's primitive batch operating system, the students proposed replacing it with a timesharing system that utilized online terminals. They took their idea to Jim Browne, an early computer science faculty member, who supported the project and got the Computation Center's approval. [1][2]

Baskett drew inspiration from a summer job in 1964 at the System Development Corporation. Spun off from RAND Santa Monica in 1956 to handle the unprecedented software demands of the SAGE project, SDC is widely considered the world's first independent computer software company. The SDC facility originally required an air-conditioning system powerful enough to cool 20,000 homes to offset the heat generated by its early vacuum-tube systems. In this environment, operators monitored radar scopes in dimly lit rooms, surrounded by massive walls of neon bulbs displaying the state of the machine's logic gates. This summer job was while Baskett was an undergrad at Rice University in Houston and already involved with interesting computer research. He was working for a chemistry professor, running simulations of the molecules in a gas and making movies of the results. They had a cathode ray tube with a 16-millimeter film camera attached to it. It could put dots on the screen, take a picture, clear the screen, and advance the film by one click. During this period in the early sixties, Baskett was fortunate enough to experience the SAGE system at SDC.

SAGE, initially designed in the fifties as a military command-and-control system for Soviet bomber defense, featured pioneering real-time processing and early timesharing capabilities. The machine Baskett interacted with specifically was the AN/FSQ-32, commonly referred to as the Q-32, a transistorized prototype that succeeded the massive, vacuum-tube-based machines originally built for the SAGE air-defense network. The Q-32 occupies a unique and somewhat ironic place in computing history. Its cancellation as a military asset is exactly what allowed it to become a pioneering testbed for modern interactive computing.

The Q-32 was originally commissioned by the Air Defense Command to solve the glaring vulnerability of the massive, above-ground AN/FSQ-7 SAGE blockhouses. It was designed to be installed in hardened, underground nuclear bunkers capable of withstanding 200 psi of blast overpressure, called Super Combat Centers. By 1960 the Department of Defense realized that the rapidly increasing yields of Soviet nuclear weapons and the shift toward Intercontinental Ballistic Missiles rendered even these underground bunkers vulnerable. As a result, the Super Combat Center program was cancelled, and the Q-32's military career was terminated before series production could begin, leaving the single completed prototype at the SDC headquarters in Santa Monica.

Because it was no longer needed for active air defense, the Advanced Research Projects Agency, under the guidance of Joseph Licklider, repurposed the Q-32 prototype to research multi-user interactive computing. SDC engineers built the Time-Sharing System for the machine, which achieved its fluid, conversational terminal interactions by utilizing a round-robin scheduling algorithm. The system rapidly swapped active user programs between the machine's 65,000-word core memory and high-speed magnetic drums, allowing it to support upwards of 30 simultaneous users via remote terminals routed through a PDP-1 interface. 

This was the specific architecture that allowed Baskett to sit at a terminal and interact with the machine. It demonstrated that a computer could be an immediate, conversational medium for mathematical exploration. Given the unstructured nature of his summer job, Baskett used the time to teach himself John McCarthy’s Lisp from a textbook and wrote a custom Lisp interpreter directly on the SAGE machine. This hands-on experience became his mental model for how computing should ideally operate when he later encountered the CDC 6600's restrictive, punch-card-based SCOPE batch system. The Q-32's influence extended far beyond Baskett's individual career. In October 1965, the Q-32 in Santa Monica was directly linked via a dedicated dial-up telephone line to the TX-2 computer at MIT's Lincoln Laboratory. This connection marked the first successful transcontinental exchange of data between two independent operating systems, successfully proving the viability of wide-area distributed computing and serving as a direct precursor to the ARPANET. [3]

Understanding this context highlights exactly why Baskett found UT's CDC 6600 so frustrating just a few years later. While the Q-32 at SDC was designed for real-time command, control, and multi-user interaction, the CDC 6600 was engineered purely for maximum scalar floating-point performance. The manufacturer-supplied SCOPE operating system was strictly batch-oriented to keep the central processor constantly fed with scientific simulations. When Baskett and his fellow graduate students proposed building a timesharing system, they were essentially attempting to graft the interactive, user-friendly philosophy he had experienced at SDC onto the raw, unyielding computational power of a machine designed solely to crunch numbers. The students' frustration with the SCOPE system was entirely justified. SCOPE was engineered purely for batch processing, completely isolating the user from the machine. To fix even a minor bug, researchers were forced to submit physical decks of punch cards to operators and wait hours for printed results. The system enforced counterintuitive, rigid rules, such as requiring users to define their maximum runtime in octal seconds, capping execution at exactly 77777 octal seconds, or about nine hours.

When Baskett and his two fellow graduate students approached Jim Browne with their radical idea, Browne's response was enthusiastically pragmatic: "Hmm, that could be fun. Let's try". Browne's backing was the critical catalyst for the project. He had to navigate the university's administrative hierarchy to convince the Computation Center to allow a small group of students to completely replace the core software of a $5.9 million supercomputer. In addition to his work in systems software, Browne served as a Principal Investigator for the Conduit project at UT Austin, working alongside Charles Warlick and George Culp to test, evaluate, and distribute computer-based curriculum materials across different universities. Ultimately, his early experiences supporting timesharing and multi-institutional resource sharing shaped his later career, and Browne went on to become a major proponent of national high-speed computer networks. [2]

Once Browne secured the Computation Center's approval, Baskett and his team ingeniously repurposed the CDC 6600's unique hardware to solve the software bottlenecks. By programming the mainframe's ten independent Peripheral Processors to handle the input/output operations of remote interactive terminals, they freed the central processor to execute user programs in rapid, multiplexed time slices. The trust that Jim Browne and the Computation Center placed in these students yielded extraordinary results. The initial system was up and running within a year and a half, and its subsequent revisions proved so stable that it remained in active production at the university for a remarkable ten years. Browne also went on to serve as Baskett's doctoral thesis advisor, supporting his groundbreaking mathematical proofs on system scheduling and queuing theory that emerged from the project.

The primary goal of the new UT system was to make the computer easier to use, more enjoyable, and highly productive for its target audience of faculty researchers and graduate students. Through data analysis of user habits, Baskett deliberately aimed to optimize the system to minimize customer complaints. The system initially used Teletype terminals and relied on the existing compilers supplied by CDC, ensuring the operating system maintained all the interfaces that users were already accustomed to. Baskett implemented a job-scheduling method using round-robin timeslicing, similar to the one he had experienced on the SDC Q-32, keeping the time slices as small as possible while remaining consistent with system overhead. 

Tasks were kept memory-resident and managed via the 6600's base and bounds registers, which provided memory protection on a per-job basis. Because the CDC 6600 completely lacked hardware paging, segmentation, or virtual memory mapping, user programs were forced to reside in contiguous physical blocks within the central memory. The base and bounds registers provided strict per-job memory protection so users couldn't maliciously or accidentally corrupt each other's data. To effectively multiplex dozens of users with round-robin timeslicing, the system had to swap these memory blocks rapidly. The team achieved this by leveraging Extended Core Storage. When a user's time slice expired, the TAURUS scheduler initiated an extremely fast block transfer, copying the user's entire contiguous address space into ECS and immediately swapping the next active user's program into central memory.

During this period, Baskett encountered Seymour Cray and asked the legendary architect to modify the 6600 hardware so that privileged instructions in user mode would cause an exception rather than a no-op. This was essentially a plea for hardware-level virtualization. Cray’s succinct refusal "No, I don’t think so" illustrated the persistent gap between architectural vision and hardware implementation that Baskett would spend his career bridging. As he assumed leadership of the twenty-five-person systems staff at the computation center, he balanced these practical infrastructure challenges with the theoretical rigor that would define his doctoral dissertation. Between 1971 and 1982, his career exemplified a unique industrial-academic synthesis, bridging the gap between national laboratories and corporate research. He led the Demos operating system for the Cray-1 at Los Alamos National Laboratory, which was notable for its use of software-based property tags, an early precursor to modern object-oriented systems. Simultaneously, he conducted VLSI research at Xerox PARC.

The initial timesharing service, known as RESPOND, was officially initiated on the 6600 in March 1967. It proved to be an astounding success, with the system and its subsequent revisions remaining in production for a decade. RESPOND was later replaced by a more advanced system called TAURUS (Texas Anthropocentric Ubiquitous Responsive User System), which operated as an integral part of the UT-2D dual operating system, managing both the CDC 6600 and 6400. Ultimately, the UT Austin students' project was highly influential in the broader computing industry. It demonstrated the viability of timesharing on the CDC 6600, prompting both Control Data Corporation and the Lawrence Livermore National Laboratory to realize the need for such systems and launch their own competing efforts.

SAGE terminal with interactive radar display and light pen.

SAGE terminal.
SAGE AN/FSQ-7 computer. The Q-32 in Santa Monica was a follow-on transistorized version.
[1] CHM Oral History Interview with Forest Baskett 

[2] Jim Browne 

[3] By June 1963 the Time-Sharing System Model Zero was demonstrated after magnetic drums were added to the time-sharing. Each user was given a priority-based time slice, measured in milliseconds, when the user's program was written from the magnetic drums into much higher speed memory, processed, and then written back to the magnetic drums with any computational changes that had occurred. It was influenced by early experiments at Bolt, Beranek, and Newman, and the CTSS project and Project MAC at MIT. Terminals included several Teletype Model 33 ASRs. In October 1965 Lincoln Labs' used a TX-2 solid-state computer tied to the Q-32 prototype for the first telecommunication of time packets. https://en.wikipedia.org/wiki/AN/FSQ-32#Time-sharing 

No comments:

Post a Comment

Southwest Network and ARPANET

Much as it had done for timesharing and interactive real-time computing , the Q-32 in Santa Monica foreshadowed the 1977 dawning of the ARPA...