Download (2MB)

Total Page:16

File Type:pdf, Size:1020Kb

Download (2MB) Urlea, Cristian (2021) Optimal program variant generation for hybrid manycore systems. PhD thesis. http://theses.gla.ac.uk/81928/ Copyright and moral rights for this work are retained by the author A copy can be downloaded for personal non-commercial research or study, without prior permission or charge This work cannot be reproduced or quoted extensively from without first obtaining permission in writing from the author The content must not be changed in any way or sold commercially in any format or medium without the formal permission of the author When referring to this work, full bibliographic details including the author, title, awarding institution and date of the thesis must be given Enlighten: Theses https://theses.gla.ac.uk/ [email protected] Optimal program variant generation for hybrid manycore systems Cristian Urlea Submitted in fulfilment of the requirements for the Degree of Doctor of Philosophy School of Engineering College of Science and Engineering University of Glasgow January 2021 Abstract Field Programmable Gate Arrays (FPGAs) promise to deliver superior energy efficiency in het- erogeneous high performance computing (HPC), as compared to multicore CPUs and GPUs. The rate of adoption is however hampered by the relative difficulty of programming FPGAs. High-level synthesis tools such as Xilinx Vivado, Altera OpenCL or Intel’s HLS address a large part of the programmability issue by synthesizing a Hardware Description Languages (HDL) representation from a high-level specification of the application, given in programming lan- guages such as OpenCL C, typically used to program CPUs and GPUs. Although HLS solutions make programming easier, they fail to also lighten the burden of optimization. Application de- velopers must rely on expert knowledge to manually optimize their applications for each target device, meaning that traditional HLS solutions do not offer a solution to the issue of perfor- mance portability. This state of fact prompted the development of compiler frameworks such as TyTra that operate at an even higher level of abstraction, amenable to the use of Design Space Exploration (DSE). With DSE the initial program specification can be seen as the start- ing location in a search-space of correct-by-construction program transformations. In TyTra the search-space is generated from the transitive-closure of term-level transformations derived from type-level transformations. Compiler frameworks such as TyTra theoretically solve the is- sue of performance portability by providing a way to automatically generate alternative correct program variants. They however suffer from the very practical issue that the generated space is often too large to fully explore. As a consequence, the globally optimal solution may be overlooked. In this work we provide a novel solution to issue performance portability by deriving an efficient yet effective DSE strategy for the TyTra compiler framework. We make use of categor- ical data types to derive categorical semantics for the formal languages that describe the terms, types, cost-performance estimates and their transformations. From these we define a category of interpretations for TyTra applications, from which we derive a DSE strategy that finds the globally optimal transformation sequence in polynomial time. This is achieved by reducing the size of the generated search space. We formally state and prove a theorem for this claim and then show that the polynomial run-time for our DSE strategy has practically negligible coefficients leading to sub-second exploration times for realistic applications. i Contents Abstract i Acknowledgements viii Declaration ix 1 Introduction 1 1.1 Design Space Exploration . .3 1.2 Thesis statement . .5 1.3 Contributions and Publications . .6 2 Background 7 2.1 Performance portability . .8 2.2 Taxonomy of parallel computation . 10 2.2.1 Narrow and wide: data parallelism . 11 2.2.2 High and low: abstraction level . 15 2.2.3 Near and far: locality . 17 2.2.4 The middle way . 22 2.3 Formal methods . 23 2.3.1 Models of computation . 24 2.3.2 Imperative languages . 26 2.3.3 Functional languages . 28 2.3.4 Bridging models . 32 2.4 The TyTra Compiler Framework . 33 2.4.1 TyTra Compiler workflow . 33 2.4.2 TyTra Coordination Language . 38 2.4.3 TyTra Intermediate Representation . 45 2.4.4 TyTra Semantics . 46 2.5 Introduction to Category Theory . 50 ii CONTENTS iii 3 Related Work 58 3.1 Practical . 58 3.1.1 Imperative Languages . 59 3.1.2 Functional Languages . 67 3.1.3 Program and Behavioural Synthesis . 71 3.1.4 Compiler Optimization Techniques . 72 3.2 Theoretical . 73 3.2.1 Structured Parallelism . 73 3.2.2 Categorical Data Types and Techniques . 74 3.3 Graphical summary . 78 4 Categorical Semantics 80 4.1 Categorical Data Types . 81 4.1.1 Optimisation from recursion schemes . 85 4.1.2 Terms and Transformations . 87 4.1.3 Types and Type Constructors . 90 4.1.4 Cost-Performance Estimates . 95 4.2 DSE in Categorical Terms . 99 4.2.1 Specification . 99 4.2.2 Analysis . 106 4.2.3 Selection . 107 4.3 Optimal DSE in TyTra . 108 4.3.1 Naïve tactic . 111 4.3.2 Expert tactic . 116 4.4 TyTra Categorical Semantics . 123 4.4.1 Type Inference and checking . 124 4.4.2 Correct term transformation . 125 4.4.3 Cost-performance aware transformation . 126 4.4.4 Borrowing structure . 127 4.4.5 Fused DSE . 137 4.5 Efficient DSE Theorem . 140 4.5.1 Proof . 140 5 Experimental Evaluation, Conclusion & Future Work 143 5.1 Experimental validation . 144 5.2 Conclusion . 151 5.3 Future work . 152 List of Figures 1.1 Conceptual DSE stages: specification, analysis, selection. .3 2.1 Abstract three-dimensional space of programming languages and compilers. 10 2.2 CPU (narrow) and GPU (wide) architectures, representing the number of parallel compute units . 11 2.3 Pragma directives have a local effect, typically function, variable scope or basic- block level. 13 2.4 SIMD (left) vs scalar (right) addition. 14 2.5 FPGAs: A switched sea of lookup tables. 15 2.6 Harvard Architectures and logical distance. 18 2.7 Relations between parallel architectures and tools. 22 2.8 Graphical depiction of a finite state machine. 26 2.9 Composition of finite state machines. 27 2.10 Lambda abstraction and application. Execution Trace. 29 2.11 I and K combinators. 30 2.12 The Haskell Monad interface. 31 2.13 High-level view of the TyTra Compiler Workflow. 33 2.14 Detailed view of the TyTra Compiler Workflow. 34 2.15 Performance measured in clock-cycles. 36 2.16 Simplified presentation of the performance model. 37 2.17 TyTra CL term-level expression grammar. 39 2.18 TyTra CL expressions and actions . 39 2.19 Alternative graphical representation for TyTra CL expressions and actions. 39 2.20 TyTra CL Size Constructors. 41 2.21 The TyTra CL Atomic Type Constructor . 41 2.22 TyTra CL Structural Type Constructors. 42 2.23 Graphical depiction of a TyTra CL expression and types. 42 2.24 An abstract type transformation. 43 2.25 Nested type constructors can be simply seen as a single constructor. 43 2.26 The effect of Vector type Split and Merge operations on terms. 44 iv LIST OF FIGURES v 2.27 Type-level merge/split rules. Their composition yields the identity transformation. 44 2.28 TyTra IR, its sub-languages and the relationship to TyTra CL . 45 2.29 Abstract and full interpretation (sequential). 49 2.30 Abstract interpretation (average time). 49 2.31 The category C with three objects. 50 2.32 Composition or morphisms f and g in C..................... 51 2.33 The composition of morphisms must be associative. 51 2.34 The objects of a category are identified by their identity morphisms. 52 2.35 Functors: structure preserving maps between categories. 52 2.36 Triangle identity. 54 2.37 Pentagon identity. 54 2.38 Morphisms from Initial F-Algebra to all F-Algebras in that category. 56 3.1 OpenCL compilation and runtime. 59 3.2 OpenCL optimization workflow. 60 3.3 Fusion rules in Lift. 69 3.4 Cancellation rules in Lift. 69 3.5 The OpenCL Specific map, reduce and reorderStride rules in Lift. 69 3.6 Denotational semantics relating the various map implementations to an abstract map operation in the Lift compiler. 69 3.7 The build/fold rule corresponds to the Hylomorphism recursion scheme. 77 3.8 Overview of the relationship between practical and theoretical related work. 78 3.9 Hylomorphisms as a unifying construct for the object-language of Structured Arrows....................................... 79 3.10 Hylomorphisms as a unifying construct for the meta-language of the TyTra Compiler Framework. 79 4.1 ListF : 1 + a × List a describes an Endofunctor. 81 4.2 Category of Integers and List of Integers. ..
Recommended publications
  • A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems
    A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems Benyamin Y. Y. Aziz, M.Sc. School of Computing, Dublin City University A thesis presented in fulfillment of the requirements for the degree of Doctor of Philosophy Supervisor: Dr Geoff Hamilton September 2003 “Start by doing what’s necessary; then do what’s possible; and suddenly you are doing the impossible” St. Francis of Assisi To Yowell, Olivia and Clotilde Declaration I hereby certify that this material, which I now submit for assessment on the programme of study leading to the award of the degree of Doctor of Philosophy (Ph.D.) is entirely my own work and has not been taken from the work of others save and to the extent that such work has been cited and acknowledged within the text of my work. Signed: I.D. No.: Date: Acknowledgements I would like to thank all those people who were true sources of inspiration, knowledge, guidance and help to myself throughout the period of my doctoral research. In particular, I would like to thank my supervisor, Dr. Geoff Hamilton, without whom this work would not have seen the light. I would also like to thank Dr. David Gray, with whom I had many informative conversations, and my colleagues, Thomas Hack and Fr´ed´ericOehl, for their advice and guidance. Finally, I would like to mention that the work of this thesis was partially funded by project IMPROVE (Enterprise Ireland Strategic Grant ST/2000/94). Benyamin Aziz Abstract We introduce a static analysis framework for detecting instances of security breaches in infinite mobile and cryptographic systems specified using the languages of the π-calculus and its cryptographic extension, the spi calculus.
    [Show full text]
  • Static Analyses for Stratego Programs
    Static analyses for Stratego programs BSc project report June 30, 2011 Author name Vlad A. Vergu Author student number 1195549 Faculty Technical Informatics - ST track Company Delft Technical University Department Software Engineering Commission Ir. Bernard Sodoyer Dr. Eelco Visser 2 I Preface For the successful completion of their Bachelor of Science, students at the faculty of Computer Science of the Technical University of Delft are required to carry out a software engineering project. The present report is the conclusion of this Bachelor of Science project for the student Vlad A. Vergu. The project has been carried out within the Software Language Design and Engineering Group of the Computer Science faculty, under the direct supervision of Dr. Eelco Visser of the aforementioned department and Ir. Bernard Sodoyer. I would like to thank Dr. Eelco Visser for his past and ongoing involvment and support in my educational process and in particular for the many opportunities for interesting and challenging projects. I further want to thank Ir. Bernard Sodoyer for his support with this project and his patience with my sometimes unconvential way of working. Vlad Vergu Delft; June 30, 2011 II Summary Model driven software development is gaining momentum in the software engi- neering world. One approach to model driven software development is the design and development of domain-specific languages allowing programmers and users to spend more time on their core business and less on addressing non problem- specific issues. Language workbenches and support languages and compilers are necessary for supporting development of these domain-specific languages. One such workbench is the Spoofax Language Workbench.
    [Show full text]
  • A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems
    A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems Benyamin Y. Y. Aziz, M.Sc. School of Computing, Dublin City University A thesis presented in fulfillment of the requirements for the degree of Doctor of Philosophy Supervisor: Dr Geoff Hamilton September 2003 “Start by doing what’s necessary; then do what’s possible; and suddenly you are doing the impossible” St. Francis of Assisi To Yowell, Olivia and Clotilde Declaration I hereby certify that this material, which I now submit for assessment on the programme of study leading to the award of the degree of Doctor of Philosophy (Ph.D.) is entirely my own work and has not been taken from the work of others save and to the extent that such work has been cited and acknowledged within the text of my work. Signed: I.D. No.: Date: Acknowledgements I would like to thank all those people who were true sources of inspiration, knowledge, guidance and help to myself throughout the period of my doctoral research. In particular, I would like to thank my supervisor, Dr. Geoff Hamilton, without whom this work would not have seen the light. I would also like to thank Dr. David Gray, with whom I had many informative conversations, and my colleagues, Thomas Hack and Fr´ed´ericOehl, for their advice and guidance. Finally, I would like to mention that the work of this thesis was partially funded by project IMPROVE (Enterprise Ireland Strategic Grant ST/2000/94). Benyamin Aziz Abstract We introduce a static analysis framework for detecting instances of security breaches in infinite mobile and cryptographic systems specified using the languages of the π-calculus and its cryptographic extension, the spi calculus.
    [Show full text]
  • Galois a Language for Proofs Using Galois Connections and Fork Algebras
    Galois A Language for Proofs Using Galois Connections and Fork Algebras Paulo F. Silva Joost Visser Jose´ N. Oliveira CCTC, University of Minho, Braga Software Improvement Group CCTC, University of Minho, Braga Portugal The Netherlands Portugal paufi[email protected] [email protected] [email protected] Abstract DSLs in associated tool support for theorem proving and proof Galois is a domain specific language supported by the Galculator assistance. This tool, called Galculator (= Galois connection + interactive proof-assistant prototype. Galculator uses an equational calculator) [Silva and Oliveira 2008a], takes Galois connections approach based on Galois connections with indirect equality as as primitives and exploits their algebraic properties in proofs. Basi- an additional inference rule. Galois allows for the specification of cally, a Galois connection is a pair of functions with “good” preser- different theories in a point-free style by using fork algebras, an vation properties which connect two domains. Often, problems in extension of relation algebras with expressive power of first-order one of the domains are easier to solve than problems in the other logic. The language offers sub-languages to derive proof rules from domain. Using a Galois connection it is possible to map a “hard” Galois connections, to express proof tactics, and to organize axioms problem to an equivalent but easier one in the other domain, to and theorems into modular definitions. find its solution, and then map it back to the result in the origi- In this paper, we describe how the algebraic theory underlying nal domain (this is known as “shunting”). Galois connections are the proof-method drives the design of the Galois language.
    [Show full text]
  • Security and Privacy Implications of Third-Party Access to Online Social Networks
    Die approbierte Originalversion dieser Dissertation ist in der Hauptbibliothek der Technischen Universität Wien aufgestellt und zugänglich. http://www.ub.tuwien.ac.at The approved original version of this thesis is available at the main library of the Vienna University of Technology. http://www.ub.tuwien.ac.at/eng Security and Privacy Implications of Third-Party Access to Online Social Networks PhD THESIS submitted in partial fulfillment of the requirements of Doctor of Technical Sciences within the Vienna PhD School of Informatics by Markus Huber, M.Sc. Registration Number 0306665 to the Faculty of Informatics at the Vienna University of Technology Advisor: Privatdoz. Dipl.-Ing. Mag.rer.soc.oec. Dr.techn. Edgar Weippl Second advisor: o.Univ.Prof. Dipl.Ing. Dr. A Min Tjoa External reviewers: Assoc. Prof. Dr. Engin Kirda. Northeastern University, USA. Prof. Dr. Stefan Katzenbeisser. Technische Universität Darmstadt, Germany. Wien, 27.08.2013 (Signature of Author) (Signature of Advisor) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Declaration of Authorship Markus Huber, M.Sc. Burggasse 102/8, AT-1070 Vienna, Austria I hereby declare that I have written this Doctoral Thesis independently, that I have com- pletely specified the utilized sources and resources and that I have definitely marked all parts of the work - including tables, maps and figures - which belong to other works or to the internet, literally or extracted, by referencing the source as borrowed. (Vienna, 27/08/2013) (Signature of Author) i Acknowledgements I am grateful to my supervisor Edgar R. Weippl for his excellent mentoring over the course of my postgraduate studies and for giving me the freedom to pursue my own research ideas.
    [Show full text]
  • Bulletin of the German Historical Institute Bulletin of the German Historical Institute Washington DC
    Fall 2020 Bulletin of the German Historical Institute Bulletin of the German Historical Institute Washington DC Editor: Richard F. Wetzell Assistant Editor: Insa Kummer The Bulletin appears twice a year and is available free of charge. Current and back issues are available online at: www.ghi-dc.org/bulletin To sign up for a subscription or to report an address change please send an email to [email protected]. For editorial comments or inquiries, please contact the editor at [email protected] or at the address below. For further information about the GHI, please visit our web site www.ghi-dc.org. For general inquiries, please send an email to [email protected]. German Historical Institute 1607 New Hampshire Ave NW Washington DC 20009-2562 USA Phone: (202) 387-3355 Fax: (202) 483-3430 © German Historical Institute 2020 All rights reserved ISSN 1048-9134 Bulletin of the German Historical Institute 67 | Fall 2020 3 Preface FORUM: NEW RESEARCH IN TRANSATLANTIC HISTORY Edited by Axel Jansen and Claudia Roesch 7 Introduction: New Trends in Transatlantic History Axel Jansen and Claudia Roesch 17 “The Indians must yield”: Antebellum Free Land, the Homestead Act, and the Displacement of Native Peoples Julius Wilm 41 Trading in the Shadow of Neutrality: German-Speaking Europe’s Commerce with Union and Confederacy during the American Civil War Patrick Gaul 71 A Tumultuous Relationship: Nicholas Murray Butler and Germany in the Era of the Two World Wars Elisabeth Piller 101 “Taken on faith”: Expertise in Aerial Warfare and the Democratic “West” in the
    [Show full text]
  • By Joseph Ray Davidson
    AN INFORMATION THEORETIC APPROACH TO THE EXPRESSIVENESS OF PROGRAMMING LANGUAGES by Joseph Ray Davidson Submitted in fulfilment of the requirements for the degree of Doctor of Philosophy University of Glasgow College of Science and Engineering School of Computing Science July 2015 The copyright in this thesis is owned by the author. Any quotation from the thesis or use of any of the information contained in it must acknowledge this thesis as the source of the quotation or information. Abstract The conciseness conjecture is a longstanding notion in computer science that programming languages with more built-in operators, that is more expressive languages with larger semantics, produce smaller programs on average. Chaitin defines the related concept of an elegant program such that there is no smaller program in some language which, when run, produces the same output. This thesis investigates the conciseness conjecture in an empirical manner. Influenced by the concept of elegant programs, we investigate several models of computation, and implement a set of functions in each programming model. The programming models are Turing Machines, λ-Calculus, SKI, RASP, RASP2, and RASP3. The information content of the programs and models are measured as characters. They are compared to investigate hypotheses relating to how the mean program size changes as the size of the semantics change, and how the relationship of mean program sizes between two models compares to that between the sizes of their semantics. We show that the amount of information present in models of the same paradigm, or model family, is a good indication of relative expressivity and aver- age program size.
    [Show full text]
  • Inductive Representation, Proofs and Refinement of Pointer Structures
    THÈSETHÈSE En vue de l’obtention du DOCTORAT DE L’UNIVERSITÉ DE TOULOUSE Délivré par : l’Université Toulouse 3 Paul Sabatier (UT3 Paul Sabatier) Présentée et soutenue le 20 juin 2013 par : Mathieu Giorgino Inductive Representation, Proofs and Refinement of Pointer Structures (Représentation Inductive, Preuves et Raffinement de Structures de Pointeurs) JURY Rachid Echahed Chargé de Recherche CNRS LIG, Grenoble Louis Féraud Professeur des Universités IRIT, Toulouse Ralph Matthes Chargé de Recherche CNRS IRIT, Toulouse Pierre-Etienne Moreau Professeur des Universités INRIA, Nancy Marc Pantel Maître de Conférence IRIT-ENSEEIHT, Toulouse Martin Strecker Maître de Conférence IRIT, Toulouse Arnaud J. Venet Chargé de Recherche NASA Ames, Mountain View École doctorale et spécialité : MITT : Domaine STIC : Sureté de logiciel et calcul de haute performance Unité de Recherche : IRIT Directeurs de Thèse : Ralph Matthes et Martin Strecker Rapporteurs : Pierre-Etienne Moreau et Rachid Echahed Remerciements Je tiens tout d’abord à remercier tous les membres de mon jury au sens large (invités ou non), à commencer par mes rapporteurs Rachid Echahed et Pierre-Etienne Moreau qui ont accepté de prendre le temps de lire et évaluer ce que j’avais pu écrire. Je remercie aussi Marc Pantel pour les cours qu’il a pu me donner et sans qui cette thèse n’aurait pas pu commencer. Merci également à Louis Féraud d’avoir accepté de faire partie de ce jury et à Arnaud Venet pour sa cordialité et son humanité. Évidement cette thèse n’aurait jamais pu être accomplie sans mes deux directeurs Ralph Matthes et Martin Strecker. Je remercie Ralph pour tous les bons conseils qu’il m’a donné, tirés de son expérience raisonnée et de sa rigueur.
    [Show full text]
  • Deriving Dynamic-Programming Algorithms Based on Preservation of Monotonicity
    MATHEMATICAL ENGINEERING TECHNICAL REPORTS Calculus of Minimals: Deriving Dynamic-Programming Algorithms based on Preservation of Monotonicity Akimasa MORIHATA and Kiminori MATSUZAKI and Zhenjiang HU and Masato TAKEICHI METR 2007{61 December 2007 DEPARTMENT OF MATHEMATICAL INFORMATICS GRADUATE SCHOOL OF INFORMATION SCIENCE AND TECHNOLOGY THE UNIVERSITY OF TOKYO BUNKYO-KU, TOKYO 113-8656, JAPAN WWW page: http://www.keisu.t.u-tokyo.ac.jp/research/techrep/index.html The METR technical reports are published as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have o®ered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder. Calculus of Minimals: Deriving Dynamic-Programming Algorithms based on Preservation of Monotonicity Akimasa Morihata Kiminori Matsuzaki Zhenjiang Hu Masato Takeichi fmorihata,[email protected] fhu,[email protected] The University of Tokyo Abstract Constructing e±cient algorithms is di±cult and often considered to be a privilege of a few special- ists. Program calculation is a methodology for easy construction of e±cient algorithms, where e±cient algorithms are systematically derived from naive but obviously correct algorithms by calculational laws. This paper shows an ongoing e®ort to give a clear and e®ective methodology to deal with combinatorial optimization problems based on program calculation.
    [Show full text]
  • Zur Praktischen Anwendbarkeit Mathematisch Rigoroser Methoden Zum Sicherstellen Der Korrektheit Von Sequentiellen Computerprogrammen
    Zur praktischen Anwendbarkeit mathematisch rigoroser Methoden zum Sicherstellen der Korrektheit von sequentiellen Computerprogrammen an den Fachbereich Informatik der Technischen Hochschule Darmstadt zum Erlangen des akademischen Grades Doktor-Ingenieur (Dr.-Ing.) eingereichte Dissertation von Robert Laurence Baber geboren in Los Angeles, California, U.S.A. Master of Science in Electrical Engineering und Master of Science in Industrial Management, Massachusetts Institute of Technology Erstreferent: Prof. Dr.-Ing. Hans-Jürgen Hoffmann Korreferent: Prof. Dr. David Lorge Parnas eingereicht am: 1994 August 4 Prüfungstermin: 1994 September 30 Erschienen in Darmstadt, 1994 D 17ÜÜÜ GGGKolumnentitelzeile 14,4p hoch. Kolumnentitel 10p, Seitenzahl 12p GGG ÜÜÜ ÜÜÜ GGGAbstandszeile, 13,98p hoch GGG ÜÜÜ ÜÜÜ GGG ???Erste Zeile im Textbereich ??? GGG ÜÜÜ ÜÜÜ GGGSchrift 12p, Zeilenabstand 14,4p GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ Satzspiegel Baber: Praktische Anwendbarkeit ... Höhe des Textbereichs = 24,100 cm = 683,16p = 47,44 Zeilen á 14,4p = 48,797 Zeilen á 14p ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG yyy ??? gggLetzte Zeile im Textbereich ggg ??? yyy GGG ÜÜÜ Geleitworte Die Qualität technischer Produkte muß gesichert und geprüft sein, bevor sie an einen Kunden ausgeliefert werden. Das gilt auch für Programme! Bei der Programmentwicklung fehlte lange Zeit ein Ansatz, diese Forderung zu erfüllen. Es wurde drauflos programmiert und geglaubt oder gehofft, daß kein Fehler vorliegt, der die Qualität mindert oder das Programm eigentlich unbrauchbar macht. In der Praxis ist es weitgehend immer noch so. Die in den letzten beiden Jahrzehnten gewonnenen wissenschaftlichen Erkenntnisse zur Qualitätssicherung beim Entwurf und der Implementierung sowie dann auch der stichhaltigen, nachvollziehbaren Überprüfung haben sich kaum bei Praktikern eingeführt; es sei zu mathematisch, zu aufwendig, zu schwierig waren (und sind) häufig gehörte Meinungsäußerungen von Programmierern, Software-Entwicklern und Projektverantwortlichen.
    [Show full text]
  • Fish Creek Voices
    FISH CREEK VOICES An Oral History of A Door County Village edited by FISH CREEK VOICES An Oral History of A Door County Village FISH CREEK VOICES An Oral History of A Door County Village edited by Wm CAXTON LTD Sister Bay, Wisconsin Published by Wm Caxton Ltd Box 709 - Smith Drive & Hwy 57 Sister Bay, WI 54234 (414) 854-2955 Copyright 1990 by Edward Schreiber. All rights reserved. No part of this book may be reproduced in any form or by any means without permission in writing from the publisher, except by a reviewer, who may quote brief passages in a review. Printed in the United States of America. 10 987654321 Library of Congress Cataloging-in-Publication Data Fish creek voices : oral an history of a Door County village / Edward & Lois Schreiber. p. cm. ISBN 0-940473-15-1 (alk. paper) : $20.00 - ISBN 0-940473-16-X (pbk. : alk. paper) $9.95 1. Fish Creek (Wis.)-Social life and customs. 2. Fish Creek (Wis.)-Biography. 3. Oral history. I. Schreiber, Edward, 1914- . II. Schreiber, Lois, 1910-1990 F589.F616F57 1990 977.5’63—dc20 90-38035 CIP ISBN# 0-940473-15-1 (hardcover) ISBN# 0-940473-16-X (paperback) This book is set in a version of Times Roman type chosen for its readability and attractiveness; it is printed on acid-neutral paper bound in sewn signatures and is intended to provide a very long useful life. This book is dedicated to the memory of my wife Lois Schreiber, who helped in many ways to organize the information and suggest the form of the material included here.
    [Show full text]
  • The Third Homomorphism Theorem on Trees Downward & Upward Lead to Divide-And-Conquer
    The Third Homomorphism Theorem on Trees Downward & Upward Lead to Divide-and-Conquer Akimasa Morihata Kiminori Matsuzaki Zhenjiang Hu Masato Takeichi University of Tokyo University of Tokyo National Institute of University of Tokyo JSPS Research Fellow Informatics [email protected] [email protected] [email protected] [email protected] Abstract 1. Introduction Parallel programs on lists have been intensively studied. It is What are little boys made of? well known that associativity provides a good characterization for Snips and snails, and puppy-dogs’ tails divide-and-conquer parallel programs. In particular, the third ho- That’s what little boys are made of! momorphism theorem is not only useful for systematic development What are little girls made of? of parallel programs on lists, but it is also suitable for automatic Sugar and spice and all things nice parallelization. The theorem states that if two sequential programs That’s what little girls are made of! iterate the same list leftward and rightward, respectively, and com- (an old nursery rhyme) pute the same value, then there exists a divide-and-conquer parallel program that computes the same value as the sequential programs. What are parallel programs on lists made of? Consider summing While there have been many studies on lists, few have been up the elements in a list [a1; a2; a3; a4; a5; a6; a7; a8] as an exam- done for characterizing and developing of parallel programs on ple. It is easy to derive sequential algorithms; both the rightward trees.
    [Show full text]