Peter J. Denning

Last updated

Peter Denning
Peter J. Denning.jpg
(by Louis Fabian Bachrach)
Born
Peter James Denning

(1942-01-06) January 6, 1942 (age 82)
Queens, New York City, United States
CitizenshipAmerican
Alma mater Massachusetts Institute of Technology (PhD 1968) [1]
Manhattan College (BEE 1964)
Known for Virtual memory
Working set [2]
Principle of locality
Thrashing
Operational Analysis
Computing Curriculum
Great Principles of Computing
Spouse
(m. 1974)
Awards SIGCSE Award for Lifetime Service to Computer Science Education (2010)
SIGCSE Award for Outstanding Contribution to Computer Science Education (1999)
Scientific career
Fields Computer Scientist
Institutions MIT
Princeton University
Purdue University
NASA-Ames Research Center
George Mason University
Naval Postgraduate School
Thesis Resource Allocation in Multiprocess Computer Systems  (1968)
Doctoral advisor Jack B. Dennis
Doctoral students
Website denninginstitute.com/denning/

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.

Contents

Early life and education

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

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

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

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

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

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]

Humor

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

Quotes

Publications

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

Articles, a selection:

Personal life

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

Related Research Articles

<span class="mw-page-title-main">Computer science</span> Study of computation

Computer science is the study of computation, information, and automation. Computer science spans theoretical disciplines to applied disciplines. Though more often considered an academic discipline, computer science is closely related to computer programming.

<span class="mw-page-title-main">Alan Perlis</span> American computer scientist (1922–1990)

Alan Jay Perlis was an American computer scientist and professor at Purdue University, Carnegie Mellon University and Yale University. He is best known for his pioneering work in programming languages and was the first recipient of the Turing Award.

The Computer Science Network (CSNET) was a computer network that began operation in 1981 in the United States. Its purpose was to extend networking benefits, for computer science departments at academic and research institutions that could not be directly connected to ARPANET, due to funding or authorization limitations. It played a significant role in spreading awareness of, and access to, national networking and was a major milestone on the path to development of the global Internet. CSNET was funded by the National Science Foundation for an initial three-year period from 1981 to 1984.

<span class="mw-page-title-main">Per Brinch Hansen</span> Danish-American computer scientist

Per Brinch Hansen was a Danish-American computer scientist known for his work in operating systems, concurrent programming and parallel and distributed computing.

<span class="mw-page-title-main">Barbara Liskov</span> American computer scientist

Barbara Liskov is an American computer scientist who has made pioneering contributions to programming languages and distributed computing. Her notable work includes the introduction of abstract data types and the accompanying principle of data abstraction, along with the Liskov substitution principle, which applies these ideas to object-oriented programming, subtyping, and inheritance. Her work was recognized with the 2008 Turing Award, the highest distinction in computer science.

James Jay Horning was an American computer scientist and ACM Fellow.

<span class="mw-page-title-main">Shlomi Dolev</span>

Shlomi Dolev is a Rita Altura Trust Chair Professor in Computer Science at Ben-Gurion University of the Negev (BGU) and the head of the BGU Negev Hi-Tech Faculty Startup Accelerator.

In queueing theory, a discipline within the mathematical theory of probability, Buzen's algorithm (or convolution algorithm) is an algorithm for calculating the normalization constant G(N) in the Gordon–Newell theorem. This method was first proposed by Jeffrey P. Buzen in his 1971 PhD dissertation and subsequently published in a refereed journal in 1973. Computing G(N) is required to compute the stationary probability distribution of a closed queueing network.

<span class="mw-page-title-main">Jeffrey P. Buzen</span> American computer scientist

Jeffrey Peter Buzen is an American computer scientist in system performance analysis best known for his contributions to queueing theory. His PhD dissertation and his 1973 paper Computational algorithms for closed queueing networks with exponential servers have guided the study of queueing network modeling for decades.

<span class="mw-page-title-main">Werner Vogels</span> American computer scientist

Werner Hans Peter Vogels is the chief technology officer and vice president of Amazon in charge of driving technology innovation within the company. Vogels has broad internal and external responsibilities.

