Peter J. Denning

From Wikipedia, the free encyclopedia

Peter Denning
(by Louis Fabian Bachrach)
Peter James Denning

(1942-01-06) January 6, 1942 (age 82)
Queens, New York City, United States
Alma materMassachusetts Institute of Technology (PhD 1968)[1]
Manhattan College (BEE 1964)
Known forVirtual memory
Working set[2]
Principle of locality
Operational Analysis
Computing Curriculum
Great Principles of Computing
(m. 1974)
AwardsSIGCSE Award for Lifetime Service to Computer Science Education (2010)
SIGCSE Award for Outstanding Contribution to Computer Science Education (1999)
Scientific career
FieldsComputer Scientist
Princeton University
Purdue University
NASA-Ames Research Center
George Mason University
Naval Postgraduate School
ThesisResource Allocation in Multiprocess Computer Systems (1968)
Doctoral advisorJack B. Dennis
Doctoral students

Peter James Denning (born January 6, 1942) is an American computer scientist and writer. He is best known for pioneering work in virtual memory, especially for inventing the working-set model for program behavior, which addressed thrashing in operating systems and became the reference standard for all memory management policies. He is also known for his works on principles of operating systems, operational analysis of queueing network systems, design and implementation of CSNET, the ACM digital library, and codifying the great principles of computing. He has written numerous influential articles and books, including an overview of fundamental computer science principles, computational thinking, and his thoughts on innovation as a set of learnable practices.

Early life and education[edit]

Denning was born January 6, 1942, in Queens, New York, and raised in Darien, Connecticut. He took an early interest in science, pursuing astronomy, botany, radio, and electronics while in grade school. At Fairfield Prep, he submitted home-designed computers to the science fair in 1958, 1959, and 1960. His second computer, which solved linear equations using pinball machine parts, won the grand prize.[3]

He attended Manhattan College for a Bachelor in EE (1964) and then MIT for a PhD (1968). At MIT he worked on Project MAC and contributed to the design of the pioneering Multics operating system. His PhD thesis, "Resource allocation in multiprocess computer systems", introduced seminal ideas in working sets, locality, thrashing, and system balance.[2]

Career and research[edit]

At Princeton University from 1968 to 1972, Denning wrote his classic book, Operating Systems Theory (1973), with E G Coffman. He collaborated with Alfred Aho and Jeffrey Ullman on optimality proofs for paging algorithms, and on a simple proof that compilers based on precedence parsing do not need to backtrack. At Purdue University (1972–1983) he supervised numerous PhD theses validating locality-based theories of memory management and extending the new mathematics of operational analysis of queueing networks. He co-founded CSNET. He became department head in 1979 and completed another book on computational models, Machines, Languages, and Computation, with Jack Dennis and Joe Qualitz.

At NASA Ames from 1983 to 1991, he founded the Research Institute for Advanced Computer Science (RIACS)[4] and turned it into one of the first centers for interdisciplinary research in computational and space science.

At George Mason University from 1991 to 2002 he headed the Computer Science Department, was an associate dean and vice provost, and founded the Center for the New Engineer. The Center was a pioneer in web-based learning. He created a design course for engineers, called Sense 21, which was the basis of his project to understand innovation as a skill. He created a course on Core of Information Technology,[5] the basis of his Great Principles of Computing project.[6]

At Naval Postgraduate School since 2002, he heads the Computer Science Department, and directs the Cebrowski Institute for Innovation and Information Superiority.[7] He chaired the faculty council.

Denning has served continuously as a volunteer in the Association for Computing Machinery (ACM) since 1967. In that time, he served as president, vice president, three board chairs, Member-at-Large, Editor of ACM Computing Surveys, and Editor of the monthly ACM Communications. He received seven ACM awards for service, technical contribution, and education. ACM presented him with a special award[8] in June 2007 recognizing 40 years of continuous service.

Denning has received 26 awards for service and technical contributions. These include one quality customer service award, three professional society fellowships, three honorary degrees, six awards for technical contribution, six for distinguished service, and seven for education.[9]

