Peter J. Denning

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Peter James Denning
Peter J. Denning.jpg
(by Louis Fabian Bachrach)
Born (1942-01-06) January 6, 1942 (age 72)
New York, USA
Residence Salinas, California
Citizenship USA
Fields Computer Scientist
Institutions Princeton University
Purdue University
NASA-Ames Research Center
George Mason University
Naval Postgraduate School
Alma mater MIT (PhD 1968)[1]
Manhattan College (BEE 1964)
Thesis Resource Allocation in Multiprocess Computer Systems (1968)
Doctoral advisor Jack B. Dennis
Doctoral students Subhash Agrawal, Robert L. Brown, George Cox, Kevin Kahn, David Schrader, Gianfranco Balbo
Known for Virtual Memory
Working Set
Principle of locality
Thrashing
Operational Analysis
Computing Curriculum
Great Principles of Computing
Notable awards Internet Society Postel Service Award
ACM Karlstrom Educator Award
ACM SIGCSE Lifetime Educator
ACM Disting. Service Award
CRA Disting. Service Award
NSF Disting. Education Fellow
SIGOPS Hall of Fame

Peter James Denning (born January 6, 1942) is an American computer scientist and prolific 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, codifying the great principles of computing, and most recently for his book The Innovator's Way,[2] on innovation as a set of learnable practices.

Biography[edit]

Denning was born January 6, 1942, in Queens, NY, and raised in Darien, CT. 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. The 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 was part of Project MAC and contributed to the design of Multics. His PhD thesis, "Resource allocation in multiprocess computer systems", introduced seminal ideas in working sets, locality, thrashing, and system balance.

At Princeton University from 1968 to 1972, he wrote his classic book, Operating Systems Principles, 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. He 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 his Great Principles of Computing project.[6]

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

Denning served continuously as a volunteer in 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 contribution. 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]

He married Dorothy E. Denning in 1974. She went on to become a noted computer security expert.

Work[edit]

Denning's career has been a search for fundamental principles in 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 worked 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 Computer Science Network, 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[citation needed]. In 2009, the Internet Society awarded CSNET its prestigious Jon Postel award, recognizing its key role in bridging from the ARPANET to NSFNET.

He 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.[15]

Great Principles of Computing[edit]

In 1999, he 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.[16]

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.[17] They published The Innovator's Way, a book laying the eight essential practices of successful innovation.

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 non-math CS core course. In the mid 1980s he led a joint ACM/IEEE committee that described computing as a discipline with nine 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. He maintains that computing is a science both of natural and artificial information processes. NSF designated him a Distinguished Education Fellow[18] 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.[19]

Humor[edit]

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

  • April Fool special section (when he was editor), ACM Communications (April 1984).
  • On Active and Passive Writing, a treatise exhorting students to write in the active voice.
  • A Tale of Two Islands. Fable about a controversy in queueing theory over operational analysis. First published in 1991. Contained as an appendix to a 2006 overview of operational analysis[22]

Quotes[edit]

  • 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.
  • After many years of trying to make computers think like brains, AI researchers got brains that think they are computers.
  • 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.

Publications[edit]

He is author or editor of 340 technical papers and seven books.[23] 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.

Articles, a selection:

  • 1968. "The Working Set Model for Program Behavior". ACM Communications (May).[24]
  • 1970. "Virtual memory." ACM Computing Surveys (September).[25]
  • 1970. "Thrashing: Its Causes and Prevention".[26]
  • 1976. "Fault tolerant operating systems". ACM Computing Surveys (December)[27]
  • 1978. with Jeff Buzen. "Operational Analysis of Queueing Network Models." ACM Computing Surveys (September).[28]
  • 1980. "Working sets past and present". From IEEE Transactions Software Engineering, January 1980.[29]
  • 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).[30]
  • 2006. "The Locality Principle". Chapter in Communication Networks and Systems (J Barria, Ed.). Imperial College Press.[31]
  • 2007. "Computing is a natural science." ACM Communications (July).[32]
  • 2009, with Peter Freeman. "Computing's Paradigm". ACM Communications (December).[33]
  • 2010, with Fernando Flores and Peter Luzmore. "Orchestrating Coordination in Pluralistic Networks". ACM Communications (March).[34]

References[edit]

  1. ^ "NPS vita for Peter J. Denning". 
  2. ^ The Innovator's Way: Essential Practices for Successful Innovation, MIT Press (2010)
  3. ^ Peter J. Denning - ACM 40 Years 2007. Cs.gmu.edu (1959-04-12). Retrieved on 2014-02-21.
  4. ^ RIACS
  5. ^ Core of Information Technology
  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. ^ Denning, P. J. (1970). "Virtual Memory". ACM Computing Surveys 2 (3): 153–189. doi:10.1145/356571.356573.  edit
  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.  edit working set paper]
  14. ^ SIGOPS Hall of Fame Award
  15. ^ Denning, P. J.; Rous, B. (1995). "The ACM electronic publishing plan". Communications of the ACM 38 (4): 97–109. doi:10.1145/205323.205348.  edit ACM Electronic Publishing Plan
  16. ^ draft framework
  17. ^ Denning, P. J.; Dunham, R. (2006). "Innovation as language action". Communications of the ACM 49 (5): 47. doi:10.1145/1125944.1125974.  edit eight foundational practices of innovation
  18. ^ Distinguished Education Fellow
  19. ^ SIGCSE Lifetime Service Award
  20. ^ 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.  edit A Pasquinade of Peccant Predictions
  21. ^ 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.  edit Predictive Writing by Computer
  22. ^ "Operational Analysis." In Computer System Performance Modeling in Perspective (E. Gelenbe, Ed.), Imperial College Press (2006), 21-33.
  23. ^ http://cs.gmu.edu/cne/pjd/PUBS/pub-list.pdf
  24. ^ Denning, P. J. (1968). "The working set model for program behavior". Communications of the ACM 11 (5): 323–333. doi:10.1145/363095.363141.  edit
  25. ^ Denning, P. J. (1970). "Virtual Memory". ACM Computing Surveys 2 (3): 153–189. doi:10.1145/356571.356573.  edit
  26. ^ 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.  edit
  27. ^ Denning, P. J. (1976). "Fault Tolerant Operating Systems". ACM Computing Surveys 8 (4): 359–389. doi:10.1145/356678.356680.  edit
  28. ^ Denning, P. J.; Buzen, J. P. (1978). "The Operational Analysis of Queueing Network Models". ACM Computing Surveys 10 (3): 225–261. doi:10.1145/356733.356735.  edit
  29. ^ http://cs.gmu.edu/cne/pjd/PUBS/WSPastPresent_1980.pdf
  30. ^ Denning, P. J. (1992). "Educating a new engineer". Communications of the ACM 35 (12): 82–97. doi:10.1145/138859.138870.  edit
  31. ^ Microsoft Word - locality_v3.doc. (PDF) . Retrieved on 2014-02-21.
  32. ^ Denning, P. J. (2007). "Computing is a natural science". Communications of the ACM 50 (7): 13. doi:10.1145/1272516.1272529.  edit
  33. ^ 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.  edit
  34. ^ 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.  edit

External links[edit]