Uva-DARE (Digital Academic Repository)

Total Page:16

File Type:pdf, Size:1020Kb

Uva-DARE (Digital Academic Repository) UvA-DARE (Digital Academic Repository) On the construction of operating systems for the Microgrid many-core architecture van Tol, M.W. Publication date 2013 Link to publication Citation for published version (APA): van Tol, M. W. (2013). On the construction of operating systems for the Microgrid many-core architecture. General rights It is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), other than for strictly personal, individual use, unless the work is under an open content license (like Creative Commons). Disclaimer/Complaints regulations If you believe that digital publication of certain material infringes any of your rights or (privacy) interests, please let the Library know, stating your reasons. In case of a legitimate complaint, the Library will make the material inaccessible and/or remove it from the website. Please Ask the Library: https://uba.uva.nl/en/contact, or a letter to: Library of the University of Amsterdam, Secretariat, Singel 425, 1012 WP Amsterdam, The Netherlands. You will be contacted as soon as possible. UvA-DARE is a service provided by the library of the University of Amsterdam (https://dare.uva.nl) Download date:01 Oct 2021 CHAPTER 2 Operating Systems 2.1 Introduction This chapter covers the background and state of the art to lay a foundation for the rest of this thesis. This background information is divided over three parts. We start off with looking at the history of operating systems in order to understand what an operating system is, and what it is designed to do as they developed over time. Then, we identify the fundamental low level abstractions that an operating system is required to provide, which we will use throughout this thesis as a target of what we try to achieve. We conclude our historical perspective with an overview of the main types of operating system (kernel) designs. After having formed our idea of the minimal set of functions we have to implement, we move over to the hardware side in the second part of this chapter to identify on what kind of hardware architectures we have to apply these ideas. We show why we are moving towards more and more cores on a single chip, and try to give an outlook of what such systems might look like taking recent many-core research into account. We observe that future many-core systems are likely to have a more distributed memory organization, can be heterogeneous, and that there is a case to be made to investigate hardware supported concurrency management. This outlook to future hardware platforms gives us the context in which we want to look at operating systems, and this is what we do in the third part of this chapter. As we have observed a move towards, and a requirement for, more distributed or- ganizations, we review several pioneering parallel and distributed operating systems. Then, we discuss several recent designs in the field of multi- and many-core operating systems. We conclude the third part with a discussion on contemporary systems, and the problems they face in scaling to many-core architectures. We also show how they have been used to scale up cluster architectures and what kind of programming systems have been proposed to utilize these. 11 12 CHAPTER 2. OPERATING SYSTEMS 2.2 What is an operating system: A historical per- spective 2.2.1 Early history At the dawn of the computer age in the 1940s, computers were expensive and con- sisted of very large room-sized installations. When programmers would want to run a program on such a machine, they would get a time slot allocated, go to the computer room at the given time and have the whole machine for themselves. They would have full control over the entire machine, input their program, and receive the results as soon as the machine produced them. This situation started to change in the 1950s, at the same time the first high-level programming languages such as FORTRAN, Lisp and COBOL started to emerge, accompanied by their respective compilers and interpreters. Libraries were developed for often used functions, but also for control- ling external devices, so that programmers would not be required to go through the cumbersome process of writing complicated low level device control code for each of their programs. Programming became easier and more people started to compete for computer time. In order to use the expensive computer time as efficiently as possible, the computer would be controlled by a dedicated person, the operator, who would accept input jobs (usually on paper card decks or paper tape) from the programmers, run them on the computer and deliver back the output. The first pieces of software that could be called an operating system were to automate, and therefore speed up, the process done by the operator; to load and run a job, store or print the output, and prepare the machine again to proceed to the next job. These first operating systems, or batch processing systems, emerged in the mid 1950s; the director tape [128, 127] was developed at MIT to automatically control their WhirlWind system, and around the same time a job batching system was developed at General Motors Research Laboratories for the IBM 701 and 704, which was then integrated with the first FORTRAN compiler from IBM [150]. 2.2.2 1960s: Multiprogramming and time-sharing systems These batch processing systems were further expanded in the 1960s into multiprogram- ming systems, which could run multiple batch jobs at the same time. The main reason for this was that a computer, and therefore its CPU time, was expensive. It could be used much more efficiently by running multiple jobs and switching between them when one has to wait on a slow external unit, for example by using the (otherwise idle) cycles of the processor for a different task while it is waiting on an I/O operation. This was the first time concurrency and parallelism1 were introduced in systems, posing new challenges; "The tendency towards increased parallelism in computers is noted. Exploitation of this parallelism presents a number of new problems in machine design and in programming systems" was stated in the abstract of a 1959 paper [38] on a 1We separate the concepts of concurrency and parallelism as follows: Concurrency, the relaxation of scheduling constraints in programs, and parallelism, the simultaneous execution of operations in time which is made possible by the existence of concurrency. 2.2. WHAT IS AN OPERATING SYSTEM: A HISTORICAL PERSPECTIVE 13 multiprogramming operating system for the revolutionary IBM STRETCH computer (the predecessor of the successful System/360 mainframe series). The downside of the batch and multiprogramming systems was the long turnaround time of running an individual job. The programmers could no longer interactively de- bug their programs as they could years before when they had the whole machine for themselves, but instead would have to wait for hours or days before the output of their job was returned to them. With the invention of a new memory technol- ogy (core memory), memories became cheaper and therefore larger, allowing multiple programs to be loaded into the system memory at the same time. To increase the productivity and efficiency of the programmers, interactive or time-sharing systems were designed [40] where multiple users would be interactively connected to the sys- tem executing commands, compiling and running jobs and getting feedback from the system immediately. This required additional techniques to safely share the resources of the system, for example, using memory protection. CPU sharing was achieved by time-slicing the execution of programs, switching between them multiple times per second, giving the illusion of simultaneous execution to the users. The development of these systems also lead to improved hardware features in the mid 1960s to support them, such as virtual memory and complete machine virtualization [42]. One of the early time-sharing systems was Multics [41], which lead to the de- velopment of Unix [124], which together laid the foundations for the principles and design of many operating systems that are currently in use today. Multics was envi- sioned to be used as a utility computing facility, similar to telephone and electricity services. Therefore it was designed to run continuously and reliably, and to service a lot of users. In order to support this it employed many techniques that are still ubiquitous in systems today, such as virtual memory, paging, dynamic linking and processes [49, 45], multiprocessor support, security, hot-swapping and much more. 2.2.3 Operating system abstractions These operating systems laid the foundations for the most important concepts and abstractions used in the operating systems of today. Many new developments have been made in operating systems since then, for example networking and integration with Internet technology, as well as graphical user interfaces. However, even though some of these new developments have been deeply embedded into several modern operating systems, the core functionality of these systems did not change. These developments can be seen as systems that build on top of the original foundations, and that might make use of specific I/O devices such as network adapters or graphics cards. Taking the history of operating system into consideration, we identify the basic definition and core purpose of an operating system as follows: • An operating system gives a uniform abstraction of resources in a machine to programs running on top of it using well defined interfaces. This allows for portability; a program can run on an other platform without having to be aware of the differences in underlying hardware.
Recommended publications
  • ANSA: an Engineer’S Introduction
    An Engineer’s Introduction to the Architecture ANSA: An Engineer’s Introduction to the Architecture Release TR.03.02 November 1989 This document provides an introduction to ANSA. It is specifically oriented towards those with a software and systems background. It describes what is available and how it is used; it does not describe how the architecture is applied to specific application domains. Architecture Projects Management Limited Architecture Projects Management Limited and their sponsors take no responsibility for the consequences of errors or omissions in this manual, nor for any damages resultmg from the applicatron of the ideas expressed herein. Architecture Projects Management Limited Poseidon House Castle Park CAMBRIDGE CB3 ORD United Kingdom TELEPHONE UK Cambridge (0223) 323010 INTERNATIONAL +44 223 323010 FAX + 44 223 359779 UUCP . ..ukc!acorn!ansa!apm ARPA Internet [email protected] 8 1989 Architecture Projects Management Limited Permission to copy without fee all or part of this material is granted provided that notice IS given that copying is by permission of Architecture Projects Management Limited. To copy otherwise or to republish requiresspecific permlssion. Advanced Networked Systems Architecture CONTENTS Page 1 Background ........................................... 1 1.1 Objectives ......................................... 1 1.2 Activities ............................................ 1 1.3 Standardization ...................................... 2 2 Executive summary ................................... 3 2.1 The problem
    [Show full text]
  • Exception Handling with Fail-Safe Semantics Phd Thesis
    Exception Handling With Fail-Safe Semantics PhD Thesis Steven J. Drew B.App.Sci. (Computing) Hons. Date: 29th. November, 1996. Principal Supervisor: Prof.K.J.Gough School Of Computing Science Faculty Of Information Technology Queensland University Of Technology DEDICATION To my father for all his love and support, To my mother, I'm glad you saw the start of this, I'll tell you how it ended one day. QUT QUEENSLAND UNIVERSITY OF TECHNOLOGY DOCTOR OF PHILOSOPHY THESIS EXAMINATION CANDIDATE NAME Steven John Drew CENTRE/RESEARCH CONCENTRATION Programming Languages and Systems PRINCIPAL SUPERVISOR Professor John Gough ASSOCIATE SUPERVISOR(S) Dr John Hynd THESIS TITLE Exception Handling with Fail-Safe Semantics Under the requirements of PhD regulation 9.2, the above candidate was examined orally by the Faculty. The members of the panel set up for this examination recommend that the thesis be accepted by the University and forwarded to the appointed Committee for examination. Prof K J Gough Name ....................................................................... Panel Chairperson (Principal Supervisor) Name ...... ~?.';'.<?~.-:~.:.<?.~ .. ~.. -~-~XP.~:.E?~~ ......................... Panel Member Assoc Prof G Mohay Name ....................................................................... Panel Member Under the requirements of PhD regulation 9.15, it is hereby certified that the thesis of the above-named candidate has been examined. I recommend on behalf of the Thesis Examination Committee that the thesis be accepted in fulfilment of the conditions for the award of the degree of Doctor of Philosophy. Name .. :'9r.... Y~~~.. .zy~ • Date .. .<f. ..P~:'?.~ .. Chair of Examiners (Thesis Examination Comrilittee) Keywords Exception handling, programming languages, fail-safety, fail-safe semantics, software fault tolerance, program complexity, program comprehensibility, Modula-2. Abstract Computer architectures are becoming increasingly complex and are being used to solve problems of similarly increasing complexity.
    [Show full text]
  • Dissertation Acceptance
    SEVER INSTITUTE OF TECHNOLOGY DOCTOR OF SCIENCE DEGREE DISSERTATION ACCEPTANCE (To be the first page of each copy of the dissertation) DATE: July 24, 1998 STUDENT’S NAME: Charles D. Cranor This student’s dissertation, entitled Design and Implementation of the UVM Virtual Memory System has been examined by the undersigned committee of five faculty members and has received full approval for acceptance in partial fulfillment of the requirements for the degree Doctor of Science. APPROVAL: Chairman Short Title: Design and Implementation of UVM Cranor, D.Sc. 1998 WASHINGTON UNIVERSITY SEVER INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE DESIGN AND IMPLEMENTATION OF THE UVM VIRTUAL MEMORY SYSTEM by Charles D. Cranor, M.S. Prepared under the direction of Professor Gurudatta M. Parulkar A dissertation presented to the Sever Institute of Washington University in partial fulfillment of the requirements for the degree of Doctor of Science August, 1998 Saint Louis, Missouri WASHINGTON UNIVERSITY SEVER INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE ABSTRACT DESIGN AND IMPLEMENTATION OF THE UVM VIRTUAL MEMORY SYSTEM by Charles D. Cranor ADVISOR: Professor Gurudatta M. Parulkar August, 1998 Saint Louis, Missouri We introduce UVM, a new virtual memory subsystem for 4.4BSD that makes better use of existing hardware memory management features to reduce overhead and improve performance. Our novel approach focuses on allowing processes to pass memory to and from other processes and the kernel, and to share memory. This approach reduces or elim- inates the need to copy data thus reducing the time spent within the kernel and freeing up cycles for application processing. Unlike the approaches that focus exclusively on the networking and inter-process communications (IPC) subsystems, our approach provides a general framework for solutions that can improve efficiency of the entire I/O subsystem.
    [Show full text]
  • Appendix M Historical Perspectives and References
    M.1 Introduction M-2 M.2 The Early Development of Computers (Chapter 1) M-2 M.3 The Development of Memory Hierarchy and Protection (Chapter 2 and Appendix B) M-9 M.4 The Evolution of Instruction Sets (Appendices A, J, and K) M-17 M.5 The Development of Pipelining and Instruction-Level Parallelism (Chapter 3 and Appendices C and H) M-27 M.6 The Development of SIMD Supercomputers, Vector Computers, Multimedia SIMD Instruction Extensions, and Graphical Processor Units (Chapter 4) M-45 M.7 The History of Multiprocessors and Parallel Processing (Chapter 5 and Appendices F, G, and I) M-55 M.8 The Development of Clusters (Chapter 6) M-74 M.9 Historical Perspectives and References M-79 M.10 The History of Magnetic Storage, RAID, and I/O Buses (Appendix D) M-84 M Historical Perspectives and References If … history … teaches us anything, it is that man in his quest for knowledge and progress is determined and cannot be deterred. John F. Kennedy Address at Rice University (1962) Those who cannot remember the past are condemned to repeat it. George Santayana The Life of Reason (1905), Vol. 2, Chapter 3 M-2 ■ Appendix M Historical Perspectives and References M.1 Introduction This appendix provides historical background on some of the key ideas presented in the chapters. We may trace the development of an idea through a series of machines or describe significant projects. If you are interested in examining the initial development of an idea or machine or are interested in further reading, references are provided at the end of each section.
    [Show full text]
  • Resource Management in a Multicore Operating System
    Research Collection Doctoral Thesis Resource management in a multicore operating system Author(s): Peter, Simon Publication Date: 2012 Permanent Link: https://doi.org/10.3929/ethz-a-007579246 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection. For more information please consult the Terms of use. ETH Library DISS.ETH NO. 20664 Resource Management in a Multicore Operating System A dissertation submitted to ETH ZURICH for the degree of Doctor of Sciences presented by SIMON PETER Diplom-Informatiker, Carl-von-Ossietzky Universität Oldenburg born October 13, 1981 citizen of Federal Republic of Germany accepted on the recommendation of Prof. Timothy Roscoe, examiner Prof. Steven Hand, co-examiner Prof. Gustavo Alonso, co-examiner Prof. Markus Püschel, co-examiner 2012 Abstract Trends in hardware design have led to processors with many cores on a single die, which present the opportunity for commodity com- puting to become increasingly parallel. These multicore architectures bring with them complex memory and cache hierarchies and processor interconnects. While the execution of batch parallel applications has been researched in the context of high-performance computing (HPC), commodity hardware is evolving at a faster pace than specialized su- percomputers and applications are interactive, requiring fast system response times and the ability to react to ad-hoc workload changes. Leveraging and managing the existing potential for parallelization thus presents a difficult challenge for the development of both commodity operating systems and application programs, which have to keep up with hardware developments and present nimble solutions. This dissertation presents the design and implementation of oper- ating system mechanisms to support the execution of a dynamic mix of interactive and parallel applications on commodity multicore com- puters.
    [Show full text]
  • Uva-DARE (Digital Academic Repository)
    UvA-DARE (Digital Academic Repository) On the construction of operating systems for the Microgrid many-core architecture van Tol, M.W. Publication date 2013 Document Version Final published version Link to publication Citation for published version (APA): van Tol, M. W. (2013). On the construction of operating systems for the Microgrid many-core architecture. General rights It is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), other than for strictly personal, individual use, unless the work is under an open content license (like Creative Commons). Disclaimer/Complaints regulations If you believe that digital publication of certain material infringes any of your rights or (privacy) interests, please let the Library know, stating your reasons. In case of a legitimate complaint, the Library will make the material inaccessible and/or remove it from the website. Please Ask the Library: https://uba.uva.nl/en/contact, or a letter to: Library of the University of Amsterdam, Secretariat, Singel 425, 1012 WP Amsterdam, The Netherlands. You will be contacted as soon as possible. UvA-DARE is a service provided by the library of the University of Amsterdam (https://dare.uva.nl) Download date:09 Oct 2021 128.256.16-II MicroGrid MicroGrid 128.256.16-II MicroGrid OS v4.01 MicroGridv4.01 OS MicroGrid OS v2.1 OS MicroGrid MicroGrid 128.256.16-II MicroGrid OS MicroGrid v4.01 On the construction of operating systemsv2.1 OS MicroGrid for the Microgrid MicroGrid 128.256.16-II
    [Show full text]
  • A High-Bandwidth Cross-Domain Transfer Facility
    Fbufs: A High-Bandwidth Cross-Domain Transfer Facility Peter Druschel and Larry L. Peterson* Department of Computer Science University of Arizona Tucson, AZ 85721 Abstract be copied from one domain to another. This paper con- siders the complementary issue of increasing data transfer We have designed and implemented a new operating throughput—we are interested in I/O intensive applications system facility for 1/0 buffer management and data trans- that require significant amounts of data to be moved across fer across protection domain boundm-ies on shared memory protection boundaries. Such applications include real-time machines. This facility, called ~ast buffers (fbufs), com- video, digital image retrieval, and accessing large scientific bines virtual page remapping with shared virtual memory, data sets. and exploits locality in I/O traffic to achieve high through- put without compromising protection, security, or modular- Focusing more specifically on network I/0, we observe ity. Its goal is to help deliver the high bandwidth afforded that on the one hand emerging network technology will by emerging high-speed networks to user-level processes, soon offer sustained data rates approaching one gigabit per both in monolithic and microkernel-based operating sys- second to the end host, while on the other hand, the trend tems. towards microkernel-based operating systems leads to a This paper outlines the requirements for a cross-domain situation where the 1/0 data path may intersect multiple transfer facility, describes the design of the fbuf mechanism protection domains. The challenge is to turn good net- that meets these requirements, and experimentally quanti- work bandwidth into good application-to-application band- fies the impact of fbufs on network performance.
    [Show full text]
  • Ism Genmin Frd
    PROCEEDINGS VI · VI HOT EL, CALE DON 2 - 3 JULY 1991 VI � SPONSORE D - I BY VI ISM FRDV· GENMIN I VI EDITED BY VI M H Linck DEPARTMENT OF COMPUTER SCIENCE • UNIVERSITY OF CAPE TOWN I I PROCEEDINGS / KONGRESOPSOMMINGS 6th SOUTHERN AFRICAN COMPUTER SYMPOSI� 6de SUIDELIKE-AFRIKAANSE REKENAARSIMPOSIUM De Overberger Hotel, Caledon 2 - 3 JULY 1991 SPONSORED by ISM FRD GENMIN EDITED by MHLINCK Department of Computer Science University of Cape Town TABLE OF CONTENTS Foreword 1 Organising Committee 2 Referees 3 Program 5 Papers (In order of presentation) 9 "A value can belong to many types" BH Venter, University of FortHare 10 "A Transputer Based Embedded Controller Development System" MR Webster, R G Harley,DC Levy& DR Woodward, University of Natal 16 "Improving a Control and Sequencing Language" G Smit & CFair, University of Cape Town 25 "Design of an Object Orientated Framework/or Optimistic Parallel Simulation on Shared-Memory Computers" PMachanick, University of Witwatersrand 40 "Using Statecharts to Design and Specifythe GMA Direct-Manipulation User Interface" L vanZijl & D Mitton, University of Stellenbosch 51 "Product FormSolutions/or Multiserver Centres with Heirarchical Classesof Customers" A Krzesinski, University of Stellenboschand RSchassberger, TechnischeU niversitatBraunschweig 69 "A ReusableKernel for the Development of ControlSoftware" WFouche and Pde Villiers, University of Stellenbosch 83 "An Implementation of LindaTuple Space under the, Helios Operating System" PG Clayton, E P Wentworth, G C Wells andF deHeer-Menlah, Rhodes
    [Show full text]
  • INFORMATION to USERS This Manuscript Has Been Reproduced
    Operating system support for high-speed networking. Item Type text; Dissertation-Reproduction (electronic) Authors Druschel, Peter Publisher The University of Arizona. Rights Copyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author. Download date 29/09/2021 12:17:24 Link to Item http://hdl.handle.net/10150/186828 INFORMATION TO USERS This manuscript has been reproduced from the microfilm master. UMI films the text directly from the original or copy submitted. Thus, some thesis and dissertation copies are in typewriter face, while others may be from any type of computer printer. The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleedthrough, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely. event that the author did not send UMI a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyright material had to be removed, a note will indicate the deletion. Oversize materials (e.g., maps, drawings, charts) are reproduced by sectioning the original, beginning at the upper left-hand corner and continuing from left to right in equal sections with small overlaps. Each original is also photographed in one exposure and is included in reduced form at the back of the book. Photographs included in the original manuscript have been reproduced xerograpbically in this copy.
    [Show full text]
  • Digital Equipment Corporation Records
    http://oac.cdlib.org/findaid/ark:/13030/c8t72p80 No online items Guide to the Digital Equipment Corporation records Finding aid prepared by Bo Doub, Kim Hayden, and Sara Chabino Lott Processing of this collection was made possible through generous funding from The Andrew W. Mellon Foundation, administered through the Council on Library and Information Resources' Cataloging Hidden Special Collections and Archives grant. Computer History Museum 1401 N. Shoreline Blvd. Mountain View, CA, 94043 (650) 810-1010 [email protected] April 2017 Guide to the Digital Equipment X2675.2004 1 Corporation records Title: Digital Equipment Corporation records Identifier/Call Number: X2675.2004 Contributing Institution: Computer History Museum Language of Material: English Physical Description: 1,239 Linear feet,611 record cartons, 357 manuscript boxes, 56 newspaper boxes, 169 periodical boxes, and 150 other box types Date (bulk): Bulk, 1957-1998 Date (inclusive): 1947-2002 Abstract: The Digital Equipment Corporation (DEC) records comprise DEC’s corporate archives, with material dating from 1947 to 2002. The bulk of the collection was collected and created during the company’s years of operation from 1957 to 1998. DEC, founded by engineers Ken Olsen and Harlan Anderson, was one of the largest and most successful computer companies in the industry’s history. Widely recognized for its PDP and VAX minicomputer product lines, by 1988 DEC was second only to IBM as the world’s largest computer company. This collection holds the papers of DEC’s executives, engineers, and personnel -- including the personal collections of founders Ken Olsen and Harlan Anderson. Also included are DEC’s administrative records and material relating to product development and engineering, with committee meeting minutes, correspondence, internal newsletters, product proposals, and engineering drawings.
    [Show full text]
  • DSM-PM2: Une Plate-Forme Portable Pour L'implémentation De Protocoles
    DSM-PM2 : une plate-forme portable pour l’implémentation de protocoles de cohérence multithreads pour systèmes à mémoire virtuellement partagée Gabriel Antoniu To cite this version: Gabriel Antoniu. DSM-PM2 : une plate-forme portable pour l’implémentation de protocoles de co- hérence multithreads pour systèmes à mémoire virtuellement partagée. Informatique [cs]. Ecole normale supérieure de lyon - ENS LYON, 2001. Français. tel-00565382 HAL Id: tel-00565382 https://tel.archives-ouvertes.fr/tel-00565382 Submitted on 12 Feb 2011 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. N d’ordre : 200 N bibliothèque : 01ENSL0200 ÉCOLE NORMALE SUPÉRIEURE DE LYON Laboratoire de l’Informatique du Parallélisme THÈSE pour obtenir le grade de Docteur de l’École Normale Supérieure de Lyon spécialité : Informatique au titre de l’école doctorale de MathIF présentée et soutenue publiquement le 21 novembre 2001 par Monsieur Gabriel ANTONIU DSM-PM2 : une plate-forme portable pour l’implémentation de protocoles de cohérence multithreads pour systèmes à mémoire virtuellement partagée Directeurs de thèse : Monsieur Luc BOUGÉ Monsieur Raymond NAMYST Après avis de : Monsieur Thierry PRIOL Monsieur Pierre SENS Devant la commission d’examen formée de : Monsieur Luc BOUGÉ, Membre Monsieur Denis CAROMEL, Membre Monsieur Raymond NAMYST, Membre Monsieur Thierry PRIOL, Membre et Rapporteur Monsieur Pierre SENS, Membre et Rapporteur Monsieur Jean-Bernard STEFANI, Membre À la mémoire de mes parents, Remerciements Ce manuscrit est le résultat de trois années de travail.
    [Show full text]
  • A Comparison of Basic CPU Multiprocessor UNIX
    A Comparison of Basic CPU Scheduling Algorithms for Multiprocessor UNIX Stephen Curran and Michael Stumm University of Toronto ABSTRACT: In this paper, we present the results of a simulation study comparing three basic algorithms that schedule independent tasks in multiprocessor versions of UNIX. Two of these algorithms, namely Central Queue and Initial Placement, are obvious extensions to the standard uniprocessor scheduling algorithm and are in use in a number of multipro- cessor systems. A third algorithm, Take, is a varia- tion on Initial Placement, where processors are allowed to raid the task queues of the other proces- sors. Our simulation results show the difference between the performance of the three algorithms to be small when scheduling a typical UNIX workload running on a small, bus-based, shared memory mul- tiprocessor. They also show that the Take algo- rithm performs best for those multiprocessors on which tasks incur overhead each time they migrate. In particular, the Take algorithm appears to be more stable than the other two algorithms under extreme conditions. @ Computing Systems, Vol. 3 'No. 4'Fall 1990 551 I. Introduction In this paper, we consider ways to organize and manage the ready tasks in a shared memory multiprocessor. The uniprocessor UNIX kernel uses a single priority queue for this purpose: A task is added to the ready queue behind all tasks ofhigher or equal prior- ity, and the CPU is allocated to the task with the highest priority which is at the head of the queue. For the shared memory mul- tiprocessor case, we consider three basic scheduling algorithms in a simulation study, and compare their behavior and performance in scheduling a UNIX workload of tasks.
    [Show full text]