A Thunk to Remember

Total Page:16

File Type:pdf, Size:1020Kb

A Thunk to Remember A Thunk to Remember: make -j1000 (and other jobs) on functions-as-a-service infrastructure Sadjad Fouladi Dan Iter Shuvo Chatterjee Christos Kozyrakis Matei Zaharia Keith Winstein Stanford University Draft of Sep. 25, 2017 (under double-blind review; please do not redistribute) Abstract processes and executing it on serverless platforms. Unlike previous work, gg can be applied to arbitrary We present gg: a system for executing interdependent soft- workflows of Unix-like processes, such as software builds, ware workflows across thousands of short-lived “lambdas” scientific workflows, and video-processing pipelines. We that run in parallel on public cloud infrastructure. The first evaluate gg on one of the most challenging and well- system includes three major contributions: (a) an inter- studied parallelization problems: software builds. In this change format for representing “thunks”—programs and setting, we show that gg can extract more parallelism out their complete data dependencies—that can be executed of builds than traditional parallel and distributed build anywhere; (b) a system to automatically infer the depen- tools such as make, distcc, and icecc [16, 19, 29], dency tree of a software build system and synthesize it while inferring the dependencies between build steps au- as a directed acyclic graph of thunks, by replacing stages tomatically, and that it performs up to 3.9× better than of the system with “models” that capture dependencies outsourcing to a long-running 64-core build server. with fine granularity; and (c) an execution engine that re- These gains are due both to increased parallelism (gg solves thunks recursively on public functions-as-a-service can exploit thousand-way parallelism from serverless in- infrastructure with thousand-way parallelism. frastructure, and can infer parallelism opportunities not We found that gg outperforms existing schemes for found in the original Makefile) and fewer network round accelerating compilation—with large projects such as trips, because gg keeps track of intermediate dependen- inkscape and LLVM, gg was 3.7× to 4× as fast as out- cies in the cloud and does not need to fetch intermediate sourcing compilation to a remote 64-core machine, and build products back to the local machine. In addition, we 1.2× to 2.2× as fast as running make -j64 locally on the show that gg can be used to implement video processing 64-core machine itself—and that the thunk abstraction is and MapReduce workloads similar to those in ExCam- applicable to a broad range of tasks. era [21] and PyWren [32]. To achieve these results, gg is built on two key con- 1 Introduction cepts. First, gg represents work graphs through an ab- straction called thunks, which are self-contained units of The scale and elasticity of cloud platforms gives us an computation specifying both the executable to run and its opportunity to dramatically rethink many computer appli- dependencies. Second, gg provides a novel mechanism cations. As cloud-computing platforms have developed, for automatically capturing an accurate dependency graph they have invariably become more fine-grained: for exam- from an existing application, called model substitution. ple, cloud vendors today offer hyper-elastic “serverless We briefly outline these concepts in turn. computing” platforms that can launch thousands of Linux Thunks: gg’s thunks are self-contained units of com- containers within seconds [4, 21, 32], and all the major putation that specify both an executable to run for a work- cloud vendors have switched to one-minute or ten-minute flow step and its dependencies and environment. For ex- minimum billing increments for VMs [7, 18, 22]. Re- ample, in a build system, the thunk for compiling a single searchers have already taken advantage of these platforms C source file will reference, as dependencies, the content to implement hyper-elastic versions of compute-intensive hashes of the source file, the header files it includes as applications including video encoding [21] and MapRe- dependencies, and the compiler binary itself. In a video duce [32]. processing job, a thunk might specify one chunk of the Making hyper-elastic platforms broadly available to video and the encoder binary that will operate on it. more applications, however, will require general APIs and Because thunks identify their complete functional foot- systems for accessing them, as opposed to the application- print, gg can evaluate them in diverse environments, in- specific systems designed in prior work. To this end, we cluding a local sandbox or an AWS Lambda function. propose gg, a system for efficiently and easily captur- Each thunk is named canonically in terms of its computa- ing a parallelizable application consisting of a DAG of tion task and dependencies (which can be other thunks), 1 which allows gg to memoize and reuse thunk results. By contrast, gg can execute the same build system in 1.25 Model substitution: Although applications can spec- minutes on AWS Lambda, with each stage billed with ify a thunk graph directly, gg also provides a novel and subsecond granularity. easy-to-use mechanism for capturing an accurate depen- Compiling LLVM (a toolkit for writing compilers) re- dency graph from an existing multi-process application, quires 86 minutes on a single core, 4 minutes using icecc called model substitution. In this mechanism, gg can sub- to outsource to a 64-core VM in the same region, and stitute model programs for each CPU-intensive executable 1.2 minutes with gg. invoked by a high-level driver process for the application These gains come with a caveat: automatically infer- (e.g., make, cmake, ninja, or even a shell script), by sim- ring dependencies in the first place requires running the Draft of Sep. 25, 2017 (under double-blind review; please do not redistribute) ply placing them in the PATH. As the driver process runs, original build system (e.g. make) with the compiler and these models execute only the minimal computation re- other programs replaced with models. The build system quired to determine each execution’s dependencies; for itself can become a bottleneck, especially if it involves example, gg’s model for the C linker determines which recursive make and many dependencies and the client ma- libraries will be consulted to produce the output file, but chine is not well-endowed with CPU resources. On a cold does not actually link them. Each model program then start, inferring the tree of dependencies for inkscape outputs a thunk representing that computation and its required 2.5 minutes on the client machine (the 4-core inputs. We found that models are an effective way to au- VM), and 2.75 minutes for LLVM. tomatically and correctly infer dependencies from large Apart from software builds, we also use gg to imple- legacy applications; for example, by including models for ment a video processing workload similar to ExCam- just six common executables (gcc, g++, ld, ar, ranlib, era [21] and a MapReduce engine similar to PyWren [32], and strip), gg can automatically capture the dependency to show that gg’s thunk abstraction is general enough to graphs of many large open-source projects. capture these applications. We demonstrate gg through several example applica- In summary, we believe that the ability to divide com- tions. First, to showcase a complex application that is mon computational tasks into fine-grained tasks and exe- not supported by previous “serverless” systems, we used cute them over hyper-elastic functions-as-a-service plat- gg to implement a parallel build accelerator. Builds have forms like AWS Lambda, Google Cloud Functions, IBM traditionally been challenging to parallelize efficiently OpenWhisk, and Azure Functions will become a new for two reasons. First, to leverage parallelism, the build foundational use of these platforms. gg offers general and tool needs an accurate and fine-grained description of the powerful mechanisms to achieve this for a common class dependencies (e.g., from a Makefile): overspecifying of applications—multi-process Unix-like applications. gg dependencies will reduce parallelism, while underspec- is effective for a wide range of tasks ranging from “em- ifying them will lead to incorrect results. Second, cur- barrassingly parallel” MapReduce to parallel builds with rent parallel build-outsourcing tools, such as distcc and complex, irregular dependencies. icecc [16, 29], require many round trips between a mas- gg is open-source software; we have posted an anony- ter server and its workers (e.g., to send back intermediate mous version for review at https://github:com/gg-anon. build products), and perform poorly on a higher-latency connection to a public cloud. In contrast, using model sub- stitution, gg automatically discovers a fine-grained but 2 Related Work accurate dependency graph for a build simply by running the existing build system (e.g. make). This sometimes gg is related to several different classes of systems. finds more parallelism than the build system has itself. Workflow systems. gg treats computations as a DAG Then, gg’s execution engine allows it to upload all input of tasks, in a similar manner to Dryad [31], CIEL [39], files and submit the execution graph without repeated Spark [50], and many scientific workflow systems [35]. round trips, running with up to 1000-way parallelism. However, gg differs from these systems in two important ways: its abstraction of a thunk to capture each task, and 1.1 Summary of results the manner in which gg can build up the thunk graph from an arbitrary (Unix-like) application using models. gg on AWS Lambda outperforms existing parallel out- gg’s thunk abstraction differs from tasks in typical sourced build systems running in the EC2 cloud, without workflow systems in two ways. First, a thunk in gg is requiring changes to the program’s build system.
Recommended publications
  • Freenas® 11.0 User Guide
    FreeNAS® 11.0 User Guide June 2017 Edition FreeNAS® IS © 2011-2017 iXsystems FreeNAS® AND THE FreeNAS® LOGO ARE REGISTERED TRADEMARKS OF iXsystems FreeBSD® IS A REGISTERED TRADEMARK OF THE FreeBSD Foundation WRITTEN BY USERS OF THE FreeNAS® network-attached STORAGE OPERATING system. VERSION 11.0 CopYRIGHT © 2011-2017 iXsystems (https://www.ixsystems.com/) CONTENTS WELCOME....................................................1 TYPOGRAPHIC Conventions...........................................2 1 INTRODUCTION 3 1.1 NeW FeaturES IN 11.0..........................................3 1.2 HarDWARE Recommendations.....................................4 1.2.1 RAM...............................................5 1.2.2 The OperATING System DeVICE.................................5 1.2.3 StorAGE Disks AND ContrOLLERS.................................6 1.2.4 Network INTERFACES.......................................7 1.3 Getting Started WITH ZFS........................................8 2 INSTALLING AND UpgrADING 9 2.1 Getting FreeNAS® ............................................9 2.2 PrEPARING THE Media.......................................... 10 2.2.1 On FreeBSD OR Linux...................................... 10 2.2.2 On WindoWS.......................................... 11 2.2.3 On OS X............................................. 11 2.3 Performing THE INSTALLATION....................................... 12 2.4 INSTALLATION TROUBLESHOOTING...................................... 18 2.5 UpgrADING................................................ 19 2.5.1 Caveats:............................................
    [Show full text]
  • Managing Projects with GNU Make, Third Edition by Robert Mecklenburg
    ManagingProjects with GNU Make Other resources from O’Reilly Related titles Unix in a Nutshell sed and awk Unix Power Tools lex and yacc Essential CVS Learning the bash Shell Version Control with Subversion oreilly.com oreilly.com is more than a complete catalog of O’Reilly books. You’ll also find links to news, events, articles, weblogs, sample chapters, and code examples. oreillynet.com is the essential portal for developers interested in open and emerging technologies, including new platforms, pro- gramming languages, and operating systems. Conferences O’Reilly brings diverse innovators together to nurture the ideas that spark revolutionary industries. We specialize in document- ing the latest tools and systems, translating the innovator’s knowledge into useful skills for those in the trenches. Visit con- ferences.oreilly.com for our upcoming events. Safari Bookshelf (safari.oreilly.com) is the premier online refer- ence library for programmers and IT professionals. Conduct searches across more than 1,000 books. Subscribers can zero in on answers to time-critical questions in a matter of seconds. Read the books on your Bookshelf from cover to cover or sim- ply flip to the page you need. Try it today with a free trial. THIRD EDITION ManagingProjects with GNU Make Robert Mecklenburg Beijing • Cambridge • Farnham • Köln • Sebastopol • Tokyo Managing Projects with GNU Make, Third Edition by Robert Mecklenburg Copyright © 2005, 1991, 1986 O’Reilly Media, Inc. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use.
    [Show full text]
  • Red Hat Enterprise Linux 6 Developer Guide
    Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Dave Brolley William Cohen Roland Grunberg Aldy Hernandez Karsten Hopp Jakub Jelinek Developer Guide Jeff Johnston Benjamin Kosnik Aleksander Kurtakov Chris Moller Phil Muldoon Andrew Overholt Charley Wang Kent Sebastian Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Edition 0 Author Dave Brolley [email protected] Author William Cohen [email protected] Author Roland Grunberg [email protected] Author Aldy Hernandez [email protected] Author Karsten Hopp [email protected] Author Jakub Jelinek [email protected] Author Jeff Johnston [email protected] Author Benjamin Kosnik [email protected] Author Aleksander Kurtakov [email protected] Author Chris Moller [email protected] Author Phil Muldoon [email protected] Author Andrew Overholt [email protected] Author Charley Wang [email protected] Author Kent Sebastian [email protected] Editor Don Domingo [email protected] Editor Jacquelynn East [email protected] Copyright © 2010 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
    [Show full text]
  • Java Cheat Sheet
    Java Cheat Sheet Mosh Hamedani Code with Mosh (codewithmosh.com) 1st Edition About this Cheat Sheet This cheat sheet includes the materials I’ve covered in my Java tutorial for Beginners on my YouTube channel: https://www.youtube.com/user/programmingwithmosh Both the YouTube tutorial and this cheat cover the core language constructs and they are not complete by any means. If you want to learn everything Java has to offer and become a Java expert, check out my Ultimate Java Mastery Series. https://codewithmosh.com/courses/the-ultimate-java-mastery-series About the Author Hi! My name is Mosh Hamedani. I’m a software engineer with two decades of experience and I’ve taught over three million people how to code or how to become a professional software engineer. It’s my mission to make software engineering simple and accessible to everyone. https://codewithmosh.com https://youtube.com/user/programmingwithmosh https://twitter.com/moshhamedani https://facebook.com/programmingwithmosh/ Basics ...................................................................6 Java Development Kit ..............................................................................6 Java Editions ............................................................................................6 How Java Code Gets Executed ................................................................6 Architecture of Java Applications ..........................................................6 5 Interesting Facts about Java ................................................................7
    [Show full text]
  • The Saratoga Falcon the Saratoga Falcon 2 NEWS December 13, 2019 December 13, 2019 NEWS 3 Picturethis Maintenance, Green Team to Start Composting
    LIFESTYLE 9 SCHOOL SCOPE 12-13 SPORTS 19 Reporters Students Cultural Non-Profit discuss their explore art activities Organization U.S. Postage strangest in a STEM- connect PAID superstitions focused school students to Saratoga, CA Permit No. 41 and beliefs. environment. heritage. THE saratogafalconAN INDEPENDENT HIGH SCHOOL PUBLICATION Friday, December 13, 2019 Saratoga High School Saratoga, CA saratogafalcon.org Vol. 60, No. 6 Applying Mosh madness: admin to 30+ combats aggressive colleges UPHILL clustering at dances no longer BY SofiaJones ing. Eventually the dozens on & KavitaSundaram the dance floor began moshing even though administrators have unheard of Last Saturday, about 560 stu- banned it last year. dents walked into the Large Gym Moshing is an aggressive style BY SelenaLiu BATTLE and were greeted with of dance where partici- & KevinSze decorations that included pants push or slam into oversized white curtains, each other. It usually hap- After most early-decision and “It’s letting chandeliers, flashing pens in the center of a early-action college deadlines parents know, ‘I lights and gold and white crowd. Although deeply came and went on Nov. 1, many couches for the Roaring discouraged by the ad- seniors are now halfway com- know you were 20s themed Winter For- ministration, it has oc- plete with the college application mal. A photo booth with curred numerous times process and are finishing college great at physics, a silver sparkly backdrop in on-campus dances, essays for their regular decision but it doesn’t provided students with Torrens despite the physical harm schools. on-theme photo oppor- it can cause.
    [Show full text]
  • Minutes of 15-May-2021 Board Meeting on 05/15/2021 Summary of Matters Arising
    Seattle Pups and Handlers 15-May-2021 Board Meeting Take this opportunity to join your board of Dire ctors for SEA-PAH's monthly Board Me e ting and take an active role in your community. This is, hands-down, the BEST way to know what is curre ntly happe ning in the SEA-PAH community and to offe r your ide as and input for future plans and e ve nts! Important! since this me e ting will be using Goog le , ple ase take care to e dit your use rname to your liking PRIOR to joining the me e ting ! Who is our Board of Dire ctors? Click He re to me e t the m online ! This is a 18 + e ve nt Whe n 0 5/15/20 21 at 11:0 0 Location: Z oom, Z oom Confe re ncing Join via Z oom https://z oom.us/j/9 8 240 18 49 52? pwd=UjJXaW1FSjZ SNk9 6 Y29 sdVBCe jJz dz 0 9 (ID: 9 8 240 18 49 52) Chairpe rson Nig htcat Cat Minute take r Ste ve n Lokie Minutes 1. Meeting Called to Order Calle d to Orde r at 11:0 1a 2. Roll call Nig htcat Rosco Baus Yukon Ste ve n Lokie Care ssa *PupWinston 3. Approve of Aprils Meeting minuets https://docs.g oog le.com/document/d/1j89 g 8IoDejWeabyVnfeUwwyf6 GXq2raxZ Pok- vudxhc/edit# Rosco / Care ssa No discussion Yay 5 Decisio n Approve d 4 . Open floor to g uests None 5.
    [Show full text]
  • Open WATCOM Programmer's Guide
    this document downloaded from... Use of this document the wings of subject to the terms and conditions as flight in an age stated on the website. of adventure for more downloads visit our other sites Positive Infinity and vulcanhammer.net chet-aero.com Watcom FORTRAN 77 Programmer's Guide Version 1.8 Notice of Copyright Copyright 2002-2008 the Open Watcom Contributors. Portions Copyright 1984-2002 Sybase, Inc. and its subsidiaries. All rights reserved. Any part of this publication may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without the prior written permission of anyone. For more information please visit http://www.openwatcom.org/ Portions of this manual are reprinted with permission from Tenberry Software, Inc. ii Preface The Watcom FORTRAN 77 Programmer's Guide includes the following major components: · DOS Programming Guide · The DOS/4GW DOS Extender · Windows 3.x Programming Guide · Windows NT Programming Guide · OS/2 Programming Guide · Novell NLM Programming Guide · Mixed Language Programming · Common Problems Acknowledgements This book was produced with the Watcom GML electronic publishing system, a software tool developed by WATCOM. In this system, writers use an ASCII text editor to create source files containing text annotated with tags. These tags label the structural elements of the document, such as chapters, sections, paragraphs, and lists. The Watcom GML software, which runs on a variety of operating systems, interprets the tags to format the text into a form such as you see here. Writers can produce output for a variety of printers, including laser printers, using separately specified layout directives for such things as font selection, column width and height, number of columns, etc.
    [Show full text]
  • COMPILING FUNCTIONAL PROGRAMMING CONSTRUCTS to a LOGIC ENGINE by Harvey Abramson and Peter Ludemann Technical Report 86-24 November 1986
    COMPILING FUNCTIONAL PROGRAMMING CONSTRUCTS TO A LOGIC ENGINE by Harvey Abramson and Peter Ludemann Technical Report 86-24 November 1986 Compiling Functional Programming Constructs to a Logic Engine Harvey Abramson t and Peter Ltidemann:I: Department of Computer Science University of British Columbia Vancouver, B.C., Canada V6T 1W5 Copyright © 1986 Abstract In this paper we consider how various constructs used in functional programming can be efficiently translated to code for a Prolog engine (designed by Ltidemann) similar in spirit but not identical to the Warren machine. It turns out that this Prolog engine which contains a delay mechanism designed to permit co­ routining and sound implementation of negation is sufficient to handle all common functional programming constructs; indeed, such a machine has about the same efficiency as a machine designed specifically for a functional programming language. This machine has been fully implemented. t Present address: Department of Computer Science, Bristol University, Bristol, England . f Present address: IBM Canada Ltd., 1 Park Centre, 895 Don Mills Road, North York, Ontario, Canada M3C 1W3 The proposals for combining the two paradigms Compiling Functional Programming have been roughly classified in [BoGi86] as being Constructs to a Logic Engine either functional plus logic or logic plus functional. Harvey Abramson t and Peter Ltidemanni In the former approach, invertibility, nondeterminism Department of Computer Science and unification are added to some higher order functional language; in the latter approach, first-order University of British Columbia functions are added to a first-order logic with an Vancouver, B.C., Canada V6T lWS equality theory. We do not take any position as to Copyright© 1986 which approach is best, but since a logic machine already deals with unification, nondeterminism and invertibility, we have taken, from an implementation Abstract viewpoint, the logic plus functional approach.
    [Show full text]
  • Parameter Passing, Generics, Exceptions
    Lecture 9: Parameter Passing, Generics and Polymorphism, Exceptions COMP 524 Programming Language Concepts Stephen Olivier February 12, 2008 Based on notes by A. Block, N. Fisher, F. Hernandez-Campos, and D. Stotts The University of North Carolina at Chapel Hill Parameter Passing •Pass-by-value: Input parameter •Pass-by-result: Output parameter •Pass-by-value-result: Input/output parameter •Pass-by-reference: Input/output parameter, no copy •Pass-by-name: Effectively textual substitution The University of North Carolina at Chapel Hill 2 Pass-by-value int m=8, i=5; foo(m); print m; # print 8 proc foo(int b){ b = b+5; } The University of North Carolina at Chapel Hill 3 Pass-by-reference int m=8; foo(m); print m; # print 13 proc foo(int b){ b = b+5; } The University of North Carolina at Chapel Hill 4 Pass-by-value-result int m=8; foo(m); print m; # print 13 proc foo(int b){ b = b+5; } The University of North Carolina at Chapel Hill 5 Pass-by-name •Arguments passed by name are re-evaluated in the caller’s referencing environment every time they are used. •They are implemented using a hidden-subroutine, known as a thunk. •This is a costly parameter passing mechanism. •Think of it as an in-line substitution (subroutine code put in-line at point of call, with parameters substituted). •Or, actual parameters substituted textually in the subroutine body for the formulas. The University of North Carolina at Chapel Hill 6 Pass-by-name array A[1..100] of int; array A[1..100] of int; int i=5; int i=5; foo(A[i], i); foo(A[i]); print A[i]; #print A[6]=7
    [Show full text]
  • Getting Started at the Demography Lab
    Getting started at the Demography Lab Carl Mason [email protected] rev 1.4 Spring 2016 Contents 1 Introduction 1 1.1 Getting a userid . 1 1.2 Figuring stuff out . 2 1.3 Things to be aware of when logging on to a Linux machine . 2 2 Email 3 3 Working remotely 3 4 Wireless access 4 4.1 Printing . 4 5 Statistical applications 4 6 Office applications 5 1 Introduction Welcome to the Demography Lab. This document is intended to get you started doing science at the Demography Department. 1.1 Getting a userid If you don't already have a userid and password, then you'll need to find Carl Mason ([email protected]) and give him a signed Statement of Compliance { which you can download from: http://lab.demog.berkeley.edu/Docs/statementofcompliance.pdf. 1 1.2 Figuring stuff out In addition to this woefully inadequate document, you can find out how to do some things and how not to do others by consulting: 1. The Web. Google for things like \introduction to Unix" or \Unix command line". There are many different flavors of Unix/Linux but the vast majority of commands work the same way on all of them. 2. The Virtual Lab wiki at http://lab.demog.berkeley.edu/LabWiki (focuses on using the lab remotely via FreeNX) 3. The Demography Lab website http://lab.demog.berkeley.edu 4. Any of your new colleagues whom you might find in or near the com- puter lab. 1.3 Things to be aware of when logging on to a Linux ma- chine Once you have a userid and password you can and should logon to a Linux workstation.
    [Show full text]
  • Kdesrc-Build Script Manual
    kdesrc-build Script Manual Michael Pyne Carlos Woelz kdesrc-build Script Manual 2 Contents 1 Introduction 8 1.1 A brief introduction to kdesrc-build . .8 1.1.1 What is kdesrc-build? . .8 1.1.2 kdesrc-build operation ‘in a nutshell’ . .8 1.2 Documentation Overview . .9 2 Getting Started 10 2.1 Preparing the System to Build KDE . 10 2.1.1 Setup a new user account . 10 2.1.2 Ensure your system is ready to build KDE software . 10 2.1.3 Setup kdesrc-build . 12 2.1.3.1 Install kdesrc-build . 12 2.1.3.2 Prepare the configuration file . 12 2.1.3.2.1 Manual setup of configuration file . 12 2.2 Setting the Configuration Data . 13 2.3 Using the kdesrc-build script . 14 2.3.1 Loading project metadata . 14 2.3.2 Previewing what will happen when kdesrc-build runs . 14 2.3.3 Resolving build failures . 15 2.4 Building specific modules . 16 2.5 Setting the Environment to Run Your KDEPlasma Desktop . 17 2.5.1 Automatically installing a login driver . 18 2.5.1.1 Adding xsession support for distributions . 18 2.5.1.2 Manually adding support for xsession . 18 2.5.2 Setting up the environment manually . 19 2.6 Module Organization and selection . 19 2.6.1 KDE Software Organization . 19 2.6.2 Selecting modules to build . 19 2.6.3 Module Sets . 20 2.6.3.1 The basic module set concept . 20 2.6.3.2 Special Support for KDE module sets .
    [Show full text]
  • Installing the Klocwork Server Package
    Installation and Upgrade Klocwork Insight 10.0 SR6 Document version 1.6 Klocwork Installation and Upgrade Version 10.0 PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Tue, 12 Aug 2014 15:19:51 EST Contents Articles Before you install 1 System requirements 1 Release Notes 11 About the Klocwork packages and components 24 Upgrading from a previous version 26 Upgrading from a previous version 26 Import your existing projects into a new projects root 27 Migrate your projects root directory 31 Installing the Klocwork Server package on Windows -- Upgrade only 36 Installing the Klocwork Server package on Unix -- Upgrade only 37 Installing the Klocwork Server package on Mac -- Upgrade only 40 Get a license 42 Getting a license 42 Installing the Server package 45 Installing Klocwork Insight 45 Installing the Klocwork Server package on Windows 46 Installing the Klocwork Server package on Unix 49 Installing the Klocwork Server package on Mac 52 Viewing and changing Klocwork server settings 54 Downloading and deploying the desktop analysis plug-ins 56 kwupdate 57 Installing a desktop analysis plug-in or command line utility 59 Installing a desktop analysis plug-in 59 Installing the Klocwork plug-in from the Eclipse update site 62 Running a custom installation for new or upgraded IDEs 63 Installing the Distributed Analysis package 64 Installing the Distributed Analysis package 64 Configuring and starting the Klocwork servers 67 Viewing and changing Klocwork server settings 67
    [Show full text]