Package Manager: the Core of a GNU/Linux Distribution

Total Page:16

File Type:pdf, Size:1020Kb

Package Manager: the Core of a GNU/Linux Distribution Package Manager: The Core of a GNU/Linux Distribution by Andrey Falko A Thesis submitted to the Faculty in partial fulfillment of the requirements for the BACHELOR OF ARTS Accepted Paul Shields, Thesis Adviser Allen Altman, Second Reader Christopher K. Callanan, Third Reader Mary B. Marcy, Provost and Vice President Simon’s Rock College Great Barrington, Massachusetts 2007 Abstract Package Manager: The Core of a GNU/Linux Distribution by Andrey Falko As GNU/Linux operating systems have been growing in popularity, their size has also been growing. To deal with this growth people created special programs to organize the software available for GNU/Linux users. These programs are called package managers. There exists a very wide variety of package managers, all offering their own benefits and deficiencies. This thesis explores all of the major aspects of package management in the GNU/Linux world. It covers what it is like to work without package managers, primitive package man- agement techniques, and modern package management schemes. The thesis presents the creation of a package manager called Vestigium. The creation of Vestigium is an attempt to automate the handling of file collisions between packages, provide a seamless interface for installing both binary packages and packages built from source, and to allow per package optimization capabilities. Some of the features Vestigium is built to have are lacking in current package managers. No current package manager contains all the features which Vestigium is built to have. Additionally, the thesis explains the problems that developers face in maintaining their respective package managers. i Acknowledgments I thank my thesis committee members, Paul Shields, Chris Callanan, and Allen Altman for being patient with my error-ridden drafts. Thank you for the feedback, the encourage- ment, and being diligent in responding to my questions. I thank my most excellent friend, Rigels. You have encouraged me throughout this whole process. Every time I stop and think about how much work I need to complete, I say to myself, “Rigels is working really hard to become a dentist. I need to work hard to learn computers inside out”. I will always cherish how you would greet me and ask, “What’s this? Where are the commits [to the thesis project subversioning repository]? I want to see more commits”. I thank you for being so interested in my project and sometimes forcing me to bounce complicated ideas off of you. I also thank you for coming to my residence one day and helping me debug the most difficult pieces of code of Vestigium. I would not have enjoyed writing this thesis without your presence. I thank Daniel Villarreal for sacrificing his time to proofread the thesis to help me prepare it for its final draft. I thank Ryan Hoffman for showing interest in the project and for sacrificing his time to proofread the third chapter. I thank Evan Didier for showing interest in my thesis and pointing out errors in the final draft. I thank Fedor Labounko, Mike Haskel, and my uncle Leo for showing interest in my thesis project and allowing me to bounce some ideas off of you all. I further thank Fedor for answering many of my questions about the thesis formatting and writing process. I thank the open source software developers who volunteer their free time to develop software that I use free of charge and almost free of problems. Your work inspires millions of people, including me. Finally, I thank my father for instilling in me the discipline, will, and patience necessary for completing projects of this magnitude. I thank you for providing the resources to make everything possible. I also thank you both for showing interest in my work and for helping me overcome all of the hardships that I had to overcome in life. ii Contents 0.1 Introduction . 1 1 Optimization 8 1.1 Linux . 8 1.1.1 File Systems . 12 1.2 Toolchain . 13 1.2.1 Glibc . 14 1.2.2 Gcc . 14 1.2.3 Binutils . 18 1.3 Benchmarking . 19 1.3.1 Scimark . 20 1.3.2 Bashmark . 22 1.3.3 Lame . 24 1.3.4 Povray . 25 1.3.5 Kernel Benchmarks . 26 2 Package Managers: Making Life Easy 27 2.1 Linux From Scratch . 28 2.2 Package Management Techniques . 37 2.2.1 Directory and PATH Method . 38 2.2.2 Directory and Link Method . 39 iii 2.2.3 Timestamp Method . 39 2.2.4 Users method . 40 2.2.5 LD PRELOAD Method . 42 2.2.6 Temporary Build Directory Method . 43 2.3 Binary Packages . 43 2.4 Primitive Package Managers . 44 2.4.1 Pkgtool . 45 2.4.2 RPM . 47 2.4.3 Dpkg . 51 2.5 High-level Package Managers . 52 2.5.1 Apt . 53 2.5.2 Swup . 55 2.5.3 Pacman . 57 2.6 Centralized Package Managers . 58 2.6.1 Portage . 60 2.7 Maintaining Package Managers . 66 2.7.1 Keeping Up To Date . 66 2.7.2 ABI Changes . 67 2.7.3 Toolchain Weaknesses . 67 2.7.4 Branches . 68 2.7.5 Bug Reporting Systems . 70 2.7.6 Optimization . 71 2.8 Frontends . 72 3 The Birth of a Distribution: Developing the Package Manager 74 3.1 Determining Features . 75 3.2 User Interaction . 77 3.3 Implementation . 85 iv 3.3.1 Libraries . 88 3.3.2 User Requests . 90 3.3.3 Queues . 92 3.3.4 Subroutines . 96 3.3.5 File Tracking . 101 3.4 Strengths and Weaknesses of Implementation . 106 4 Maintaining a Distribution 110 4.1 Using Simulation to Estimate Personnel Requirements . 112 4.2 The Maintainer Scheme: Pros and Cons . 114 4.3 Attracting and Keeping Developers . 116 4.4 Attracting and Keeping Users . 118 5 Conclusion 120 5.1 Further Research . 123 A Understanding Levels of Optimization 125 B Circular Dependencies 126 C Source Code 127 C.1 Vestigium . 128 C.1.1 vestigium . 128 C.1.2 cont.lib . 139 C.1.3 names.lib . 140 C.1.4 search.lib . 141 C.1.5 cp . 145 C.1.6 install . 147 C.1.7 ln . 149 C.1.8 mkdir . 151 v C.1.9 mv . 152 C.1.10 vestigium.conf . 154 C.1.11 subarchs . 156 C.1.12 vesport . 157 C.2 Sysmark . 162 C.2.1 sysmark . 162 C.2.2 parse . 166 C.2.3 README . 167 C.2.4 Makefile . 168 C.3 Simulation . 169 C.3.1 main . 169 C.3.2 maintainers-create . 174 C.3.3 pkg-comp-times-retrieve . 175 C.3.4 retrieve-pkg-commit-times . 176 vi 0.1 Introduction Contrast a small village with a large city. In the village, everyone knows everyone else, what everyone does, the conflicts between people, who is friends with whom, etc. In a city, the opposite is the case. One does not know the names of every person one passes. No one knows whether two individuals might argue if they are in close proximity. The village people can manage themselves without needing a large bureaucratic order, while the city remains standing only because of such a bureaucratic order. GNU/Linux distributions are like a city. A GNU/Linux distribution is made up of thou- sands of pieces of software. It is nearly impossible to have a usable distribution with less than three hundred packages. To manage all of the pieces in a distribution, some sort of structure is needed. This structure is centered around the idea of package management. The purpose of package management is to allow the tracking of all the pieces of software that comprise a distribution. In this way, civil order can be maintained and conflicts avoided. Most GNU/Linux distributions differ from proprietary operating systems, such as Mi- crosoft’s Windows and Apple’s Mac OS, by how much control a user can have. GNU/Linux operating systems, depending on how their package management systems are organized, al- low the user greater flexibility in shaping the operating system. This flexibility can address significant needs and preferences – more significant than, for instance, merely being able to change the background picture on a desktop. The needs in this context might include things like bug fixes, security upgrades, and hardware constraints; while preferences might involve, say, a user’s like or dislike for having a minimal versus maximal set software, or their desire to optimize the system for particular hardware. This thesis examines package management in GNU/Linux distributions and explores almost every aspect of package management. We examine the intricacies of optimizing software as well as bootstrapping compilers. We probe and describe just about all theoreti- cal and practical ways to manage software on a system. We go as far as creating a package manager and outlining how distributions can manage their personnel. 1 The first chapter delves deeply into how a GNU/Linux system is optimized. This chap- ter introduces the reader to most aspects of optimization that.
Recommended publications
  • Mkusb Quick Start Manual
    Dus, guidus, mkusb version 12 quick start manual by sudodus alias nio-wiklund at launchpad 14 August 2021 mkusb - quick start manual 1 Prepare for mkusb ● Drives alias mass storage devices – You need two drives or mass storage devices (pendrive, flash card, HDD, SSD). The minimum sizes are 2 GB and 8 GB, but obviously the final operating system will soon need more space for your personal files as well as for additional system files (program packages), ● a drive for the installer at least as big as the iso file for cloning, so minimum 2 GB for Ubuntu Server, 4 GB for standard Ubuntu desktop and the Ubuntu family flavours for a live only system and 8 GB or more for a persistent live system (typically a USB pendrive, but a memory card or an external SSD will also work), ● a drive for the target, the final installed operating system (typically an internal drive, but it could also be connected via USB, eSATA or a card reader). Minimum 8 GB for Lubuntu but 16 GB or more is better, and standard Ubuntu desktop with a lot of snaps needs at least 32 GB. ● Backup – Backup all personal data before trying this method because the installer drive and maybe also the target drive will be completely overwritten Tough guys never backup their data, they do the work twice instead ;-) 14 August 2021 mkusb - quick start manual 2 Install or download mkusb ● Install (or download) the shell-script mkusb and ● download the operating system as a – hybrid iso file or compressed image file.
    [Show full text]
  • Proceedings 2005
    LAC2005 Proceedings 3rd International Linux Audio Conference April 21 – 24, 2005 ZKM | Zentrum fur¨ Kunst und Medientechnologie Karlsruhe, Germany Published by ZKM | Zentrum fur¨ Kunst und Medientechnologie Karlsruhe, Germany April, 2005 All copyright remains with the authors www.zkm.de/lac/2005 Content Preface ............................................ ............................5 Staff ............................................... ............................6 Thursday, April 21, 2005 – Lecture Hall 11:45 AM Peter Brinkmann MidiKinesis – MIDI controllers for (almost) any purpose . ....................9 01:30 PM Victor Lazzarini Extensions to the Csound Language: from User-Defined to Plugin Opcodes and Beyond ............................. .....................13 02:15 PM Albert Gr¨af Q: A Functional Programming Language for Multimedia Applications .........21 03:00 PM St´ephane Letz, Dominique Fober and Yann Orlarey jackdmp: Jack server for multi-processor machines . ......................29 03:45 PM John ffitch On The Design of Csound5 ............................... .....................37 04:30 PM Pau Arum´ıand Xavier Amatriain CLAM, an Object Oriented Framework for Audio and Music . .............43 Friday, April 22, 2005 – Lecture Hall 11:00 AM Ivica Ico Bukvic “Made in Linux” – The Next Step .......................... ..................51 11:45 AM Christoph Eckert Linux Audio Usability Issues .......................... ........................57 01:30 PM Marije Baalman Updates of the WONDER software interface for using Wave Field Synthesis . 69 02:15 PM Georg B¨onn Development of a Composer’s Sketchbook ................. ....................73 Saturday, April 23, 2005 – Lecture Hall 11:00 AM J¨urgen Reuter SoundPaint – Painting Music ........................... ......................79 11:45 AM Michael Sch¨uepp, Rene Widtmann, Rolf “Day” Koch and Klaus Buchheim System design for audio record and playback with a computer using FireWire . 87 01:30 PM John ffitch and Tom Natt Recording all Output from a Student Radio Station .
    [Show full text]
  • Ubuntu Kung Fu
    Prepared exclusively for Alison Tyler Download at Boykma.Com What readers are saying about Ubuntu Kung Fu Ubuntu Kung Fu is excellent. The tips are fun and the hope of discov- ering hidden gems makes it a worthwhile task. John Southern Former editor of Linux Magazine I enjoyed Ubuntu Kung Fu and learned some new things. I would rec- ommend this book—nice tips and a lot of fun to be had. Carthik Sharma Creator of the Ubuntu Blog (http://ubuntu.wordpress.com) Wow! There are some great tips here! I have used Ubuntu since April 2005, starting with version 5.04. I found much in this book to inspire me and to teach me, and it answered lingering questions I didn’t know I had. The book is a good resource that I will gladly recommend to both newcomers and veteran users. Matthew Helmke Administrator, Ubuntu Forums Ubuntu Kung Fu is a fantastic compendium of useful, uncommon Ubuntu knowledge. Eric Hewitt Consultant, LiveLogic, LLC Prepared exclusively for Alison Tyler Download at Boykma.Com Ubuntu Kung Fu Tips, Tricks, Hints, and Hacks Keir Thomas The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas Prepared exclusively for Alison Tyler Download at Boykma.Com Many of the designations used by manufacturers and sellers to distinguish their prod- ucts are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC.
    [Show full text]
  • Beginning Ubuntu for Windows and Mac Users
    apress.com Nathan Haines Beginning Ubuntu for Windows and Mac Users Author is strong Ubuntu user and writer who has been using Ubuntu for many years and brings that experience to this title. Ubuntu is the world's third most popular operating system and still retains a large userbase with potential for good sales. Content is searchable on database services such as SpringerLink, Safari, etc. Beginning Ubuntu for Windows and Mac Usersis your comprehensive guide to using Ubuntu. You already know how to use a computer running Windows or OS X, but learning a new operating system can feel daunting. If you've been afraid to try Ubuntu because you don't know where to start, this book will show you how to get the most out of Ubuntu for work, home, and play. You'll be introduced to a wide selection of software and settings that will make your computer ready to work for you. Ubuntu makes your computing life easy. Ubuntu's 1st ed., XXIV, 216 p. 132 illus. Software Updater keeps all of your software secure and up-to-date. Browsing the Internet becomes faster and safer. Creating documents and sharing with others is built right in. eBook Enjoying your music and movie libraries helps you unwind. In addition to a tour of Ubuntu's 32,09 € | £22.99 | $39.99 modern and easy-to-use interface, you'll also learn how to: • Understand the advantages of [2] 32,09 € (D) | 32,09 € (A) | CHF Ubuntu and its variants—Kubuntu, Xubuntu, and more • Install Ubuntu on its own or 40,50 alongside your computer's existing operating system • Search Ubuntu's catalog of thousands
    [Show full text]
  • Vmware Fusion 12 Vmware Fusion Pro 12 Using Vmware Fusion
    Using VMware Fusion 8 SEP 2020 VMware Fusion 12 VMware Fusion Pro 12 Using VMware Fusion You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ VMware, Inc. 3401 Hillview Ave. Palo Alto, CA 94304 www.vmware.com © Copyright 2020 VMware, Inc. All rights reserved. Copyright and trademark information. VMware, Inc. 2 Contents Using VMware Fusion 9 1 Getting Started with Fusion 10 About VMware Fusion 10 About VMware Fusion Pro 11 System Requirements for Fusion 11 Install Fusion 12 Start Fusion 13 How-To Videos 13 Take Advantage of Fusion Online Resources 13 2 Understanding Fusion 15 Virtual Machines and What Fusion Can Do 15 What Is a Virtual Machine? 15 Fusion Capabilities 16 Supported Guest Operating Systems 16 Virtual Hardware Specifications 16 Navigating and Taking Action by Using the Fusion Interface 21 VMware Fusion Toolbar 21 Use the Fusion Toolbar to Access the Virtual-Machine Path 21 Default File Location of a Virtual Machine 22 Change the File Location of a Virtual Machine 22 Perform Actions on Your Virtual Machines from the Virtual Machine Library Window 23 Using the Home Pane to Create a Virtual Machine or Obtain One from Another Source 24 Using the Fusion Applications Menus 25 Using Different Views in the Fusion Interface 29 Resize the Virtual Machine Display to Fit 35 Using Multiple Displays 35 3 Configuring Fusion 37 Setting Fusion Preferences 37 Set General Preferences 37 Select a Keyboard and Mouse Profile 38 Set Key Mappings on the Keyboard and Mouse Preferences Pane 39 Set Mouse Shortcuts on the Keyboard and Mouse Preference Pane 40 Enable or Disable Mac Host Shortcuts on the Keyboard and Mouse Preference Pane 40 Enable Fusion Shortcuts on the Keyboard and Mouse Preference Pane 41 Set Fusion Display Resolution Preferences 41 VMware, Inc.
    [Show full text]
  • Inside the Linux 2.6 Completely Fair Scheduler
    Inside the Linux 2.6 Completely Fair Scheduler http://www.ibm.com/developerworks/library/l-completely-fair-scheduler/ developerWorks Technical topics Linux Technical library Inside the Linux 2.6 Completely Fair Scheduler Providing fair access to CPUs since 2.6.23 The task scheduler is a key part of any operating system, and Linux® continues to evolve and innovate in this area. In kernel 2.6.23, the Completely Fair Scheduler (CFS) was introduced. This scheduler, instead of relying on run queues, uses a red-black tree implementation for task management. Explore the ideas behind CFS, its implementation, and advantages over the prior O(1) scheduler. M. Tim Jones is an embedded firmware architect and the author of Artificial Intelligence: A Systems Approach, GNU/Linux Application Programming (now in its second edition), AI Application Programming (in its second edition), and BSD Sockets Programming from a Multilanguage Perspective. His engineering background ranges from the development of kernels for geosynchronous spacecraft to embedded systems architecture and networking protocols development. Tim is a Consultant Engineer for Emulex Corp. in Longmont, Colorado. 15 December 2009 Also available in Japanese The Linux scheduler is an interesting study in competing pressures. On one side are the use models in which Linux is applied. Although Linux was originally developed as a desktop operating system experiment, you'll now find it on servers, tiny embedded devices, mainframes, and supercomputers. Not surprisingly, the scheduling loads for these domains differ. On the other side are the technological advances made in the platform, including architectures (multiprocessing, symmetric multithreading, non-uniform memory access [NUMA]) and virtualization.
    [Show full text]
  • Praise for the Official Ubuntu Book
    Praise for The Official Ubuntu Book “The Official Ubuntu Book is a great way to get you started with Ubuntu, giving you enough information to be productive without overloading you.” —John Stevenson, DZone Book Reviewer “OUB is one of the best books I’ve seen for beginners.” —Bill Blinn, TechByter Worldwide “This book is the perfect companion for users new to Linux and Ubuntu. It covers the basics in a concise and well-organized manner. General use is covered separately from troubleshooting and error-handling, making the book well-suited both for the beginner as well as the user that needs extended help.” —Thomas Petrucha, Austria Ubuntu User Group “I have recommended this book to several users who I instruct regularly on the use of Ubuntu. All of them have been satisfied with their purchase and have even been able to use it to help them in their journey along the way.” —Chris Crisafulli, Ubuntu LoCo Council, Florida Local Community Team “This text demystifies a very powerful Linux operating system . in just a few weeks of having it, I’ve used it as a quick reference a half dozen times, which saved me the time I would have spent scouring the Ubuntu forums online.” —Darren Frey, Member, Houston Local User Group This page intentionally left blank The Official Ubuntu Book Sixth Edition This page intentionally left blank The Official Ubuntu Book Sixth Edition Benjamin Mako Hill Matthew Helmke Amber Graner Corey Burger With Jonathan Jesse, Kyle Rankin, and Jono Bacon Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks.
    [Show full text]
  • Ubuntu: Unleashed 2017 Edition
    Matthew Helmke with Andrew Hudson and Paul Hudson Ubuntu UNLEASHED 2017 Edition 800 East 96th Street, Indianapolis, Indiana 46240 USA Ubuntu Unleashed 2017 Edition Editor-in-Chief Copyright © 2017 by Pearson Education, Inc. Mark Taub All rights reserved. Printed in the United States of America. This publication is protected Acquisitions Editor by copyright, and permission must be obtained from the publisher prior to any prohib- Debra Williams ited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. For information Cauley regarding permissions, request forms and the appropriate contacts within the Pearson Managing Editor Education Global Rights & Permissions Department, please visit www.pearsoned.com/ permissions/. Sandra Schroeder Many of the designations used by manufacturers and sellers to distinguish their Project Editor products are claimed as trademarks. Where those designations appear in this book, and Lori Lyons the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. Production Manager The author and publisher have taken care in the preparation of this book, but make Dhayanidhi no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in Proofreader connection with or arising out of the use of the information or programs contained Sasirekha herein. Technical Editor For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and content José Antonio Rey particular to your business, training goals, marketing focus, or branding interests), Editorial Assistant please contact our corporate sales department at [email protected] or (800) 382-3419.
    [Show full text]
  • Kubuntu Desktop Guide
    Kubuntu Desktop Guide Ubuntu Documentation Project <[email protected]> Kubuntu Desktop Guide by Ubuntu Documentation Project <[email protected]> Copyright © 2004, 2005, 2006 Canonical Ltd. and members of the Ubuntu Documentation Project Abstract The Kubuntu Desktop Guide aims to explain to the reader how to configure and use the Kubuntu desktop. Credits and License The following Ubuntu Documentation Team authors maintain this document: • Venkat Raghavan The following people have also have contributed to this document: • Brian Burger • Naaman Campbell • Milo Casagrande • Matthew East • Korky Kathman • Francois LeBlanc • Ken Minardo • Robert Stoffers The Kubuntu Desktop Guide is based on the original work of: • Chua Wen Kiat • Tomas Zijdemans • Abdullah Ramazanoglu • Christoph Haas • Alexander Poslavsky • Enrico Zini • Johnathon Hornbeck • Nick Loeve • Kevin Muligan • Niel Tallim • Matt Galvin • Sean Wheller This document is made available under a dual license strategy that includes the GNU Free Documentation License (GFDL) and the Creative Commons ShareAlike 2.0 License (CC-BY-SA). You are free to modify, extend, and improve the Ubuntu documentation source code under the terms of these licenses. All derivative works must be released under either or both of these licenses. This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE AS DESCRIBED IN THE DISCLAIMER. Copies of these licenses are available in the appendices section of this book. Online versions can be found at the following URLs: • GNU Free Documentation License [http://www.gnu.org/copyleft/fdl.html] • Attribution-ShareAlike 2.0 [http://creativecommons.org/licenses/by-sa/2.0/] Disclaimer Every effort has been made to ensure that the information compiled in this publication is accurate and correct.
    [Show full text]
  • Thread Scheduling in Multi-Core Operating Systems Redha Gouicem
    Thread Scheduling in Multi-core Operating Systems Redha Gouicem To cite this version: Redha Gouicem. Thread Scheduling in Multi-core Operating Systems. Computer Science [cs]. Sor- bonne Université, 2020. English. tel-02977242 HAL Id: tel-02977242 https://hal.archives-ouvertes.fr/tel-02977242 Submitted on 24 Oct 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Ph.D thesis in Computer Science Thread Scheduling in Multi-core Operating Systems How to Understand, Improve and Fix your Scheduler Redha GOUICEM Sorbonne Université Laboratoire d’Informatique de Paris 6 Inria Whisper Team PH.D.DEFENSE: 23 October 2020, Paris, France JURYMEMBERS: Mr. Pascal Felber, Full Professor, Université de Neuchâtel Reviewer Mr. Vivien Quéma, Full Professor, Grenoble INP (ENSIMAG) Reviewer Mr. Rachid Guerraoui, Full Professor, École Polytechnique Fédérale de Lausanne Examiner Ms. Karine Heydemann, Associate Professor, Sorbonne Université Examiner Mr. Etienne Rivière, Full Professor, University of Louvain Examiner Mr. Gilles Muller, Senior Research Scientist, Inria Advisor Mr. Julien Sopena, Associate Professor, Sorbonne Université Advisor ABSTRACT In this thesis, we address the problem of schedulers for multi-core architectures from several perspectives: design (simplicity and correct- ness), performance improvement and the development of application- specific schedulers.
    [Show full text]
  • Debian \ Amber \ Arco-Debian \ Arc-Live \ Aslinux \ Beatrix
    Debian \ Amber \ Arco-Debian \ Arc-Live \ ASLinux \ BeatriX \ BlackRhino \ BlankON \ Bluewall \ BOSS \ Canaima \ Clonezilla Live \ Conducit \ Corel \ Xandros \ DeadCD \ Olive \ DeMuDi \ \ 64Studio (64 Studio) \ DoudouLinux \ DRBL \ Elive \ Epidemic \ Estrella Roja \ Euronode \ GALPon MiniNo \ Gibraltar \ GNUGuitarINUX \ gnuLiNex \ \ Lihuen \ grml \ Guadalinex \ Impi \ Inquisitor \ Linux Mint Debian \ LliureX \ K-DEMar \ kademar \ Knoppix \ \ B2D \ \ Bioknoppix \ \ Damn Small Linux \ \ \ Hikarunix \ \ \ DSL-N \ \ \ Damn Vulnerable Linux \ \ Danix \ \ Feather \ \ INSERT \ \ Joatha \ \ Kaella \ \ Kanotix \ \ \ Auditor Security Linux \ \ \ Backtrack \ \ \ Parsix \ \ Kurumin \ \ \ Dizinha \ \ \ \ NeoDizinha \ \ \ \ Patinho Faminto \ \ \ Kalango \ \ \ Poseidon \ \ MAX \ \ Medialinux \ \ Mediainlinux \ \ ArtistX \ \ Morphix \ \ \ Aquamorph \ \ \ Dreamlinux \ \ \ Hiwix \ \ \ Hiweed \ \ \ \ Deepin \ \ \ ZoneCD \ \ Musix \ \ ParallelKnoppix \ \ Quantian \ \ Shabdix \ \ Symphony OS \ \ Whoppix \ \ WHAX \ LEAF \ Libranet \ Librassoc \ Lindows \ Linspire \ \ Freespire \ Liquid Lemur \ Matriux \ MEPIS \ SimplyMEPIS \ \ antiX \ \ \ Swift \ Metamorphose \ miniwoody \ Bonzai \ MoLinux \ \ Tirwal \ NepaLinux \ Nova \ Omoikane (Arma) \ OpenMediaVault \ OS2005 \ Maemo \ Meego Harmattan \ PelicanHPC \ Progeny \ Progress \ Proxmox \ PureOS \ Red Ribbon \ Resulinux \ Rxart \ SalineOS \ Semplice \ sidux \ aptosid \ \ siduction \ Skolelinux \ Snowlinux \ srvRX live \ Storm \ Tails \ ThinClientOS \ Trisquel \ Tuquito \ Ubuntu \ \ A/V \ \ AV \ \ Airinux \ \ Arabian
    [Show full text]
  • Machine Learning for Load Balancing in the Linux Kernel Jingde Chen Subho S
    Machine Learning for Load Balancing in the Linux Kernel Jingde Chen Subho S. Banerjee [email protected] [email protected] University of Illinois at Urbana-Champaign University of Illinois at Urbana-Champaign Zbigniew T. Kalbarczyk Ravishankar K. Iyer [email protected] [email protected] University of Illinois at Urbana-Champaign University of Illinois at Urbana-Champaign Abstract ACM Reference Format: The OS load balancing algorithm governs the performance Jingde Chen, Subho S. Banerjee, Zbigniew T. Kalbarczyk, and Rav- gains provided by a multiprocessor computer system. The ishankar K. Iyer. 2020. Machine Learning for Load Balancing in Linux’s Completely Fair Scheduler (CFS) scheduler tracks the Linux Kernel. In 11th ACM SIGOPS Asia-Pacific Workshop on Systems (APSys ’20), August 24–25, 2020, Tsukuba, Japan. ACM, New process loads by average CPU utilization to balance work- York, NY, USA, 8 pages. https://doi.org/10.1145/3409963.3410492 load between processor cores. That approach maximizes the utilization of processing time but overlooks the con- tention for lower-level hardware resources. In servers run- 1 Introduction ning compute-intensive workloads, an imbalanced need for The Linux scheduler, called the Completely Fair Scheduler limited computing resources hinders execution performance. (CFS) algorithm, enforces a fair scheduling policy that aims to This paper solves the above problem using a machine learn- allow all tasks to be executed with a fair quota of processing ing (ML)-based resource-aware load balancer. We describe time. CFS allocates CPU time appropriately among the avail- (1) low-overhead methods for collecting training data; (2) an able hardware threads to allow processes to make forward ML model based on a multi-layer perceptron model that imi- progress.
    [Show full text]