Hints and Principles for Computer System Design 1 Introduction
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Donald Knuth Fletcher Jones Professor of Computer Science, Emeritus Curriculum Vitae Available Online
Donald Knuth Fletcher Jones Professor of Computer Science, Emeritus Curriculum Vitae available Online Bio BIO Donald Ervin Knuth is an American computer scientist, mathematician, and Professor Emeritus at Stanford University. He is the author of the multi-volume work The Art of Computer Programming and has been called the "father" of the analysis of algorithms. He contributed to the development of the rigorous analysis of the computational complexity of algorithms and systematized formal mathematical techniques for it. In the process he also popularized the asymptotic notation. In addition to fundamental contributions in several branches of theoretical computer science, Knuth is the creator of the TeX computer typesetting system, the related METAFONT font definition language and rendering system, and the Computer Modern family of typefaces. As a writer and scholar,[4] Knuth created the WEB and CWEB computer programming systems designed to encourage and facilitate literate programming, and designed the MIX/MMIX instruction set architectures. As a member of the academic and scientific community, Knuth is strongly opposed to the policy of granting software patents. He has expressed his disagreement directly to the patent offices of the United States and Europe. (via Wikipedia) ACADEMIC APPOINTMENTS • Professor Emeritus, Computer Science HONORS AND AWARDS • Grace Murray Hopper Award, ACM (1971) • Member, American Academy of Arts and Sciences (1973) • Turing Award, ACM (1974) • Lester R Ford Award, Mathematical Association of America (1975) • Member, National Academy of Sciences (1975) 5 OF 44 PROFESSIONAL EDUCATION • PhD, California Institute of Technology , Mathematics (1963) PATENTS • Donald Knuth, Stephen N Schiller. "United States Patent 5,305,118 Methods of controlling dot size in digital half toning with multi-cell threshold arrays", Adobe Systems, Apr 19, 1994 • Donald Knuth, LeRoy R Guck, Lawrence G Hanson. -
Thriving in a Crowded and Changing World: C++ 2006–2020
Thriving in a Crowded and Changing World: C++ 2006–2020 BJARNE STROUSTRUP, Morgan Stanley and Columbia University, USA Shepherd: Yannis Smaragdakis, University of Athens, Greece By 2006, C++ had been in widespread industrial use for 20 years. It contained parts that had survived unchanged since introduced into C in the early 1970s as well as features that were novel in the early 2000s. From 2006 to 2020, the C++ developer community grew from about 3 million to about 4.5 million. It was a period where new programming models emerged, hardware architectures evolved, new application domains gained massive importance, and quite a few well-financed and professionally marketed languages fought for dominance. How did C++ ś an older language without serious commercial backing ś manage to thrive in the face of all that? This paper focuses on the major changes to the ISO C++ standard for the 2011, 2014, 2017, and 2020 revisions. The standard library is about 3/4 of the C++20 standard, but this paper’s primary focus is on language features and the programming techniques they support. The paper contains long lists of features documenting the growth of C++. Significant technical points are discussed and illustrated with short code fragments. In addition, it presents some failed proposals and the discussions that led to their failure. It offers a perspective on the bewildering flow of facts and features across the years. The emphasis is on the ideas, people, and processes that shaped the language. Themes include efforts to preserve the essence of C++ through evolutionary changes, to simplify itsuse,to improve support for generic programming, to better support compile-time programming, to extend support for concurrency and parallel programming, and to maintain stable support for decades’ old code. -
Towards a Secure Agent Society
Towards A Secure Agent So ciety Qi He Katia Sycara The Rob otics Institute The Rob otics Institute Carnegie Mellon University Carnegie Mellon University Pittsburgh, PA 15213, U.S.A. Pittsburgh, PA 15213, U.S.A [email protected] [email protected] March 23, 1998 Abstract We present a general view of what a \secure agent so ciety" should b e and howtode- velop it rather than fo cus on any sp eci c details or particular agent-based application . We b elieve that the main e ort to achieve security in agent so cieties consists of the following three asp ects:1 agent authentication mechanisms that form the secure so ciety's foundation, 2 a security architecture design within an agent that enables security p olicy making, se- curity proto col generation and security op eration execution, and 3 the extension of agent communication languages for agent secure communication and trust management. In this pap er, all of the three main asp ects are systematically discussed for agent security based on an overall understanding of mo dern cryptographic technology. One purp ose of the pap er is to give some answers to those questions resulting from absence of a complete picture. Area: Software Agents Keywords: security, agent architecture, agent-based public key infrastructure PKI, public key cryptosystem PKCS, con dentiality, authentication, integrity, nonrepudiation. 1 1 Intro duction If you are going to design and develop a software agent-based real application system for elec- tronic commerce, you would immediately learn that there exists no such secure communication between agents, which is assumed by most agent mo del designers. -
Modified Moments for Indefinite Weight Functions [2Mm] (A Tribute
Modified Moments for Indefinite Weight Functions (a Tribute to a Fruitful Collaboration with Gene H. Golub) Martin H. Gutknecht Seminar for Applied Mathematics ETH Zurich Remembering Gene Golub Around the World Leuven, February 29, 2008 Martin H. Gutknecht Modified Moments for Indefinite Weight Functions My education in numerical analysis at ETH Zurich My teachers of numerical analysis: Eduard Stiefel [1909–1978] (first, basic NA course, 1964) Peter Läuchli [b. 1928] (ALGOL, 1965) Hans-Rudolf Schwarz [b. 1930] (numerical linear algebra, 1966) Heinz Rutishauser [1917–1970] (follow-up numerical analysis course; “selected chapters of NM” [several courses]; computer hands-on training) Peter Henrici [1923–1987] (computational complex analysis [many courses]) The best of all worlds? Martin H. Gutknecht Modified Moments for Indefinite Weight Functions My education in numerical analysis (cont’d) What did I learn? Gauss elimination, simplex alg., interpolation, quadrature, conjugate gradients, ODEs, FDM for PDEs, ... qd algorithm [often], LR algorithm, continued fractions, ... many topics in computational complex analysis, e.g., numerical conformal mapping What did I miss to learn? (numerical linear algebra only) QR algorithm nonsymmetric eigenvalue problems SVD (theory, algorithms, applications) Lanczos algorithm (sym., nonsym.) Padé approximation, rational interpolation Martin H. Gutknecht Modified Moments for Indefinite Weight Functions My first encounters with Gene H. Golub Gene’s first two talks at ETH Zurich (probably) 4 June 1971: “Some modified eigenvalue problems” 28 Nov. 1974: “The block Lanczos algorithm” Gene was one of many famous visitors Peter Henrici attracted. Fall 1974: GHG on sabbatical at ETH Zurich. I had just finished editing the “Lectures of Numerical Mathematics” of Heinz Rutishauser (1917–1970). -
1. Course Information Are Handed Out
6.826—Principles of Computer Systems 2006 6.826—Principles of Computer Systems 2006 course secretary's desk. They normally cover the material discussed in class during the week they 1. Course Information are handed out. Delayed submission of the solutions will be penalized, and no solutions will be accepted after Thursday 5:00PM. Students in the class will be asked to help grade the problem sets. Each week a team of students Staff will work with the TA to grade the week’s problems. This takes about 3-4 hours. Each student will probably only have to do it once during the term. Faculty We will try to return the graded problem sets, with solutions, within a week after their due date. Butler Lampson 32-G924 425-703-5925 [email protected] Policy on collaboration Daniel Jackson 32-G704 8-8471 [email protected] We encourage discussion of the issues in the lectures, readings, and problem sets. However, if Teaching Assistant you collaborate on problem sets, you must tell us who your collaborators are. And in any case, you must write up all solutions on your own. David Shin [email protected] Project Course Secretary During the last half of the course there is a project in which students will work in groups of three Maria Rebelo 32-G715 3-5895 [email protected] or so to apply the methods of the course to their own research projects. Each group will pick a Office Hours real system, preferably one that some member of the group is actually working on but possibly one from a published paper or from someone else’s research, and write: Messrs. -
Virtual Memory
Topic 18: Virtual Memory COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 Virtual Memory Any time you see virtual, think “using a level of indirection” Virtual memory: level of indirection to physical memory • Program uses virtual memory addresses • Virtual address is converted to a physical address • Physical address indicates physical location of data • Physical location can be memory or disk! 0x800 Disk:Mem: 0x803C4 0x3C00 Virtual address Physical address 2 Virtual Memory 3 Virtual Memory 1 4 Virtual Memory: Take 1 Main memory may not be large enough for a task • Programmers turn to overlays and disk • Many programs would have to do this • Programmers should have to worry about main memory size across machines Use virtual memory to make memory look bigger for all programs 5 A System with Only Physical Memory Examples: Most Cray machines, early PCs, nearly all current embedded systems, etc. Memory 0: 1: Store 0x10 CPU Load 0xf0 N-1: CPU’s load or store addresses used directly to access memory. 6 A System with Virtual Memory Examples: modern workstations, servers, PCs, etc. Memory 0: Page Table 1: Virtual Physical Addresses 0: Addresses 1: Store 0x10 CPU Load 0xf0 P-1: N-1: Disk Address Translation: the hardware converts virtual addresses into physical addresses via an OS-managed lookup table (page table) 7 Page Faults (Similar to “Cache Misses”) What if an object is on disk rather than in memory? 1. Page table indicates that the virtual address is not in memory 2. OS trap handler is invoked, moving data from disk into memory • Current process suspends, others can resume • OS has full control over placement, etc. -
Mathematical Circus & 'Martin Gardner
MARTIN GARDNE MATHEMATICAL ;MATH EMATICAL ASSOCIATION J OF AMERICA MATHEMATICAL CIRCUS & 'MARTIN GARDNER THE MATHEMATICAL ASSOCIATION OF AMERICA Washington, DC 1992 MATHEMATICAL More Puzzles, Games, Paradoxes, and Other Mathematical Entertainments from Scientific American with a Preface by Donald Knuth, A Postscript, from the Author, and a new Bibliography by Mr. Gardner, Thoughts from Readers, and 105 Drawings and Published in the United States of America by The Mathematical Association of America Copyright O 1968,1969,1970,1971,1979,1981,1992by Martin Gardner. All riglhts reserved under International and Pan-American Copyright Conventions. An MAA Spectrum book This book was updated and revised from the 1981 edition published by Vantage Books, New York. Most of this book originally appeared in slightly different form in Scientific American. Library of Congress Catalog Card Number 92-060996 ISBN 0-88385-506-2 Manufactured in the United States of America For Donald E. Knuth, extraordinary mathematician, computer scientist, writer, musician, humorist, recreational math buff, and much more SPECTRUM SERIES Published by THE MATHEMATICAL ASSOCIATION OF AMERICA Committee on Publications ANDREW STERRETT, JR.,Chairman Spectrum Editorial Board ROGER HORN, Chairman SABRA ANDERSON BART BRADEN UNDERWOOD DUDLEY HUGH M. EDGAR JEANNE LADUKE LESTER H. LANGE MARY PARKER MPP.a (@ SPECTRUM Also by Martin Gardner from The Mathematical Association of America 1529 Eighteenth Street, N.W. Washington, D. C. 20036 (202) 387- 5200 Riddles of the Sphinx and Other Mathematical Puzzle Tales Mathematical Carnival Mathematical Magic Show Contents Preface xi .. Introduction Xlll 1. Optical Illusions 3 Answers on page 14 2. Matches 16 Answers on page 27 3. -
Debloating Software Through Piece-Wise Compilation and Loading
Debloating Software through Piece-Wise Compilation and Loading Anh Quach and Aravind Prakash, Binghamton University; Lok Yan, Air Force Research Laboratory https://www.usenix.org/conference/usenixsecurity18/presentation/quach This paper is included in the Proceedings of the 27th USENIX Security Symposium. August 15–17, 2018 • Baltimore, MD, USA ISBN 978-1-939133-04-5 Open access to the Proceedings of the 27th USENIX Security Symposium is sponsored by USENIX. Debloating Software through Piece-Wise Compilation and Loading Anh Quach Aravind Prakash Binghamton University Binghamton University [email protected] [email protected] Lok Yan Air Force Research Laboratory [email protected] Abstract This extraneous code may contain its own bugs and vulnerabilities and therefore broadens the overall attack Programs are bloated. Our study shows that only 5% of surface. Additionally, these features add unnecessary libc is used on average across the Ubuntu Desktop envi- burden on modern defenses (e.g., CFI) that do not dis- ronment (2016 programs); the heaviest user, vlc media tinguish between used and unused features in software. player, only needed 18%. Accumulation of unnecessary code in a binary – either In this paper: (1) We present a debloating framework by design (e.g., shared libraries) or due to software devel- built on a compiler toolchain that can successfully de- opment inefficiencies – amounts to code bloating. As a bloat programs (shared/static libraries and executables). typical example, shared libraries are designed to contain Our solution can successfully compile and load most li- the union of all functionality required by its users. braries on Ubuntu Desktop 16.04. -
Ali Aydar Anita Borg Alfred Aho Bjarne Stroustrup Bill Gates
Ali Aydar Ali Aydar is a computer scientist and Internet entrepreneur. He is the chief executive officer at Sporcle. He is best known as an early employee and key technical contributor at the original Napster. Aydar bought Fanning his first book on programming in C++, the language he would use two years later to build the Napster file-sharing software. Anita Borg Anita Borg (January 17, 1949 – April 6, 2003) was an American computer scientist. She founded the Institute for Women and Technology (now the Anita Borg Institute for Women and Technology). While at Digital Equipment, she developed and patented a method for generating complete address traces for analyzing and designing high-speed memory systems. Alfred Aho Alfred Aho (born August 9, 1941) is a Canadian computer scientist best known for his work on programming languages, compilers, and related algorithms, and his textbooks on the art and science of computer programming. Aho received a B.A.Sc. in Engineering Physics from the University of Toronto. Bjarne Stroustrup Bjarne Stroustrup (born 30 December 1950) is a Danish computer scientist, most notable for the creation and development of the widely used C++ programming language. He is a Distinguished Research Professor and holds the College of Engineering Chair in Computer Science. Bill Gates 2 of 10 Bill Gates (born October 28, 1955) is an American business magnate, philanthropist, investor, computer programmer, and inventor. Gates is the former chief executive and chairman of Microsoft, the world’s largest personal-computer software company, which he co-founded with Paul Allen. Bruce Arden Bruce Arden (born in 1927 in Minneapolis, Minnesota) is an American computer scientist. -
Concept-Oriented Programming: References, Classes and Inheritance Revisited
Concept-Oriented Programming: References, Classes and Inheritance Revisited Alexandr Savinov Database Technology Group, Technische Universität Dresden, Germany http://conceptoriented.org Abstract representation and access is supposed to be provided by the translator. Any object is guaranteed to get some kind The main goal of concept-oriented programming (COP) is of primitive reference and a built-in access procedure describing how objects are represented and accessed. It without a possibility to change them. Thus there is a makes references (object locations) first-class elements of strong asymmetry between the role of objects and refer- the program responsible for many important functions ences in OOP: objects are intended to implement domain- which are difficult to model via objects. COP rethinks and specific structure and behavior while references have a generalizes such primary notions of object-orientation as primitive form and are not modeled by the programmer. class and inheritance by introducing a novel construct, Programming means describing objects but not refer- concept, and a new relation, inclusion. An advantage is ences. that using only a few basic notions we are able to describe One reason for this asymmetry is that there is a very many general patterns of thoughts currently belonging to old and very strong belief that it is entity that should be in different programming paradigms: modeling object hier- the focus of modeling (including programming) while archies (prototype-based programming), precedence of identities simply serve entities. And even though object parent methods over child methods (inner methods in identity has been considered “a pillar of object orienta- Beta), modularizing cross-cutting concerns (aspect- tion” [Ken91] their support has always been much weaker oriented programming), value-orientation (functional pro- in comparison to that of entities. -
IEEE TCDP Editorial Notes, June 2020 1. IEEE TCDP Awards
IEEE TCDP Editorial Notes, June 2020 TCDP Editor: Palden Lama, University of Texas at San Antonio TCDP Chair: Xiaobo Zhou, University of Colorado, Colorado Springs Welcome to the June 2020 edition of the IEEE Distributed Processing Technical Committee’s Newsletter. This volume includes awards, interesting articles, job advertisements, upcoming conferences. The IEEE Computer Society Technical Committee on Distributed Processing (TCDP) is the ideal and appropriate organization to: • Foster and provide a fertile ground of our conferences. • Provide a forum for discussing all activities related to distributed processing. • Accept and publish through newsletters short articles from TCDP members. • Announce job advertisements. • Distribute to this community call for papers. • Announce upcoming conferences. 1. IEEE TCDP Awards 2020 IEEE TCDP Outstanding Technical Achievement Awards https://tc.computer.org/tcdp/awardrecipients/ The IEEE Computer Society Technical Committee on Distributed Processing (TCDP) has named Professor John Ousterhout from Stanford University and Professor Miron Livny from University of Wisconsin as the recipients of the 2020 Outstanding Technical Achievement Award. John Ousterhout is the Bosack Lerner Professor of Computer Science at Stanford University. He received a BS in Physics from Yale University and a PhD in Computer Science from Carnegie Mellon University. He was a Professor of Computer Science at U.C. Berkeley for 14 years, followed by 14 years in industry, where he founded two companies (Scriptics and Electric Cloud), before returning to academia at Stanford. He is a member of the National Academy of Engineering, a Fellow of the ACM, and has received numerous awards, including the ACM Software System Award, the ACM Grace Murray Hopper Award, the National Science Foundation Presidential Young Investigator Award, and the U.C. -
A Public Record
Contested Commons / Trespassing Publics A Public Record I The contents of this book are available for free download and may be republished www.sarai.net/events/ip_conf/ip_conf.htm III Contested Commons / Trespassing Publics: A Public Record Produced and Designed at the Sarai Media Lab, Delhi Conference Editors: Jeebesh Bagchi, Lawrence Liang, Ravi Sundaram, Sudhir Krishnaswamy Documentation Editor: Smriti Vohra Print Design: Mrityunjay Chatterjee Conference Coordination: Prabhu Ram Conference Production: Ashish Mahajan Free Media Lounge Concept/Coordination: Monica Narula Production: Aarti Sethi, Aniruddha Shankar, Iram Ghufran, T. Meriyavan, Vivek Aiyyer Documentation: Aarti Sethi, Anand Taneja, Khadeeja Arif, Mayur Suresh, Smriti Vohra, Taha Mehmood, Vishwas Devaiah Recording: Aniruddha Shankar, Bhagwati Prasad, Mrityunjay Chatterjee, T. Meriyavan Interviews Camera/Sound: Aarti Sethi, Anand Taneja, Debashree Mukherjee, Iram Ghufran, Khadeej Arif, Mayur Suresh, Taha Mehmood Web Audio: Aarti Sethi, Bhagwati Prasad http://www.sarai.net/events/ip_conf.htm Conference organised by The Sarai Programme Centre for the Study of Developing Societies, Delhi, India www.sarai.net Alternative Law Forum (ALF), Bangalore, India www.altlawforum.org Public Lectures in collaboration with Public Service Broadcasting Trust, Delhi, India www.psbt.org Published by The Sarai Programme Centre for the Study of Developing Societies 29 Rajpur Road, Delhi 110054, India Tel: (+91) 11 2396 0040 Fax: (+91) 11 2392 8391 E-mail: [email protected] Printed at ISBN 81-901429-6-8