Denning's career has been a search for fundamental principles in multiple subfields of computing. He writes prolifically. From 1980 to 1982 he wrote 24 columns as ACM President, focusing on technical and political issues of the field. From 1985 to 1993 he wrote 47 columns on "The Science of Computing" for American Scientist magazine,[10] focusing on scientific principles from across the field. Beginning in 2001 he has written quarterly "IT Profession" columns[11] for Communications of the ACM, focusing on principles of value to practicing professionals.

Virtual memory[edit]

In 1970 he published a classic paper that displayed a scientific framework for virtual memory and the validating scientific evidence, putting to rest a controversy over virtual memory stability and performance.[12]

In 1966 he proposed the working set as a dynamic measure of memory demand, and explained why it functioned using the locality idea introduced by Les Belady of IBM. His working set paper[13] became a classic. It received an ACM Best paper award in 1968 and a SIGOPS Hall of Fame Award [14] in 2005.

Operating system principles[edit]

In the early 1970s he collaborated with Ed Coffman Jr., on Operating Systems Theory, which became a classic textbook used in graduate courses and stayed in print until 1995. That book helped to erase doubts that the OS field could be approached as a science.

In the middle 1970s he collaborated with Jeffrey Buzen on operational analysis, extending Buzen's basic operational laws to deal with all queueing networks. The operational framework explained why computer performance models work so well, even though violating the traditional stochastic Markovian assumptions. It has become the preferred method for teaching performance prediction in computing courses.

In the early 1980s, he was one of the four founding principal investigators of the Computer Science Network (CSNET), sponsored by the National Science Foundation The other three were Dave Farber, Larry Landweber, and Tony Hearn. They led the development of a fully self-supporting CS community network that by 1986 included 165 sites and 50,000 users. CSNET was the key transitional stepping stone from the original ARPANET to the NSFNET and then the Internet.[15] In 2009, the Internet Society awarded CSNET its prestigious Jon Postel award, recognizing its key role in bridging from the ARPANET to NSFNET.

Denning led the ACM Digital Library project 1992-97, which went live in 1997. The Association for Computing Machinery became the first professional society to offer a fully searchable library of everything it ever published.[16]

Great Principles of Computing[edit]

In 1999, Denning expanded the search for fundamental principles to cover all of computing. The discovery of natural information processes in biology, physics, economics, materials, and other fields convinced him that the basic definitions of computation had to be modified to encompass natural information processes as well as artificial. He and his team have produced a draft framework.[17]

The Great Principles framework revealed that "innovating" is a core practice of computing. Unable to find anyone who understood how to teach the skill of innovating, he joined with Bob Dunham and identified eight foundational practices of innovation.[18] In 2011, they published The Innovator's Way, a book laying the eight essential practices of successful innovation.[19]

In 2015, he and Craig H. Martell co-authored Great Principles of Computing, a slim volume which summarizes computer science principles which are fundamental to all technologies, in a form accessible to computer science students as well as those seeking a readable overview of the field.[20]

In 2019, he and Matti Tedre published Computational Thinking as part of the "MIT Press Essential Knowledge" series of concise books, providing an overview of what computational thinking is, and its applications in scientific thought and investigation.[21]

Computing education[edit]

Denning has been a major influence in computing education. In the early 1970s he led a task force that designed the first core course on operating systems (OS) principles. OS became the first CS core course which was not focused on pure mathematical theory, though it still used math freely as needed. In the mid-1980s he led a joint ACM/IEEE committee that described computing as a discipline with nine core functional areas and three cognitive processes, the basis of ACM Curriculum 1991. In the 1990s, he set out on a quest to codify the great principles of computing.

Denning maintains that computing is a science both of natural and artificial information processes. NSF designated him a Distinguished Education Fellow[22] in 2007 to launch a movement to use the Great Principles framework for innovations in education and research. In 2009, ACM's SIGCSE (Special Interest Group on Computer Science Education) recognized his contributions with its lifetime service award.[23]