<span class="mw-page-title-main">Mark Guzdial</span>

Mark Joseph Guzdial is a Professor in the College of Engineering at the University of Michigan. He was formerly a professor in the School of Interactive Computing at the Georgia Institute of Technology affiliated with the College of Computing and the GVU Center. He has conducted research in the fields of computer science education and the learning sciences and internationally in the field of Information Technology. From 2001–2003, he was selected to be an ACM Distinguished Lecturer, and in 2007 he was appointed Vice-Chair of the ACM Education Board Council. He was the original developer of the CoWeb, one of the earliest wiki engines, which was implemented in Squeak and has been in use at institutions of higher education since 1998. He is the inventor of the Media Computation approach to learning introductory computing, which uses contextualized computing education to attract and retain students.

Computational thinking (CT) refers to the thought processes involved in formulating problems so their solutions can be represented as computational steps and algorithms. In education, CT is a set of problem-solving methods that involve expressing problems and their solutions in ways that a computer could also execute. It involves automation of processes, but also using computing to explore, analyze, and understand processes.

Michael John Fischer is an American computer scientist who works in the fields of distributed computing, parallel computing, cryptography, algorithms and data structures, and computational complexity.

<span class="mw-page-title-main">Ion Stoica</span> Romanian–American computer scientist

Ion Stoica is a Romanian–American computer scientist specializing in distributed systems, cloud computing and computer networking. He is a professor of computer science at the University of California, Berkeley and co-director of AMPLab. He co-founded Conviva and Databricks with other original developers of Apache Spark.

<span class="mw-page-title-main">Noam Nisan</span> Israeli computer scientist

Noam Nisan is an Israeli computer scientist, a professor of computer science at the Hebrew University of Jerusalem. He is known for his research in computational complexity theory and algorithmic game theory.

Robert P. Goldberg was an American computer scientist, known for his research on operating systems and virtualization.

Anthony C. Hearn is an Australian-American computer scientist and adjunct staff member at RAND Corporation and at the Institute for Defense Analyses Center for Computing Sciences. He is best known for his pioneering contributions in mathematical software development, most notably in developing the computer algebra system REDUCE, which is the oldest such system still in active use. He was also one of the founders of the CSNET computer network, for which he shared the Jonathan B. Postel Service Award with Peter J. Denning, David Farber, and Lawrence Landweber in 2009. He was elected a Fellow of the Association for Computing Machinery in 2006 "for contributions to computer algebra and symbolic computation." He got an honorary doctorate from the University of Erlangen–Nuremberg in Germany on 30 November 2012

Sanjay Ghemawat is an Indian American computer scientist and software engineer. He is currently a Senior Fellow at Google in the Systems Infrastructure Group. Ghemawat's work at Google, much of it in close collaboration with Jeff Dean, has included big data processing model MapReduce, the Google File System, and databases Bigtable and Spanner. Wired have described him as one of the "most important software engineers of the internet age".

Dawson R. Engler is an American computer scientist and an associate professor of computer science and electrical engineering at Stanford University.

<span class="mw-page-title-main">Michael J. Freedman</span> American computer scientist

Michael J. Freedman is an American computer scientist who is the Robert E. Kahn Professor of Computer Science at Princeton University, where he works on distributed systems, networking, and security. He is also the cofounder of database company Timescale.

References

  1. "NPS vita for Peter J. Denning".
  2. 1 2 Denning, Peter J. (February 2, 2021). "Working Set Analytics". ACM Computing Surveys. Association for Computing Machinery (ACM). 53 (6): 1–36. doi:10.1145/3399709. ISSN   0360-0300. S2CID   231791285.
  3. Peter J. Denning - ACM 40 Years 2007. Cs.gmu.edu (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. 1 2 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". nsf.gov. 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. http://denninginstitute.com/pjd/GP/overviews/ov_computation.pdf
  28. http://denninginstitute.com/pjd/PUBS/pub-list.pdf [ 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   10.1.1.519.5249 . doi:10.1145/356733.356735. S2CID   5584875.
  33. http://denninginstitute.com/pjd/PUBS/WSPastPresent_1980.pdf [ 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.