Uva-DARE (Digital Academic Repository)
Total Page:16
File Type:pdf, Size:1020Kb
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 many-core architectureMicroGrid OS v2.1 MicroGrid OS v4.01 v4.01 MicroGrid OS MicroGrid 128.256.16-II 128.256.16-IIMicroGrid MicroGrid OS MicroGrid v4.01 MicroGrid OS v2.1 OS MicroGrid MicroGrid 128.256.16-II MicroGrid 128.256.16-II MicroGrid OS v2.1 128.256.16-II MicroGrid v4.01 MicroGrid OS 128.256.16-IIMicroGrid MicroGrid OS v2.1 MicroGrid 128.256.16-II MicroGrid 128.256.16-II MicroGrid OS v4.01 MicroGrid OS v2.1 MicroGrid OS v2.1 OS MicroGrid MicroGrid OS v4.01 OS MicroGrid v4.01 MicroGrid 128.256.16-II MicroGrid MicroGrid OS v2.1 128.256.16-II Michiel W. van Tol MicroGrid OS v4.01 MicroGrid MicroGrid OS v2.1 OS MicroGrid 128.256.16-II MicroGrid OS v2.1 On the construction of operating systems for the Microgrid many-core architecture Michiel W. van Tol This work was carried out in the ASCI graduate school. ASCI dissertation series number 269. Advanced School for Computing and Imaging This research was supported by the University of Amsterdam as well as the European Union under grant numbers IST-027611 (ÆTHER), FP7-215216 (Apple-CORE) and FP7-248828 (ADVANCE) Copyright c 2012 by Michiel W. van Tol, Amsterdam, The Netherlands. This work is licensed under the Creative Commons Attribution-Non-Commercial 3.0 Netherlands License. To view a copy of this license, visit the web page at: http://creativecommons.org/licenses/by-nc/3.0/nl/, or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. Cover design by Michiel W. van Tol, inspired on the cover of Voer voor Hippopotamus, club magazine of the Hippopotamus-Cric cricket club. Typeset using LATEX, written using NEdit. Printed and bound by Gildeprint Drukkerijen - Enschede, Netherlands ISBN: 978-90-9027317-4 On the construction of operating systems for the Microgrid many-core architecture Academisch Proefschrift ter verkrijging van de graad van doctor aan de Universiteit van Amsterdam op gezag van de Rector Magnificus prof. dr. D.C. van den Boom ten overstaan van een door het college voor promoties ingestelde commissie, in het openbaar te verdedigen in de Agnietenkapel op dinsdag 5 februari 2013, te 14:00 uur door Michiel Willem van Tol geboren te Amsterdam. Promotor: Prof. dr. C.R. Jesshope Overige Leden: Prof. dr. ir. H.J. Bos Prof. dr. ing. S.J. Mullender Prof. dr. A. Shafarenko Prof. dr. ir. C.T.A.M. de Laat Prof. dr. R.J. Meijer Faculteit der Natuurwetenschappen, Wiskunde en Informatica voor pappa Contents Preface 1 1 Introduction 3 1.1 Introduction . .3 1.2 Context . .5 1.3 Research Questions . .7 1.4 Contribution . .8 1.5 Thesis structure . .8 2 Operating Systems 11 2.1 Introduction . 11 2.2 What is an operating system: A historical perspective . 12 2.2.1 Early history . 12 2.2.2 1960s: Multiprogramming and time-sharing systems . 12 2.2.3 Operating system abstractions . 13 2.2.4 Operating system design . 14 2.3 Hardware platforms: A future perspective . 16 2.3.1 Multi-core is here and now . 16 2.3.2 Towards heterogeneous many-cores ................ 16 2.3.3 Memory and cache organization . 18 2.3.4 A case for hardware managed concurrency . 19 2.4 Operating systems: State of the art . 20 2.4.1 Early multiprocessor systems . 20 2.4.2 Loosely coupled multiprocessors . 21 2.4.3 Networks of workstations . 23 2.4.4 Multi and many-core operating systems . 26 2.4.5 Commodity Operating Systems . 28 2.5 Conclusion . 32 3 SVP 35 3.1 Introduction . 35 3.2 Definition of SVP . 36 3.2.1 Resources . 38 3.2.2 Communication and Synchronization . 38 i ii CONTENTS 3.2.3 Memory Model and Consistency . 39 3.2.4 Example . 39 3.3 An SVP Many-core: The Microgrid . 41 3.3.1 Many simple fine-threaded cores . 42 3.3.2 Synchronizing registers . 43 3.3.3 On-chip networks and memory . 44 3.4 SVP on pthreads . 46 3.4.1 Implementation . 46 3.4.2 Efficiency . 47 3.4.3 Application . 49 3.5 Extending SVP for Distributed Memory . 50 3.5.1 Distributed Environment in SVP . 51 3.5.2 Software Components . 52 3.5.3 Distributed Memory . 53 3.5.4 Extending µTC: Data description functions . 54 3.5.5 Distributed SVP Prototype . 55 3.6 Summary . 56 4 Processes and Synchronization 57 4.1 Introduction . 57 4.2 Processes & Scheduling . 57 4.2.1 Defining a Process . 58 4.2.2 Fine grained scheduling . 58 4.2.3 Coarse grained scheduling . 59 4.2.4 The problem of squeeze ...................... 60 4.2.5 Pre-emption on the Microgrid . 62 4.2.6 Space-sharing with SVP . 64 4.2.7 System Services & Identification . 67 4.2.8 Summary . 68 4.3 Synchronizations . 68 4.3.1 Exclusive places . 69 4.3.2 Spinlocks in SVP . 71 4.3.3 Suspend and resume with sear threads . 72 4.3.4 Suspend and resume with continuations . 75 4.3.5 Summary . 76 5 Protection and Security 77 5.1 Introduction . 77 5.2 Protecting Computational Resources . 78 5.2.1 Applying capabilities to SVP . 78 5.2.2 Capabilities on the Microgrid . 79 5.2.3 Special case: System calls . 80 5.2.4 Configuration . 82 5.2.5 Summary . 83 5.3 Memory Protection & Management . 83 5.3.1 Concurrency granularity of protection . 83 CONTENTS iii 5.3.2 Address space granularity . 85 5.3.3 Managing protection . 87 5.3.4 Data communication and consistency . 88 5.3.5 Memory management . 93 5.3.6 Summary . 94 6 Resource Management 95 6.1 Introduction . 95 6.2 Resource-oriented Resource Management . 96 6.2.1 Scalability . 97 6.2.2 Examples . 98 6.2.3 Evaluation . 100 6.2.4 Summary . 110 6.3 Service-oriented Resource Management . 110 6.3.1 Protocol . 112 6.3.2 The root SEP . 114 6.3.3 Evaluation . 115 6.3.4 Summary . 119 6.4 Discussion . 119 7 I/O Services 121 7.1 Introduction . 121 7.2 Related Work . 122 7.3 I/O System Service . 122 7.3.1 I/O Model (Synchronous and Asynchronous) . 123 7.3.2 General Notes . 126 7.3.3 I/O Places . 126 7.4 Microgrid I/O Implementation . 126 7.4.1 I/O Cores . 127 7.4.2 High-Speed Bus . 128 7.4.3 Bus Interface . 128 7.4.4 Device Communication and Interrupt Handling . 129 7.4.5 Synchronizing and Interrupts . 129 7.4.6 Memory Interface . 129 7.5 Evaluation . 130 7.5.1 Experimental Setup and Implementation . 130 7.5.2 Overhead and DCA performance . 131 7.5.3 Throughput of I/O requests . 132 7.5.4 Contention of I/O requests . 136 7.5.5 Discussion . 139 8 Run-time system 141 8.1 Introduction . 141 8.2 Introduction to S-Net . ..