Adaptive Deployment in Component-Based Distributed

Total Page:16

File Type:pdf, Size:1020Kb

Adaptive Deployment in Component-Based Distributed AGH — UNIVERSITY OF SCIENCE AND TECHNOLOGY IN KRAKÓW,POLAND FACULTY OF ELECTRICAL ENGINEERING,AUTOMATICS,COMPUTER SCIENCE AND ELECTRONICS INSTITUTE OF COMPUTER SCIENCE Adaptive Deployment of Component-based Applications in Distributed Systems A dissertation for the degree of Doctor of Philosophy author: MSc. Eng. Jacek Cała supervisor: Prof. Dr. Eng. Krzysztof Zielinski´ January 2010 AKADEMIA GÓRNICZO-HUTNICZA IM.STANISŁAWA STASZICA W KRAKOWIE WYDZIAŁ ELEKTROTECHNIKI,AUTOMATYKI,INFORMATYKI I ELEKTRONIKI KATEDRA INFORMATYKI Rozmieszczanie adaptacyjne aplikacji komponentowych w systemach rozproszonych Rozprawa doktorska autor: mgr in˙z. Jacek Cała promotor: prof. dr hab. in˙z. Krzysztof Zielinski´ Styczen´ 2010 To my Mother Abstract Deployment of distributed applications in heterogeneous environments is an interest- ing yet complex area in the software life cycle. A proper deployment infrastructure can alleviate many important issues related to software execution and management such as finding suitable location for application components and automation of low-level deployment tasks. It also promotes component-based software design and enables creating more sophisticated dynamic and adaptive solutions. Applying adap- tation to the software deployment process has great potential. Generally, it allows reacting to context changes and reorganizing application components to improve their execution. Specifically, it may support ubiquitous environments, autonomic computing solutions and highly available systems. This work presents design, imple- mentation and evaluation of the Adaptive Deployment Framework (ADF) created in the course of our research in this area. The key role in adaptive deployment plays the model-based approach to software deployment. By separation between a model of software and a model of execution environment, it improves reusability and enables automation of the deployment process. However, many of the existing model-based solutions are limited to the spatial distribution of application components in the execution environment. We extended the notion of deployment and defined three basic deployment dimensions: spatial, temporal and semantic. Deployment can be considered in each of these dimensions separately but also the dimensions can be combined together creating more elaborated deployment scenarios. One of the important requirements that enable adaptive deployment is avail- ability of reconfiguration mechanisms. What mechanisms are needed, however, depends on the way how deployment update is performed. We distinguished four possible redeployment techniques: full, deep, shallow and runtime redeployment. In this thesis we concentrate on runtime redeployment which is supposed to guarantee the most agile adaptive deployment system. To realize runtime redeployment we designed, implemented and evaluated runtime component migration mechanism. It is the foundation for the ADF framework. We found that the component level and particularly the CCM model, used as a basis for application design, is very well suited for migration and enables effective deployment adaptation. For the purpose of evaluation of our Adaptive Deployment Framework we designed and implemented Force-Directed Deployment Planning (FDDP) a novel approach to deployment planning. It demonstrates that adaptive deployment can be successfully used to improve application performance. iv Acknowledgements I would like to thank my supervisor Prof. Krzysztof Zielinski´ for his ideas and constructive advice that allowed me to complete this thesis. To my colleagues from Distributed Systems Research Group for creating friendly work atmosphere and specially to Dr. Łukasz Czekierda to whom I am deeply indebted for his invaluable help in the most critical moments of writing this dissertation. I am also very grateful to my wife Ania for her continuous support and motivation on the long journey. Last but not least, I wish to thank Prof. Paul Watson for his surprising indulgence during my work at Newcastle University. Jacek Cała v Contents 1 Introduction1 1.1 Motivation.............................2 1.2 Approach and Challenges....................4 1.3 Thesis Statement and Objectives................7 1.4 Thesis Contributions.......................8 1.5 Roadmap.............................8 2 Background and Related Work 10 2.1 Definition of the Deployment Process.............. 12 2.2 Deployment Automation..................... 15 2.2.1 Deployment Automation on a Single Machine..... 15 2.2.2 Deployment Automation in Distributed System.... 18 2.2.3 Deployment Automation in Virtualized Environments. 25 2.2.4 Deployment Automation in Grids............ 27 2.2.5 Deployment Automation in SOA ............. 28 2.3 Deployment Planning....................... 29 2.3.1 Definition of Deployment Planning........... 30 2.3.2 Planning Dimensions................... 31 2.3.3 Complexity of Deployment Planning.......... 35 2.4 Adaptive Deployment...................... 39 2.4.1 Definition of Adaptation................. 40 2.4.2 Benefits of Adaptive Deployment............ 41 2.4.3 Reflective Systems.................... 43 vi CONTENTS vii 2.4.4 Autonomic Computing.................. 44 2.5 Adaptive Deployment Platforms................. 45 2.6 Conclusions............................ 53 3 Towards Adaptive Software Deployment 59 3.1 Plain Deployment Platform................... 61 3.1.1 Support for Component-based Applications...... 61 3.1.2 Support for Deployment in Distributed Systems.... 62 3.1.3 Support for Deployment Planning Dimensions..... 64 3.1.4 Support for Virtualization................ 69 3.2 Support for Adaptation...................... 72 3.2.1 Requirements for Adaptive Deployment........ 72 3.2.2 Monitoring Facilities................... 73 3.2.3 Reconfiguration Mechanisms.............. 74 3.2.4 Adaptation Control Loop................. 77 3.3 Summary............................. 78 4 Adaptive Deployment Framework 79 4.1 The Model of Deployable Components............. 80 4.2 Overview of the Framework................... 81 4.3 Plain Deployment Infrastructure................. 83 4.3.1 Repository Manager................... 84 4.3.2 Target Manager...................... 84 4.3.3 First-stage Planner.................... 85 4.3.4 Deployment Plan Execution............... 88 4.4 Adaptive Deployment Infrastructure.............. 91 4.4.1 The Management Layer — Sensors and Effectors... 92 4.4.2 The Adaptation Layer.................. 99 4.5 Framework Usage Scenario................... 102 4.6 Summary............................. 105 5 Monitoring and Management Infrastructure 107 CONTENTS viii 5.1 Support for Runtime Component Migration.......... 108 5.1.1 Suspension and Dealing with Requests......... 110 5.1.2 Factory Support for Reconnection............ 112 5.1.3 Life Cycle of a Mobile Component............ 115 5.1.4 Passivation During Synchronous Requests....... 119 5.1.5 Summary......................... 121 5.2 COPI-based Application Monitoring............... 123 5.3 Component Instance Identification............... 124 5.4 Summary............................. 127 6 Evaluation of the Framework Building Blocks 129 6.1 Configuration of the Testing Environment........... 129 6.2 Testing Applications....................... 130 6.2.1 Traffic Generator..................... 130 6.2.2 Asymmetric Ray Tracing................. 131 6.3 Evaluation of the Plain Deployment Infrastructure....... 132 6.3.1 Conformance to the D&C Specification......... 133 6.3.2 Performance of the Deployment Infrastructure..... 136 6.3.3 Possible Extensions.................... 139 6.4 Performance of the Migration Mechanism........... 140 6.4.1 Effectiveness of the Migration Mechanism....... 140 6.4.2 Influence of Migration on Communication Performance 142 6.4.3 Influence of Migration on Processing Performance... 143 6.4.4 Overhead of the Migration Infrastructure........ 147 6.5 Overhead of Monitoring Infrastructure............. 148 6.6 Summary and Conclusions.................... 150 7 Adaptive Deployment with Force-Directed Algorithms 152 7.1 Overview of FDA algorithms................... 153 7.2 Force-Directed Deployment Planning.............. 154 7.2.1 Graph Representation of the Deployment Problem.. 155 CONTENTS ix 7.2.2 Forces in FDDP ....................... 156 7.2.3 Mapping of Observables on Model Parameters..... 159 7.2.4 Experimenting with the FDDP Model.......... 160 7.3 Evaluation of the Adaptive Deployment Framework...... 161 7.3.1 Using the ADF Framework................ 161 7.3.2 Costs of Runtime Adaptation.............. 163 7.3.3 Application Performance................. 165 7.3.4 Adaptation to an External Disturbance......... 167 7.4 Limitations of the FDDP Planner................. 170 7.5 Summary and Conclusions.................... 171 8 Conclusions and Possible Research Directions 173 A IDL interfaces 176 B Description of an Execution Environment 180 C Support for the Planning Dimensions 184 Bibliography 187 Acronyms 199 List of Tables 2.1 Main challenges for adaptive deployment framework and how they are met by existing solutions................ 54 3.1 An example of mapping of an execution node and software component entities for selected virtualization levels...... 71 4.1 Preferred BFS heuristics for initial deployment planning.... 86 4.2 CIM-based sensors provided by the framework.......... 95 6.1 The software and hardware configuration of the testing envi- ronment.............................. 129 6.2 The number and percentage of the entities and operations defined in D&C that are implemented by our deployment in- frastructure............................
Recommended publications
  • Implementing Powerpc Linux on System I Platform
    Front cover Implementing POWER Linux on IBM System i Platform Planning and configuring Linux servers on IBM System i platform Linux distribution on IBM System i Platform installation guide Tips to run Linux servers on IBM System i platform Yessong Johng Erwin Earley Rico Franke Vlatko Kosturjak ibm.com/redbooks International Technical Support Organization Implementing POWER Linux on IBM System i Platform February 2007 SG24-6388-01 Note: Before using this information and the product it supports, read the information in “Notices” on page vii. Second Edition (February 2007) This edition applies to i5/OS V5R4, SLES10 and RHEL4. © Copyright International Business Machines Corporation 2005, 2007. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . vii Trademarks . viii Preface . ix The team that wrote this redbook. ix Become a published author . xi Comments welcome. xi Chapter 1. Introduction to Linux on System i platform . 1 1.1 Concepts and terminology . 2 1.1.1 System i platform . 2 1.1.2 Hardware management console . 4 1.1.3 Virtual Partition Manager (VPM) . 10 1.2 Brief introduction to Linux and Linux on System i platform . 12 1.2.1 Linux on System i platform . 12 1.3 Differences between existing Power5-based System i and previous System i models 13 1.3.1 Linux enhancements on Power5 / Power5+ . 14 1.4 Where to go for more information . 15 Chapter 2. Configuration planning . 17 2.1 Concepts and terminology . 18 2.1.1 Processor concepts .
    [Show full text]
  • Dr. Ralf S. Engelschall Architecture Fundamentals AF Goal Focus 00.0
    Dr. Ralf S. Engelschall Architecture Fundamentals AF Goal Focus 00.0 Step 1: Your Insight (Believe) Concepts Methods Technologies ReproductionUnauthorized Prohibited. Ralf All Rights S. Engelschall <http://engelschall.com>, Reserved. © 2018-2019 Dr. 1.0.2 (2019-06-28), Copyright Version Graphical Illustration: Ralf S. Engelschall Dr. 2010-2019 by 1.0.2 (2019-06-28), Authored Version Intellectual Content: Concepts have a larger life-time than particular technologies and products. know scope of Step 2: Our Preparation this training Concepts have to be assembled in a concise subsequent understand München (TUM) Universität Science lecture contexts in Computer only. reproduction for Technische Licensed to form to be handy in practice. task of trainee in practice apply AN ARCHITECT Step 3: Your Application 1. THINKING LIKE 1. 2. BEING GOOD AT Concepts can be applied in practice both CONCEPTUALIZATION proactive/constructive and reactive/analytical. Scope Type Focus Content Computer Literature Industry Theory knows about knows about Science more things more things Diagrams Statements (written) Abstraction Generalization Software (Conceptual) Trainer Architecture Rationales Model Theory Practice (verbal) Engineering Fundamentals Software & Examples Trainer Systems (verbal) Practice Architecture the most Instantiation relevant concepts Specialization Software Engineering Disciplines AF ANALYTICAL CONSTRUCTIVE STEERING 01.1 REQ Requirements ENV Environment RES Resources Intellectual Content: Version 1.0.7 (2010-07-21), Authored 2006-2010 by Dr. Ralf S. Engelschall, inspired by Rational Unied Process (RUP) Rational by Ralf inspired Unied Process S. Engelschall, Dr. 2006-2010 by 1.0.7 (2010-07-21), Authored Version Intellectual Content: Graphical Illustration: Version 1.0.9 (2019-06-28), Copyright © 2007-2019 Dr.
    [Show full text]
  • Administration Système GNU/Linux
    AAddmmiinniissttrraattiioonn SSyyssttèèmmee GGNNUU//LLiinnuuxx AAddmmiinniissttrraattiioonn SSyyssttèèmmee GGNNUU//LLiinnuuxx ● Historique ● Composants ● Organisation ● Shell ● Commandes de base ● Utilisateurs & Droits ● Disques & Filesystems AAddmmiinniissttrraattiioonn SSyyssttèèmmee GGNNUU//LLiinnuuxx ● Editeurs ● Shell & commandes avancés ● Packages ● Boot & Runlevels ● Réseau ● Interfaces graphiques ● Fichiers spéciaux ● Etudes de cas HHiissttoorriiqquuee « I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. » Li nus Torvalds HHiissttoorriiqquuee UUnniixx UUnniixx P h i l o s o p h i e 1) Ce qui est petit est beau 2) Chaque programme fait une chose et la fait bien 3) Construire un prototype dès que possible 4) Choisir la portabilité plutôt que l'efficacité 5) Enregistrer les données dans des fichiers plats 6) Utiliser le logiciel comme une force 7) Utiliser les scripts shells pour accroître cette force 8) Eviter les interfaces utilisateur captives 9) Faire de chaque programme un filtre UUnniixx P h i l o s o p h i e 1) Small is beautiful. 2) Make each program do one thing well. 3) Build a prototype as soon as possible. 4) Choose portability over efficiency. 5) Store data in flat text files. 6) Use software leverage to your advantage. 7) Use shell scripts to increase leverage and portability. 8) Avoid captive user interfaces. 9) Make every program a filter. UUnniixx P h i l o s o p h i e « timtowtdi » There is more than one way to do it leitmotiv perl, qui s'applique très bien à Unix UUnniixx P h i l o s o p h i e Sous unix, tout est fichier – fichiers (!) – répertoires – devices – liens – pipes – sockets UUnniixx P h i l o s o p h i e Sous unix, les fichiers doivent être – lisibles par l'homme – exploitables simplement par la machine ...donc sous Unix : – tous les fichiers de configuration sont texte..
    [Show full text]
  • GNU/Linux) Como Plataforma De Servicios De Red En Entornos Empresariales
    Universidad de la República Facultad de Ingeniería. Ingeniería en Computación Estudio del Open/Free (GNU/Linux) como plataforma de servicios de red en entornos empresariales Estudio de GNU/Linux y el Software Libre como solución integral para Empresas Tutor : Ariel Sabiguero Daniel Caraballo Mario Madera Marcelo Odin PROYECTO DE GRADO 2004: ESTUDIO DEL OPEN/FREE (GNU/LINUX) COMO PLATAFORMA DE SERVICIOS DE RED EN ENTORNOS EMPRESARIALES Índice de contenido 1 INTRODUCCIÓN................................................................................................................. 1 2 SOFTWARE LIBRE DE CÓDIGO ABIERTO (OPEN/FREE).......................................3 2.1 EL MOVIMIENTO OPEN SOURCE..............................................................................4 2.2 CARACTERÍSTICAS DE LICENCIAMIENTO OPEN SOURCE.............................................. 6 2.2.1 Redistribución libre.................................................................................................... 6 2.2.2 Sobre el código fuente................................................................................................ 6 2.2.3 Sobre trabajos derivados............................................................................................. 7 2.2.4 Integridad del código fuente del autor del Software.................................................. 7 2.2.5 No discriminación contra personas o grupos de personas........................................ 7 2.2.6 No discriminación sobre áreas de utilización ..........................................................
    [Show full text]
  • 1 Where to Start
    Where to Start Where to Start 1 Where to Start An awful lot of UNIX and Linux information is available these days, so we’ve de- signed this book to occupy a specific niche in the ecosystem of man pages, blogs, magazines, books, and other reference materials that address the needs of system administrators. First, it’s an orientation guide. It reviews the major administrative systems, identi- fies the different pieces of each, and explains how they work together. In the many cases where you must choose between various implementations of a concept, we describe the advantages and drawbacks of the major players. Second, it’s a quick-reference handbook that summarizes what you need to know to perform common tasks on a variety of common UNIX and Linux systems. For example, the ps command, which shows the status of running processes, supports more than 80 command-line options on Linux systems. But a few combinations of options satisfy 99% of a system administrator’s needs; see them on page 130. Finally, this book focuses on the administration of enterprise servers and net- works. That is, serious system administration. It’s easy to set up a single desktop system; harder to keep a virtualized network running smoothly in the face of load spikes, disk failures, and intentional attacks. We describe techniques and rules of 3 4 Chapter 1 Where to Start thumb that help networks recover from adversity, and we help you choose solu- tions that scale as your site grows in size, complexity, and heterogeneity. We don’t claim to do all of this with perfect objectivity, but we think we’ve made our biases fairly clear throughout the text.
    [Show full text]
  • How to Overcome the Challenges to Large Scale Adoption of Open Source Software and Systems in Pakistan Business and Industrial Environment
    How to Overcome the Challenges to Large Scale Adoption of Open Source Software and Systems in Pakistan Business and Industrial Environment Athar Mahboob and Nassar Ikram Pakistan Navy Engineering College National University of Sciences & Technology, Karachi Abstract scribe the technical and scientific environment of Pakistan with regard to information systems professionals, computer In this paper we present details of challenges we have specialists and information technology companies engaged faced in implementing open source software and systems in development of indigenous products and services. In sec- in the Pakistan business and industrial environment over tion6 we present our business case for the adoption of open a period spanning last 12 years. The Pakistan business source software and systems by highlighting several read- and industrial environment is characterized by many socio- ily deployable open source software solutions. In section economic trends and forces which are inhibitors to large 7 we describe the many obstacles and challenges we have scale adoption of open source software and systems. How- faced over the last 12 years in promoting and implementing ever, we also present arguments that there is a strong busi- open source software and systems. In section8 we make ness case for open source software and systems adoption in concrete recommendations for the key players in Pakistan Pakistan. We show that the problem is really that of aware- information technology sector in order to make the large ness and education. We propose a methodology or strategy scale adoption of open source software and systems into a whose adoption can provide a suitable response to the chal- reality.
    [Show full text]
  • Wireshark User's Guide: Version 3.5.1
    Wireshark User’s Guide Version 3.5.1 Richard Sharpe, Ed Warnicke, Ulf Lamping Preface Foreword Wireshark is the world’s foremost network protocol analyzer, but the rich feature set can be daunting for the unfamiliar. This document is part of an effort by the Wireshark team to improve Wireshark’s usability. We hope that you find it useful and look forward to your comments. Who should read this document? The intended audience of this book is anyone using Wireshark. This book explains all of the basic and some advanced features of Wireshark. As Wireshark has become a very complex program, not every feature may be explained in this book. This book is not intended to explain network sniffing in general and it will not provide details about specific network protocols. A lot of useful information regarding these topics can be found at the Wireshark Wiki at https://gitlab.com/wireshark/wireshark/wikis/. By reading this book, you will learn how to install Wireshark, how to use the basic elements of the graphical user interface (such as the menu) and what’s behind some of the advanced features that are not always obvious at first sight. It will hopefully guide you around some common problems that frequently appear for new (and sometimes even advanced) Wireshark users. Acknowledgements The authors would like to thank the whole Wireshark team for their assistance. In particular, the authors would like to thank: • Gerald Combs, for initiating the Wireshark project and funding to do this documentation. • Guy Harris, for many helpful hints and a great deal of patience in reviewing this document.
    [Show full text]
  • Ubuntu:Precise Ubuntu 12.04 LTS (Precise Pangolin)
    Ubuntu:Precise - http://ubuntuguide.org/index.php?title=Ubuntu:Precise&prin... Ubuntu:Precise From Ubuntu 12.04 LTS (Precise Pangolin) Introduction On April 26, 2012, Ubuntu (http://www.ubuntu.com/) 12.04 LTS was released. It is codenamed Precise Pangolin and is the successor to Oneiric Ocelot 11.10 (http://ubuntuguide.org/wiki/Ubuntu_Oneiric) (Oneiric+1). Precise Pangolin is an LTS (Long Term Support) release. It will be supported with security updates for both the desktop and server versions until April 2017. Contents 1 Ubuntu 12.04 LTS (Precise Pangolin) 1.1 Introduction 1.2 General Notes 1.2.1 General Notes 1.3 Other versions 1.3.1 How to find out which version of Ubuntu you're using 1.3.2 How to find out which kernel you are using 1.3.3 Newer Versions of Ubuntu 1.3.4 Older Versions of Ubuntu 1.4 Other Resources 1.4.1 Ubuntu Resources 1.4.1.1 Unity Desktop 1.4.1.2 Gnome Project 1.4.1.3 Ubuntu Screenshots and Screencasts 1.4.1.4 New Applications Resources 1.4.2 Other *buntu guides and help manuals 2 Installing Ubuntu 2.1 Hardware requirements 2.2 Fresh Installation 2.3 Install a classic Gnome-appearing User Interface 2.4 Dual-Booting Windows and Ubuntu 1 of 212 05/24/2012 07:12 AM Ubuntu:Precise - http://ubuntuguide.org/index.php?title=Ubuntu:Precise&prin... 2.5 Installing multiple OS on a single computer 2.6 Use Startup Manager to change Grub settings 2.7 Dual-Booting Mac OS X and Ubuntu 2.7.1 Installing Mac OS X after Ubuntu 2.7.2 Installing Ubuntu after Mac OS X 2.7.3 Upgrading from older versions 2.7.4 Reinstalling applications after
    [Show full text]
  • Portable Software-Installation Mit Pkgsrc
    Universität Bielefeld Rainer Orth Portable Software-Installation mit pkgsrc Dipl.-Chem. Rainer Orth Technische Fakultät Universität Bielefeld [email protected] AG Rechnerbetrieb SS 2006 pkgsrc 1 von 12 Universität Bielefeld Rainer Orth Übersicht • Problemstellung • Benutzersicht • Parallelinstallationen: Package Views • Entwicklersicht • Probleme • Alternativen AG Rechnerbetrieb SS 2006 pkgsrc 2 von 12 Universität Bielefeld Rainer Orth Software-Installation: Der Status Quo • manuelles Bauen aus den Quellen für verschiedene Plattformen – zeitaufwendig – mühselig – verschiedene Versionsstände, keine problemlosen Updates wegen Abhängigkeiten – zunehmende Zahl von Abhängigkeiten – zahlreiche Packages kommen mit Volume-Struktur nicht gut zurecht – kein Tracking installierter Software AG Rechnerbetrieb SS 2006 pkgsrc 3 von 12 Universität Bielefeld Rainer Orth Problemstellung • Ziel: einheitliche plattformübergreifende Software-Installation • mindestens für Linux, Mac OS X, Solaris; gut, wenn auch IRIX und Tru64 UNIX • Option: native Package-Systeme (Blastwave, Sun Freeware, Fink, . ) – Einzelmaschinen-orientiert – plattformabhängig – keine einfache lokale Konfiguration – Binary Packages stellen verschiedene Software-Versionen in verschiedenen Konfigurationen bereit – schwierige Parallel-Installation verschiedener Versionen AG Rechnerbetrieb SS 2006 pkgsrc 4 von 12 Universität Bielefeld Rainer Orth pkgsrc • Framework zum Bauen und Installieren von Software-Paketen • entstanden aus FreeBSD ports, ursprünglich nur für NetBSD (August 1997)
    [Show full text]
  • Wireshark User's Guide 31279 for Wireshark 1.2
    Wireshark User's Guide 31279 for Wireshark 1.2 Ulf Lamping, Richard Sharpe, NS Computer Software and Services P/L Ed Warnicke, Wireshark User's Guide: 31279 for Wireshark 1.2 by Ulf Lamping, Richard Sharpe, and Ed Warnicke Copyright © 2004-2008 Ulf Lamping Richard Sharpe Ed Warnicke Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation. All logos and trademarks in this document are property of their respective owner. Table of Contents Preface ............................................................................................................................ ix 1. Foreword .............................................................................................................. ix 2. Who should read this document? .............................................................................. ix 3. Acknowledgements ................................................................................................ ix 4. About this document ............................................................................................... x 5. Where to get the latest copy of this document? ............................................................. x 6. Providing feedback about this document ..................................................................... x 1. Introduction ................................................................................................................... 1
    [Show full text]
  • Gcc Installation Instruction Release 12.0.1 (Experimental 20210414)
    Gcc Installation Instruction Release 12.0.1 (experimental 20210414) GCC Developer Community Aug 27, 2021 CONTENTS 1 Copyright 3 2 Installing GCC 5 3 Prerequisites 7 3.1 Tools/packages necessary for building GCC ............................... 7 3.2 Tools/packages necessary for modifying GCC .............................. 9 4 Downloading GCC 11 5 Configuration 13 5.1 Distributor options ............................................ 14 5.2 Host, Build and Target specification ................................... 14 5.3 Options specification ........................................... 15 5.4 Cross-Compiler-Specific Options ..................................... 33 5.5 Objective-C-Specific Options ....................................... 35 5.6 D-Specific Options ............................................ 36 6 Building 37 6.1 Building a native compiler ........................................ 37 6.2 Building a cross compiler ......................................... 39 6.3 Building in parallel ............................................ 40 6.4 Building the Ada compiler ........................................ 40 6.5 Building with profile feedback ...................................... 41 7 Testing 43 7.1 How can you run the testsuite on selected tests? ............................. 43 7.2 Passing options and running multiple testsuites .............................. 44 7.3 How to interpret test results ........................................ 45 7.4 Submitting test results .......................................... 45 8 Final installation 47
    [Show full text]
  • Paper, PDF, 94KB
    All For One Port, One Port For All Bram Moolenaar Stichting NLnet Labs <[email protected]> The ports system provides a convenient way to install an application from source code. With just a few commands the files for the latest version are downloaded, build and installed. A port specifies patches that need to be applied, allows tweaking features and handles dependencies on other components. These useful features of the ports system have increased the popularity of BSD distributions. Each BSD distribution has their own ports system. Although they all originate from the same root, incompatible features have been added. This requires a port to be done and maintained for each system separately. Since there are thousands of ports, the amount of duplicated work is significant. Attempts to reunite the ports systems have failed so far. Examining the reasons for this makes clear that the chances for each BSD system to drop their own solution and use a common ports system are very small. The development of solutions that replace the existing ports systems have stalled. A possible solution is introducing a new system that exists side by side with the traditional ports system. This allows a gradual shift, moving ports to the new system one by one. Since the ports files of new system do not need to be backward compatible, there is a lot of freedom to make choices for a better and more powerful implementation. The goal that it must co-exist with the traditional ports systems makes sure it avoids the pitfalls that stopped previous reuniting attempts from being successful.
    [Show full text]