Denning is an inveterate punster who frequently uses humor to get points across. Examples: [24][25]


  • Computation is the principle; the computer is the tool.
  • All speech is free. It's just the consequences that get you.
  • A request is not in the words you speak. It is in the listening of those who hear you.
  • Those who have devoted many years trying to make computers behave like brains have succeeded mainly in cultivating brains that think like computers![27]
  • Locality is a principle of nature. Caching works because our brains organize information by localities.
  • Innovation is not brilliant new ideas; it is new practice adopted by a community.
  • Solidarity, not software, generates collaboration.


Denning is the author or editor of 340 technical papers and eleven books.[28] Books, a selection:

  • 1973, with Ed Coffman. Operating Systems Theory. Prentice-Hall.
  • 1978, with Jack Dennis and Joe Qualitz. Machines, Languages, and Computation. Prentice-Hall.
  • 1997, with Bob Metcalfe (eds.) Beyond Calculation: The Next 50 Years of Computing. Copernicus Books.
  • 2001. The Invisible Future: The Seamless Integration of Technology in Everyday Life. McGraw-Hill.
  • 2010. The Innovator's Way: Essential Practices for Successful Innovation. MIT Press.
  • 2015. Great Principles of Computing. MIT Press.
  • 2019, with Matti Tedre. Computational Thinking. MIT Press.

Articles, a selection:

  • 1968. "The Working Set Model for Program Behavior". ACM Communications (May).[29]
  • 1970. "Virtual memory." ACM Computing Surveys (September).[12]
  • 1970. "Thrashing: Its Causes and Prevention".[30]
  • 1976. "Fault tolerant operating systems". ACM Computing Surveys (December)[31]
  • 1978. with Jeff Buzen. "Operational Analysis of Queueing Network Models." ACM Computing Surveys (September).[32]
  • 1980. "Working sets past and present". From IEEE Transactions Software Engineering, January 1980.[33]
  • 1984, with Robert Brown. "Operating Systems". Scientific American issue on software.
  • 1990, with Walter Tichy. "Highly parallel computation". Science magazine, November.
  • 1992. "Educating a new engineer". ACM Communications (December).[34]
  • 2006. "The Locality Principle". Chapter in Communication Networks and Systems (J Barria, Ed.). Imperial College Press.[35]
  • 2007. "Computing is a natural science." ACM Communications (July).[36]
  • 2009, with Peter Freeman. "Computing's Paradigm". ACM Communications (December).[37]
  • 2010, with Fernando Flores and Peter Luzmore. "Orchestrating Coordination in Pluralistic Networks". ACM Communications (March).[38]

Personal life[edit]

