Parallel Computing Pioneers - Jack B. Dennis

Professor Emeritus of Computer Science and Engineering, Massachusetts Institute of Technology


Jack B. Dennis, renowned for his contributions in the field of computer system architecture, became interested in science at an early age when he watched his father, a mechanical engineer, pour over slide rule calculations, sketches, and diagrams for his research on liquefaction of air. The young Dennis's interests turned to electricity and electronics after reading a Westinghouse Company brochure that described basic electrical phenomena. "From there, I became an avid reader ofPopular Science magazine, which in those days had really good explanations of how things work," he says. "I collected circuit diagrams published in the magazine."

Inspired by his studies and projects in electronics, Dennis entered the Massachusetts Institute of Technology (MIT) in 1949 as an electrical engineering major. After receiving his M.S. in 1954, he began his doctoral research based on an analogy of mathematical programming problems to certain kinds of electric circuits. This led to the discovery of a duality principle for quadratic and convex mathematical programming problems. "This work extended the possibilities for efficient algorithms for these problems, which are an important class in applied operations research," says Dennis. He received his Sc.D. in 1958.

Dennis then joined the faculty of MIT's Department of Electrical Engineering and Computer Science, becoming a full professor in 1969. One of his first achievements was designing and implementing an extensive set of hardware alterations and additions to a DEC PDP-1 computer, which began operation in 1963 as one of the first interactive, time-shared systems. One novel feature of the system was the ability of a user to employ a symbolic debugging tool without the program being tested being able to disrupt the debugger. Similar features were later incorporated into the SDS 940 computer used in the Genie time-sharing system at the University of California at Berkeley, and in the design of the DEC PDP-11/45 computer, the machine that supported development of the UNIX operating system.

In 1963, Dennis joined MIT's Project MAC and was a developer of the segmentation and paging features incorporated in the General Electric model 645 computer (later the Honeywell 6180) to support the Multics time-sharing system. "This work was a step toward parallel computers embodying a universal addressing concept, which would yield a far superior ability to practice modular software construction if adopted by computer manufacturers," says Dennis. Dennis was elected a Fellow of the IEEE for his contributions to this work.

Dennis led the Computation Structures Group at MIT's Laboratory for Computer Science from 1963 through 1985, where he directed research that developed aspects of computer architecture and programming languages based on dataflow models of program representation and execution. These developments led to dataflow projects at many universities and research institutes around the world, and earned him the ACM/IEEE Eckert-Mauchly Award in 1984. During this period, Dennis supervised the doctoral research of more than 25 graduate students in topics ranging from the theory of Petri nets and the semantics of programming languages to computer system architecture and performance analysis.

Dennis retired from MIT in 1987 to devote effort to independent projects and consulting. He has since developed a processing element architecture for efficient parallel computation in numerical scientific applications, and developed the Paradigm Compiler for the Sisal programming language on the Connection Machine. Dennis was a visiting scientist at NASA's Research Institute for Advanced Computer Science from 1988 to 1989, where his work on the Paradigm compiler began, and he worked on applying these principles to the parallel implementation of signal processing algorithms for Boeing Aerospace. He is currently working to formulate the best way of expressing nondeterminate computation within a functional programming framework. This he believes will bring the advent of programmer-friendly parallel computers closer to reality.

Dennis is currently involved in Project Fresh Breeze, a collaboration of the MIT Laboratory for Computer Science, Dataflow Computer Corporation, Acorn Networks, Inc., and the Naval Research Laboratory Center for Computational Science Research. The goal of the project is to demonstrate the benefits of functional programming and multithread computer architecture for stream-based, real-time signal processing computations.

"I believe thelong-range future of parallel computation resides in the symbiotic exploitation of functional programming and multithreaded architecture"says Dennis. "This has the potential to lead to a revolution in performance and programming for high-performance scientific computing." Dennis gave his arguments for this belief in a position paper entitled, "A Parallel Program Execution Model Supporting Modular Software Construction," presented at the Massively Parallel Programming Models workshop held in London last November.

In addition to his IEEE fellowship and ACM/IEEE Eckert-Mauchly Award, Dennis was elected Fellow of the ACM in 1994 and is a member of Eta Kappa Nu, Tau Beta Pi, and Sigma Xi. Since 1987 he has been a member of Working Group 2.8 of the International Federation for Information Processing (IFIP), which promotes technical exchanges in the field of functional programming. He participated in IFIP Working Group 2.2: Formal Description of Programming Concepts from 1976 to 1987, and was co-organizer of the first ACM Symposium on Operating System Principles in 1967. He holds seven U.S. patents and is the author or co-author of more than 80 articles, papers, and technical reports.


Other Issues of PCR Back to PCR CRPC Home Page