Sequencer: Smart Control of Hardware and Software Components in Clusters (And Beyond)

Total Page:16

File Type:pdf, Size:1020Kb

Sequencer: Smart Control of Hardware and Software Components in Clusters (And Beyond) Sequencer: smart control of hardware and software components in clusters (and beyond). Dr. Pierre Vignéras [email protected] Extreme Computing R&D Bull, Architect of an Open World www.bull.com September 15, 2011 Abstract tures [1], EPO may happen for various reasons. In such cases, stopping (or starting, both cases are ad- Starting/stopping a whole cluster or a part of it is dressed) macro components such as a whole rack or a a real challenge considering the dierent commands rack set requires an appropriate sequence of actions. related to various device types and manufacturers, Considering the vast number of dierent components and the order that should be respected. This arti- a cluster is composed of: cle presents a solution called the sequencer that al- nodes: compute nodes2, login nodes, management lows the automatic shutting down and starting up nodes, io (nfs, lustre, ...) nodes, ... of clusters, subset of clusters or even data-centers. It provides two operation modes designed for ease hardware: power switches (also called Power Dis- of use and emergency conditions. Our product has tribution Units or PDUs), ethernet switches, in- been designed to be ecient and it is currently used niband [2] switches, cold doors3, disk arrays, to power on and power o one of the largest cluster ... in the world: the Tera-100, made of more than 4000 powering on/o a whole set of racks can be a real nodes. challenge. Keywords: emergency power o, start/stop First, since it is made of a set of heterogeneous procedure, actions sequencing, workow, devices, starting/stopping each component of a clus- planning, cluster management, automation, ter is not straightforward: usually each device type case study. comes with its own poweron/o command. For ex- ample, shutting down a node can be as simple as an 1 Introduction 2From a hardware perspective, a node in a cluster is just a computer. A distinction is made however between nodes de- pending on their roles in the cluster. For example, user might Emergency Power O (EPO) is often not consid- connect to a login node for development, and job submission. ered from a system administration point of view in The batch scheduler runs on the management node and dis- traditionnal clusters1. Even for Tier-IV infrastruc- patch jobs to compute nodes. Compute nodes access storage through io nodes and so on. 1In this article, we consider clusters because they are the 3A cold door is a water-based cooling system produced by rst target of our solution. However, this solution also applies Bull that allows high density server in the order of 40 kW per to general data-centers. rack. 1 'ssh host /sbin/halt -p'. However, it might be Our proposition called the sequencer ad- preferable to use an out of band command through dresses the problem of starting/stopping a cluster (or the IPMI BMC4 if the node is unresponsive for ex- a data-center). Its design takes into account emer- ample. Starting a node can be done using a wake on gency conditions. Those conditions impose various lan [3] command or an IPMI [4] command. Some de- constraints addressed by our solution: vices cannot be powered on/o remotely (inniband or ethernet switches for example). Those devices • Predictive: an EPO should have been validated might be connected to manageable Power Distribu- before being used. It should not perform un- tion Units (PDUs) that can remotely switch their known actions. outlets on/o using SNMP [5] commands. On the extreme case, manual intervention might be required • Easy: an EPO should be easy to launch. The to switch on/o the electrical power. emergency cause may happen at any time, espe- For software components, there is also a need cially when skilled sta is not present. There- to manage the shutdown of multiple components fore, the EPO procedure should be launchable on dierent nodes. Considering high availability by unskilled humans. framework, virtualization, localization, and clients, Fast: an EPO should be as fast as possible. using standard calls to /etc/init.d/service • [start|stop] is often inappropriate. • Smart: an EPO should power o each compo- Finally, the set of instructions for the powering nent of a cluster in the correct order so most on/o of each cluster's components should be or- resources will be preserved. dered. Trivial examples include: Robust: an EPO should be tolerant to failure. powering o an ethernet switch too soon may • • For example, if a shutdown on a node cooled by prevent other components, including nodes, from a cold door returned an error, the corresponding being powered o; cold door should not be switched o to prevent the burnout of the node. On the other side, the • powering o a cold door should be done at the very end to prevent cooled components from be- rest of the cluster can continue the EPO process. ing burnt out. This article is organized as follow: section 2 exposes By the way, this ordering problem is not only relevant the design of our solution while some implementation to hardware devices. A software component can also details are dealt with in section 3 following by scala- require that a sequence of instructions is executed bility issues in section 4. Some results of our initial before being stopped. As a trivial example, when implementation are given section 5. Section 6 com- an NFS daemon is stopped, one may prefer that all pares our solution to related works. Finally, section 7 NFS clients unmount their related directories rst in presents future works. order to prevent either the ll of syslog with NFS mount error (when NFS mount option is 'soft') or the load average brutal increase due to the freezing 2 Design of softwares accessing the NFS directories (when NFS mount option is 'hard'). Three major diculties arise when considering the Therefore, in this article, the generic term 'com- starting/stopping of a cluster or of a subset of it: ponent' may dene a hardware component such as a 1. the computing of the dependency graph between node, a switch, or a cold door, or a software compo- components (power o a cold door after all com- nent such as a lustre server or an NFS server. ponents of the related rack have been powered 4Baseboard Management Controller. o); 2 2. the dening of an ecient (scalable) instructions sequence where the order dened by the depen- dency graph is respected (powering o nodes might be done in parallel); 3. the execution of the instructions set itself, taking failure into account properly (do not power o the cold door, if related rack's nodes have failed to power o). Therefore, the sequencer is made of three distinct functional layers: Dependency Graph Maker (DGM): this layer Figure 2.1: Incremental Mode: each stage output can computes the dependency graph according to de- be veried and modied before being passed to the pendency rules dened by the system adminis- next one. trator in a database. Instructions Sequence Maker (ISM): this layer computes the instructions sequence that should be executed for starting/stopping the given list of components and that satises dependency constraints dened in the dependency graph computed by the previous layer. Figure 2.2: Black Box Mode: using the sequencer for Instructions Sequence Executor (ISE): this simple non-critical usage. layer executes the instructions sequence com- puted by the previous layer and manages the handling of failures. Black Box Mode: in this mode, illustrated in g- Finally, a chaining of those layers is supported ure 2.2, chaining feature is used to start/stop through an all-in-one command. components as shown by the following syntax: This design provides therefore two distinct pro- # clmsequencer \ # command name cesses for the starting/stopping of components: stop \ # ruleset name colddoor3 node[100-200] # components list Incremental Mode: in this mode, each stage is run This command is somewhat equivalent to the fol- separately. The output of each stage can be ver- lowing: ied and modied before being passed to the # clmsequencer \ # command name next stage as shown on gure 2.1. The incre- depmake \ # dgm stage mental mode generates a script from constraints stop \ # ruleset name expressed in a database table and from a com- colddoor3 node[100-200] \ # components list ponents list. This script is optimized in terms |clmsequencer seqmake \ # ism stage of scalability and is intepretable by the instruc- |clmsequencer seqexec # ise stage tions sequence executor that deals with paral- and can therefore be seen as a syntactic sugar. lelism and failures. This mode is the one de- signed for emergency cases. The instructions set The computation of the dependency graph and of computed should be validated before being used the instruction set can take a signicant amount of in production. time, especially on very large clusters such as the 3 Tera-1005. This is another good reason for choosing prex[a-b,c-d,...]: is the standard contracted nota- the incremental mode in emergency conditions where tion for designing a set of names prexed by each minute is important. 'prefix' and suxed by a number taken in the range given by intervals [a − b], [c − d], and so on. For example, compute[1-3,5,7-8] de- 3 Implementation nes names: compute1, compute2, compute3, compute5, compute7, compute8. 3.1 Dependency Graph Maker (DGM) category: is optionnal and denes the table6 where given names should be looked for their type The Dependency Graph Maker (DGM) is the rst (if not given). The type of a component is stage of the sequencer. It takes a components list used in the denition of the dependency table in parameter, and produces a dependency graph in as described in section 3.1.2.
Recommended publications
  • Scons API Docs Version 4.2
    SCons API Docs version 4.2 SCons Project July 31, 2021 Contents SCons Project API Documentation 1 SCons package 1 Module contents 1 Subpackages 1 SCons.Node package 1 Submodules 1 SCons.Node.Alias module 1 SCons.Node.FS module 9 SCons.Node.Python module 68 Module contents 76 SCons.Platform package 85 Submodules 85 SCons.Platform.aix module 85 SCons.Platform.cygwin module 85 SCons.Platform.darwin module 86 SCons.Platform.hpux module 86 SCons.Platform.irix module 86 SCons.Platform.mingw module 86 SCons.Platform.os2 module 86 SCons.Platform.posix module 86 SCons.Platform.sunos module 86 SCons.Platform.virtualenv module 87 SCons.Platform.win32 module 87 Module contents 87 SCons.Scanner package 89 Submodules 89 SCons.Scanner.C module 89 SCons.Scanner.D module 93 SCons.Scanner.Dir module 93 SCons.Scanner.Fortran module 94 SCons.Scanner.IDL module 94 SCons.Scanner.LaTeX module 94 SCons.Scanner.Prog module 96 SCons.Scanner.RC module 96 SCons.Scanner.SWIG module 96 Module contents 96 SCons.Script package 99 Submodules 99 SCons.Script.Interactive module 99 SCons.Script.Main module 101 SCons.Script.SConsOptions module 108 SCons.Script.SConscript module 115 Module contents 122 SCons.Tool package 123 Module contents 123 SCons.Variables package 125 Submodules 125 SCons.Variables.BoolVariable module 125 SCons.Variables.EnumVariable module 125 SCons.Variables.ListVariable module 126 SCons.Variables.PackageVariable module 126 SCons.Variables.PathVariable module 127 Module contents 127 SCons.compat package 129 Module contents 129 Submodules 129 SCons.Action
    [Show full text]
  • Life After Make - Building Software with Scons
    Life after Make - Building Software with SCons Joe VanAndel NCAR Atmospheric Technology Division Research Technology Facility November 20, 2003 SCons Slide 1 of 36 Audience survey • Do you enjoy using autoconf and make? (or do you just tolerate them!) • How frequently do you run “ make clean” - just to be safe! • What alternatives have you tried? November 20, 2003 SCons Slide 2 of 36 What's wrong with Make(1) • No built-in dependency tools • Quirky syntax – tabs matter – can't cut/paste text from makefiles! • Another “ little language” to learn. • Uses shell to extend Make's capabilities (shell is an awful programming language!) November 20, 2003 SCons Slide 3 of 36 include/linux/version.h: ./Makefile @expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \ (echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false) @echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver @echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver @echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))' >>.ver @mv -f .ver $@ November 20, 2003 SCons Slide 4 of 36 What's Wrong with Make(2) • Dependence on timestamps – – Clock skew in networked development systems – Fooled by restoring old source files • Make doesn't know that changing compiler flags builds different object files – Debug flags (-g) – Optimize flags (-02) – Pre-processor definitions (-DDEBUG_THIS) November 20, 2003 SCons Slide 5 of 36 What's Wrong with make(3) • Hard to build multi-directory projects
    [Show full text]
  • The WAF Build System
    The WAF build system The WAF build system Sebastian Jeltsch Electronic Vision(s) Kirchhoff Institute for Physics Ruprecht-Karls-Universität Heidelberg 31. August 2010 Sebastian Jeltsch The WAF build system 31. August 2010 1 / 19 The WAF build system Introduction WorkBuildflow Sebastian Jeltsch The WAF build system 31. August 2010 2 / 19 make = major pain What we expect from our build system: flexibility integration of existing workflows access to well established libraries extensibility power usability The WAF build system Introduction WorkBuildflow For us: low-level code many many layers Sebastian Jeltsch The WAF build system 31. August 2010 3 / 19 What we expect from our build system: flexibility integration of existing workflows access to well established libraries extensibility power usability The WAF build system Introduction WorkBuildflow For us: low-level code many many layers make = major pain Sebastian Jeltsch The WAF build system 31. August 2010 3 / 19 The WAF build system Introduction WorkBuildflow For us: low-level code many many layers make = major pain What we expect from our build system: flexibility integration of existing workflows access to well established libraries extensibility power usability Sebastian Jeltsch The WAF build system 31. August 2010 3 / 19 The WAF build system Introduction Autotools (GNU Build System) GNU Build System + few dependencies on user side (shell scripts) developer autoscan ed + generates standard make files + widely used configure.ac Makefile.am – platform dependent (bash aclocal autoheader automake scripts) aclocal.m4 config.h.in Makefile.in – autoconf-configure is slow autoconf Often: tconfigure >> tmake. – another scripting language configure Makefile make user Sebastian Jeltsch The WAF build system 31.
    [Show full text]
  • Iotivity and Iotivity-Lite • Resources for Getting Started
    Overview of IoTivity Projects Kishen Maloor, Intel June 2018 Agenda • What is IoTivity? • Structure of an OCF implementation • IoTivity and IoTivity-Lite • Resources for getting started 2 What is IoTivity? • Umbrella of projects for building IoT devices • Open-source, reference implementations of OCF specifications • Serve as starting point for developing and certifying OCF products Specifications Vertical Data Models Device Certification Strategy, Marketing Independent governance with coordinated efforts 3 Structure of an OCF implementation User space IoT Applications Outer functional blocks APIs & Language Security Manage on-boarding, Bindings Provisioning Provisioning credentials, Infrastructure Access-control lists OCF Resource Model Resource directory, Device High-level Services Wi-Fi Easy Setup, etc. Stack Security Flows Bridging to other Zigbee, Z-Wave, etc. IP Connectivity ecosystems Kernel space Network Interfaces OS & Kernel 4 IoTivity and IoTivity-Lite • IoTivity • Suitable only for more capable device classes • Runs on Linux, Windows, Android, macOS • Multiple language bindings: C, C++, Java, Node.js • IoTivity-Lite (formerly called IoTivity-Constrained) • Lightweight implementation of OCF specifications • Suitable for all device classes (including few constrained devices) • Runs on Linux, Windows, macOS, and multiple RTOSes • C APIs only 5 IoTivity Directory Structure auto_build.py NOTICE.md auto_build.sh plugins bridging prep.sh build_common README-building-and-running-remote-access-sample.txt cloud README.md CONTRIBUTING.md
    [Show full text]
  • Empirical Comparison of Scons and GNU Make
    Großer Beleg Empirical Comparison of SCons and GNU Make Ludwig Hähne August 21, 2008 Technical University Dresden Department of Computer Science Institute for System Architecture Chair for Operating Systems Professor: Prof. Dr. rer. nat. Hermann Härtig Tutor: Dipl.-Inf. Norman Feske Dipl.-Inf. Christian Helmuth Erklärung Hiermit erkläre ich, dass ich diese Arbeit selbstständig erstellt und keine anderen als die angegebenen Hilfsmittel benutzt habe. Dresden, den 26. Juni 2008 Ludwig Hähne Abstract Build systems are an integral part of every software developer’s tool kit. Next to the well-known Make build system, numerous alternative solutions emerged during the last decade. Even though the new systems introduced superior concepts like content signa- tures and promise to provide better build accuracy, Make is still the de facto standard. This paper examines GNU Make and SCons as representatives of two conceptually distinct approaches to conduct software builds. General build-system concepts and their respective realizations are discussed. The performance and scalability are empirically evaluated by confronting the two competitors with comparable real and synthetic build tasks. V Contents 1 Introduction 1 2 Background 3 2.1 Design Goals . .3 2.1.1 Convenience . .3 2.1.2 Correctness . .3 2.1.3 Performance . .3 2.1.4 Scalability . .4 2.2 Software Rebuilding . .4 2.2.1 Dependency analysis . .4 2.2.1.1 File signatures . .4 2.2.1.2 Fine grained dependencies . .5 2.2.1.3 Dependency declaration . .5 2.2.1.4 Dependency types . .5 2.2.2 Build infrastructure . .6 2.2.3 Command scheduling . .6 2.3 Build System Features .
    [Show full text]
  • Scons User Guide 0.96.91
    SCons User Guide 0.96.91 Steven Knight SCons User Guide 0.96.91 by Steven Knight Revision 0.96.91.D001 (2005/09/08 09:14:36) Edition Published 2004 Copyright © 2004 Steven Knight SCons User’s Guide Copyright (c) 2004 Steven Knight Table of Contents Preface..................................................................................................................................... i SCons Principles ........................................................................................................... i A Caveat About This Guide’s Completeness........................................................... i Acknowledgements .................................................................................................... ii Contact.......................................................................................................................... ii 1. Building and Installing SCons........................................................................................1 Installing Python ..........................................................................................................1 Installing SCons From Pre-Built Packages................................................................1 Installing SCons on Red Hat (and Other RPM-based) Linux Systems .......1 Installing SCons on Debian Linux Systems ....................................................2 Installing SCons on Windows Systems............................................................2 Building and Installing SCons on Any System ........................................................2
    [Show full text]
  • SCM: a Look at Scons and GNU Arch
    SCM: A look at SCons and GNU Arch ¡ ¢ £ ¤ ¥ Ben Leslie ¦ § ¡ ¨ © ¢ § ¨ ¡ © ¨ © 1 WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents WHAT IS SCM? 2 WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents No really, what is it ? WHAT IS SCM? 2-A WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents No really, what is it ? • Versioning WHAT IS SCM? 2-B WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents No really, what is it ? • Versioning • Building WHAT IS SCM? 2-C BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed BUILD SYSTEM – PURPOSE 3 BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed • Build everything required – correctness. BUILD SYSTEM – PURPOSE 3-A BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed • Build everything required – correctness. • Don’t build anymore then needed – performance. BUILD SYSTEM – PURPOSE 3-B BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed • Build everything required – correctness.
    [Show full text]
  • Writing a Reproducible Paper Using Latex and Madagascar
    Madagascar School of Reproducible Computational Geophysics Shanghai 2017 Writing a Reproducible Paper using LaTeX and Madagascar Jiubing Cheng & Yang Liu Acknowledgement Acknowledgement Acknowledgement Agenda Background & Motivations How to use SEGTeX Requirements Implement steps Rules Some tips An Example in RSFSRC/book/tutorial/authors Jiubing Cheng & Yang Liu 5 Agenda Background & Motivations How to use SEGTeX Requirements Implement steps Rules Some tips An Example in RSFSRC/book/tutorial/authors Jiubing Cheng & Yang Liu 6 The three branches of science From Euclid’s reasoning and Galileo’s experiments, it took hundreds of years for the theoretical and experimental branches of science to develop standards for publication and peer review. Computational science, rightly regarded as the third branch, can walk the same road much faster. Jiubing Cheng & Yang Liu What is science? When does computational research become scientific? “Science is the systematic enterprise of gathering knowledge about the universe and organizing and condensing that knowledge into testable laws and theories. The success and credibility of science are anchored in the willingness of scientists to independent testing and replication by other scientists. This requires the complete and open exchange of data, procedures and materials.” (See www.aps.org/policy/statements/99_6.cfm for more information.) Jiubing Cheng & Yang Liu Reproducible research The idea of a “replication by other scientists” in reference to computations is more commonly known as “reproducible research,” the term coined by Jon Claerbout, a geophysics professor at Stanford University. Soon after its inception in 2000, CiSE published a paper by Claerbout and his students on their experience with creating a reproducible research environment.
    [Show full text]
  • Scons User Guide 0.96.1
    SCons User Guide 0.96.1 Steven Knight SCons User Guide 0.96.1 by Steven Knight Revision 0.96.1.D001 (2004/08/23 09:55:29) Edition Published 2004 Copyright © 2004 by Steven Knight SCons User’s Guide Copyright (c) 2004 Steven Knight Table of Contents Preface..................................................................................................................................... i SCons Principles ........................................................................................................... i A Caveat About This Guide’s Completeness........................................................... i Acknowledgements .................................................................................................... ii Contact.......................................................................................................................... ii 1. Building and Installing SCons........................................................................................1 Installing Python ..........................................................................................................1 Installing SCons From Pre-Built Packages................................................................1 Installing SCons on Red Hat (and Other RPM-based) Linux Systems .......1 Installing SCons on Debian Linux Systems ....................................................2 Installing SCons on Windows Systems............................................................2 Building and Installing SCons on Any System ........................................................2
    [Show full text]
  • User Guide./ Plugins/ Input/ Shape/ Shapefile.Os
    ./ plugins/ input/ raster/ raster_info.os ./ plugins/ input/ raster/ raster_datasource.os ./ src/ font_engine_freetype.os ./ plugins/ input/ raster/ raster.input ./ src/ point_symbolizer.os ./ src/ scale_denominator.os ./ src/ envelope.os ./ src/ image_util.os ./ plugins/ input/ raster ./ src/ graphics.os ./ src/ text_symbolizer.os ./ plugins ./ src/ png_reader.os ./ src/ polygon_pattern_symbolizer.os ./ src/ map.os ./ src/ wkb.os ./ src/ line_pattern_symbolizer.os ./ src/ symbolizer.os ./ src/ plugin.os ./ plugins/ input/ raster/ raster_featureset.os ./ src/ layer.os ./ src/ proj_transform.os ./ src/ tiff_reader.os ./ src/ load_map.os ./ src ./ src/ datasource_cache.os ./ src/ save_map.os ./ plugins/ input ./ src/ libmapnik.so ./ plugins/ input/ shape/ shape.os ./ src/ color.os ./ src/ memory_datasource.os ./ src/ params.os ./ src/ placement_finder.os ./ src/ font_set.os ./ src/ libxml2_loader.os ./ plugins/ input/ shape/ shape_io.os ./ src/ arrow.os ./ src/ distance.os ./ plugins/ input/ shape ./ src/ agg_renderer.os ./ plugins/ input/ shape/ shape_index_featureset.os SCons 4.1.0 ./ src/ stroke.os ./ src/ memory.os ./ src/ projection.os ./ src/ image_reader.os ./ src/ unicode.os ./ plugins/ input/ shape/ shape.input ./ src/ shield_symbolizer.os ./ plugins/ input/ shape/ dbffile.os ./ src/ filter_factory.os User Guide./ plugins/ input/ shape/ shapefile.os ./ plugins/ input/ shape/ shape_featureset.os ./ agg/ src/ agg_trans_double_path.o The SCons./ agg/ src/ agg_sqrt_tables.o Development Team ./ bindings/ python/ mapnik_raster_symbolizer.os
    [Show full text]
  • Autotools: an Overview
    Autotools: An Overview Autotools: An Overview Danny Robson 2014-09-24 2014-09-24 Autotools: An Overview Danny Robson Overview Autotools autoconf Autotools: An Overview automake pkg-config Final Words Danny Robson 2014-09-24 Autotools: An Overview About Me Performance systems programming About Me C, C++ Linux GNU autotools Self-taught. Slowly. caveat emptor About Me Ask lots of questions 2014-09-24 Autotools: An Overview Danny Robson Overview Performance systems programming Autotools C, C++ autoconf Linux automake GNU pkg-config autotools Final Words Self-taught. Slowly. caveat emptor Ask lots of questions Autotools: An Overview About Me Performance systems programming About Me C, C++ Linux GNU autotools Self-taught. Slowly. caveat emptor About Me Ask lots of questions 2014-09-24 Autotools: An Overview Danny Robson Overview Performance systems programming Autotools C, C++ autoconf Linux automake GNU pkg-config autotools Final Words Self-taught. Slowly. caveat emptor Ask lots of questions Autotools: An Overview About Me Performance systems programming About Me C, C++ Linux GNU autotools Self-taught. Slowly. caveat emptor About Me Ask lots of questions 2014-09-24 Autotools: An Overview Danny Robson Overview Performance systems programming Autotools C, C++ autoconf Linux automake GNU pkg-config autotools Final Words Self-taught. Slowly. caveat emptor Ask lots of questions Autotools: An Overview What You're In For 1 Overview What You're In For 2 Autotools 3 autoconf What You're In For 4 automake 5 pkg-config 2014-09-24 6 Final Words Autotools:
    [Show full text]
  • MAN Page./Plugins/Input/Shape/Shapefile.Os
    ./plugins/input/raster/raster_info.os ./plugins/input/raster/raster_datasource.os ./src/font_engine_freetype.os ./plugins/input/raster/raster.input ./src/point_symbolizer.os ./src/scale_denominator.os ./src/envelope.os ./src/image_util.os ./plugins/input/raster ./src/graphics.os ./src/text_symbolizer.os ./plugins ./src/png_reader.os ./src/polygon_pattern_symbolizer.os ./src/map.os ./src/wkb.os ./src/line_pattern_symbolizer.os ./src/symbolizer.os ./src/plugin.os ./plugins/input/raster/raster_featureset.os ./src/layer.os ./src/proj_transform.os ./src/tiff_reader.os ./src/load_map.os ./src ./src/datasource_cache.os ./src/save_map.os ./plugins/input ./src/libmapnik.so ./plugins/input/shape/shape.os ./src/color.os ./src/memory_datasource.os ./src/params.os ./src/placement_finder.os ./src/font_set.os ./src/libxml2_loader.os ./plugins/input/shape/shape_io.os ./src/arrow.os ./src/distance.os ./plugins/input/shape ./src/agg_renderer.os ./plugins/input/shape/shape_index_featureset.os SCons 2.4.0 ./src/stroke.os ./src/memory.os ./src/projection.os ./src/image_reader.os ./src/unicode.os ./plugins/input/shape/shape.input ./src/shield_symbolizer.os ./plugins/input/shape/dbffile.os ./src/filter_factory.os MAN page./plugins/input/shape/shapefile.os ./plugins/input/shape/shape_featureset.os ./agg/src/agg_trans_double_path.o Steven Knight./agg/src/agg_sqrt_tables.o and the SCons Development./bindings/python/mapnik_raster_symbolizer.os Team ./bindings/python/mapnik_text_symbolizer.os ./agg/src/agg_vcgen_dash.o ./agg/src/agg_bezier_arc.o ./agg/src/agg_vpgen_clip_polygon.o
    [Show full text]