He married Dorothy E. Denning in 1974, a noted computer security expert.


  1. ^ "NPS vita for Peter J. Denning".
  2. ^ a b Denning, Peter J. (February 2, 2021). "Working Set Analytics". ACM Computing Surveys. 53 (6). Association for Computing Machinery (ACM): 1–36. doi:10.1145/3399709. ISSN 0360-0300. S2CID 231791285.
  3. ^ Peter J. Denning - ACM 40 Years 2007. (1959-04-12). Retrieved on 2014-02-21.
  4. ^ "RIACS". Archived from the original on February 9, 2017. Retrieved May 4, 2020.
  5. ^ Core of Information Technology Archived January 8, 2008, at the Wayback Machine
  6. ^ Great Principles of Computing
  7. ^ Cebrowski Institute for Innovation and Information Superiority
  8. ^ special award
  9. ^ complete list.
  10. ^ American Scientist magazine
  11. ^ "IT Profession" columns
  12. ^ a b Denning, P. J. (1970). "Virtual Memory". ACM Computing Surveys. 2 (3): 153–189. doi:10.1145/356571.356573. S2CID 4474893.
  13. ^ Denning, P. J. (1968). "The working set model for program behavior". Communications of the ACM. 11 (5): 323–333. doi:10.1145/363095.363141. S2CID 207669410. working set paper]
  14. ^ "SIGOPS Hall of Fame Award". Archived from the original on April 15, 2017. Retrieved February 5, 2008.
  15. ^ "The Internet - From Modest Beginnings". Archived from the original on October 7, 2016.
  16. ^ Denning, P. J.; Rous, B. (1995). "The ACM electronic publishing plan". Communications of the ACM. 38 (4): 97–109. doi:10.1145/205323.205348. S2CID 20725285. ACM Electronic Publishing Plan
  17. ^ draft framework
  18. ^ Denning, P. J.; Dunham, R. (2006). "Innovation as language action" (PDF). Communications of the ACM. 49 (5): 47. doi:10.1145/1125944.1125974. hdl:10945/35506. S2CID 15179720. eight foundational practices of innovation
  19. ^ "The Innovator's Way". MIT Press. Retrieved May 20, 2023.
  20. ^ "Great Principles of Computing". MIT Press. Retrieved May 20, 2023.
  21. ^ "Computational Thinking". MIT Press. Retrieved May 20, 2023.
  22. ^ Distinguished Education Fellow
  23. ^ SIGCSE Lifetime Service Award
  24. ^ Denning, P. J. (1981). "ACM president's letter: A pasquinade of Peccant predictions". Communications of the ACM. 24 (12): 793–794. doi:10.1145/358800.358801. S2CID 7302785. A Pasquinade of Peccant Predictions
  25. ^ Denning, P. J. (1982). "ACM president's letter: Computer-based predictive writing". Communications of the ACM. 25 (5): 315–316. doi:10.1145/358506.358510. S2CID 40157656. Predictive Writing by Computer
  26. ^ "Operational Analysis". In Computer System Performance Modeling in Perspective (E. Gelenbe, Ed.), Imperial College Press (2006), 21-33.
  27. ^
  28. ^ [bare URL PDF]
  29. ^ Denning, P. J. (1968). "The working set model for program behavior" (PDF). Communications of the ACM. 11 (5): 323–333. doi:10.1145/363095.363141. S2CID 207669410.
  30. ^ Denning, P. J. (1968). "Thrashing". Proceedings of the December 9-11, 1968, fall joint computer conference, part I on - AFIPS '68 (Fall, part I). p. 915. doi:10.1145/1476589.1476705. S2CID 15984168.
  31. ^ Denning, P. J. (1976). "Fault Tolerant Operating Systems". ACM Computing Surveys. 8 (4): 359–389. doi:10.1145/356678.356680. S2CID 207736773.
  32. ^ Denning, P. J.; Buzen, J. P. (1978). "The Operational Analysis of Queueing Network Models". ACM Computing Surveys. 10 (3): 225–261. CiteSeerX doi:10.1145/356733.356735. S2CID 5584875.
  33. ^ [bare URL PDF]
  34. ^ Denning, P. J. (1992). "Educating a new engineer". Communications of the ACM. 35 (12): 82–97. doi:10.1145/138859.138870. S2CID 18878340.
  35. ^ Microsoft Word - locality_v3.doc. (PDF) . Retrieved on 2014-02-21.
  36. ^ Denning, P. J. (2007). "Computing is a natural science". Communications of the ACM. 50 (7): 13–18. doi:10.1145/1272516.1272529. hdl:10945/35492. S2CID 20045303.
  37. ^ Denning, P. J.; Freeman, P. A. (2009). "The profession of ITComputing's paradigm". Communications of the ACM. 52 (12): 28. doi:10.1145/1610252.1610265. hdl:10945/35483. S2CID 19544012.
  38. ^ Denning, P. J.; Flores, F.; Luzmore, P. (2010). "Orchestrating coordination in pluralistic networks". Communications of the ACM. 53 (3): 30. doi:10.1145/1666420.1666434. hdl:10945/35502. S2CID 18264746.

External links[edit]