Operating-System Support for Efficient Fine-Grained Concurrency in Applications

Total Page:16

File Type:pdf, Size:1020Kb

Operating-System Support for Efficient Fine-Grained Concurrency in Applications Operating-System Support for Efficient Fine-Grained Concurrency in Applications Betriebssystemunterstützung für effiziente feingranulare Nebenläufigkeit in Anwendungen Der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg zur Erlangung des Doktorgrades Doktor der Ingenieurwissenschaften (Dr.-Ing.) vorgelegt von Christoph Erhardt Als Dissertation genehmigt von der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg Tag der mündlichen Prüfung: 03. März 2020 Vorsitzender des Promotionsorgans: Prof. Dr.-Ing. habil. Andreas Paul Fröba Gutachter: Prof. Dr.-Ing. habil. Wolfgang Schröder-Preikschat Prof. Dr.-Ing. Jörg Nolte Dedicated to the memory of Sven Erhardt This work is licenced under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To view a copy of this licence, visit https://creativecommons.org/licenses/by-nc-nd/4.0/. Abstract The steadily advancing trend towards multi- and manycore computing architectures bears enormous challenges for developers of application software. To be able to make efficient use of the raw parallelism provided by the hardware, programs must explicitly cater for that fact. The classic programming model of a multithreaded application process, which consists of a number of control flows (threads) managed and scheduled by the operating-system kernel within a shared address space, is being increasingly stretched to its limits: on the one hand, creating threads and switching between them is not sufficiently lightweight; on the other hand, structuring a parallel application around threads is often cumbersome and puts needless obstacles in the programmer’s way. A suitable alternative to multithreaded programming is the use of a so-called concurrency platform that supports developers in articulating applications as a conglomeration of fine-grained concurrent activities. Concurrency platforms come with a runtime system that is responsible for dispatching the lightweight work packages to the available computing resources. Such runtime systems generally build upon the abstractions provided by an underlying commodity operating system such as Linux – that is, upon threads as abstractions of processor cores. This construction results in a number of disadvantages: for instance, the operating system’s scheduler acts without consulting the runtime system, thus making decisions that are potentially unfavourable from the application’s point of view; the coexistence of multiple parallel application processes causes problematic reciprocal interference; blocking system calls cause a temporary loss of parallelism. This thesis presents AtroPOS, the design of an atrophied parallel operating system that is specially geared towards supporting concurrency platforms on manycore systems. AtroPOS is a derivative of the OctoPOS operating system and has undergone comprehensive further development; it rests on the paradigm of invasive computing and adopts its fundamental concepts: resource-aware program- ming, exclusive allocation of processor cores to applications, tailoring and dynamic reconfigurability. The operating-system kernel provides a boiled-down set of essential low-level abstractions on top of which arbitrary runtime libraries can be placed. InvRT, the invasive runtime system that supports executing applications of invasive computing, was developed as a reference runtime library. By default, AtroPOS makes the existing physical processor cores directly available to the application; their virtualisation is strictly optional and there is no notion of threads. The scheduling of user control flows is carried out purely on the user level by the runtime system without involving the operating-system kernel; this allows for the efficient handling even of very fine-grained concurrency within the application. System calls that may block within the kernel have asynchronous invocation semantics and return immediately upon blocking so that loss of parallelism during the waiting time is ruled out by design. Notification of completed system operations is carried out by means of a generic mechanism that passes user-defined data structures upward to the application and can be used by the runtime system to construct arbitrary synchronisation data structures such as futures. The same versatile mechanism is harnessed on tiled computing systems to allow parts of a distributed application to communicate with one another. In addition, AtroPOS offers configurable vertical isolation: the strict separation of the operating- system kernel from the application can be enabled and disabled in a coarse- and fine-grained i manner, and both statically and dynamically. With this, type-safe applications can issue system calls as ordinary function calls and thus lower their direct and indirect costs. The aforementioned concepts were implemented in the AtroPOS kernel and the InvRT runtime system in the context of this thesis; they were evaluated with the aid of micro-benchmarks and various application suites. Moreover, the runtime library of the parallel programming language Cilk Plus – an extension of C/C++ – was ported to the AtroPOS interface in order to showcase the versatility of the approach. ii Zusammenfassung Der stetig voranschreitende Trend hin zu Mehr- und Vielkernrechnerarchitekturen bringt enorme Herausforderungen für die Entwickler von Anwendungssoftware mit sich. Programme müssen spezi- ell dafür ausgelegt sein, die von der Hardware bereitgestellte Parallelität effizient auszunutzen. Das klassische Programmiermodell eines mehrfädigen Anwendungsprozesses, bestehend aus mehreren vom Betriebssystemkern verwalteten und eingeplanten Aktivitätsträgern (Fäden) innerhalb eines gemeinsamen Adressraums, stößt hierbei zunehmend an seine Grenzen: Fäden sind einerseits in ihrer Erzeugung und Umschaltung zu schwergewichtig und legen andererseits Programmierern beim Strukturieren skalierbarer paralleler Anwendungen oftmals unnötig Steine in den Weg. Eine geeignete Alternative zu mehrfädiger Programmierung ist die Benutzung einer sogenannten Nebenläufigkeitsplattform, die Entwickler darin unterstützt, Anwendungen als eine Menge von feingranularen nebenläufigen Aktivitäten auszudrücken. Nebenläufigkeitsplattformen beinhalten ein Laufzeitsystem, dessen Aufgabe es ist die leichtgewichtigen Arbeitspakete auf den verfügbaren Rechenressourcen zur Ausführung zu bringen. Das Laufzeitsystem baut hierbei üblicherweise auf den Abstraktionen auf, die ein darunterliegendes Standardbetriebssystem wie etwa Linux zur Verfügung stellt – also auf Fäden als Abstraktion von Rechenkernen. Diese Strukturierung bringt eine Reihe von Nachteilen mit sich: So agiert beispielsweise die Einplanung des Betriebssystems ohne Rücksprache mit dem Laufzeitsystem und trifft so potenziell für die Anwendung ungünstige Entscheidungen; die Koexistenz mehrerer paralleler Anwendungsprozesse verursacht problematische gegenseitige Beeinflussung; blockierende Systemaufrufe sorgen für den vorübergehenden Verlust von Parallelität. In dieser Arbeit wird AtroPOS vorgestellt, der Entwurf eines atrophierten parallelen Betriebssystems, das speziell für die Unterstützung von Nebenläufigkeitsplattformen auf Vielkernrechnern ausgelegt ist. AtroPOS ist eine umfassende Weiterentwicklung des Betriebssystems OctoPOS; es fußt auf dem Paradigma des invasiven Rechnens und übernimmt dessen Grundkonzepte: ressourcengewahre Programmierung, exklusive Vergabe der Rechenkerne an Anwendungen, Maßschneiderung und dynamische Rekonfigurierbarkeit. Der Betriebssystemkern stellt einen eingedampften Satz von essenziellen Abstraktionen auf niedriger Ebene bereit, auf denen beliebige Laufzeitbibliotheken aufsetzen können. Als Referenz hierfür wurde das invasive Laufzeitsystem InvRT entwickelt, das die Ausführung von Anwendungen des invasiven Rechnens ermöglicht. AtroPOS stellt der Anwendung standardmäßig die existierenden physikalischen Rechenkerne unmittelbar zur Verfügung; ihre Virtualisierung ist strikt optional und auf das Fadenkonzept wird konsequent verzichtet. Die Einplanung von Nutzerkontrollflüssen erfolgt rein auf Ebene des Lauf- zeitsystems und ohne Mitwirkung des Betriebssystemkerns; dies ermöglicht den effizienten Umgang selbst mit äußerst feingranular strukturierter Nebenläufigkeit auf Anwendungsebene. Systemaufru- fe, die im Kern blockieren können, haben asynchrone Aufrufsemantik und kehren im Blockadefall sofort zurück, so dass während der Wartezeit prinzipbedingt keine Parallelitätseinbußen für das Nutzerprogramm auftreten können. Die Benachrichtigung über abgeschlossene Systemoperationen erfolgt mittels eines generischen Mechanismus, der nutzerdefinierte Datenstrukturen nach oben an die Anwendung reicht; hiermit lassen sich auf Ebene des Laufzeitsystems beliebige Synchronisa- tionsdatenstrukturen wie etwa Ergebniszusagen konstruieren. Derselbe vielseitige Mechanismus wird zudem auf gekachelten Rechensystemen dafür genutzt, verteilten Anwendungsteilen die Kommunikation untereinander zu ermöglichen. iii Zusätzlich bietet AtroPOS konfigurierbare vertikale Isolation: Die strikte Trennung des Betriebs- systemkerns von der Anwendung lässt sich auf grob- und feingranularer Ebene sowohl statisch als auch dynamisch ein- und ausschalten. Typsichere Anwendungen können so Systemaufrufe als gewöhnliche Funktionsaufrufe absetzen und damit ihre direkten und indirekten Kosten senken. Die genannten Konzepte des AtroPOS-Kerns und des InvRT-Laufzeitsystems wurden im Rahmen dieser Arbeit implementiert und anhand von Mikro-Benchmarks und diversen
Recommended publications
  • Linux and Electronics
    Linux and Electronics Urs Lindegger Linux and Electronics Urs Lindegger Copyright © 2019-11-25 Urs Lindegger Table of Contents 1. Introduction .......................................................................................................... 1 Note ................................................................................................................ 1 2. Printed Circuits ...................................................................................................... 2 Printed Circuit Board design ................................................................................ 2 Kicad ....................................................................................................... 2 Eagle ..................................................................................................... 13 Simulation ...................................................................................................... 13 Spice ..................................................................................................... 13 Digital simulation .................................................................................... 18 Wings 3D ....................................................................................................... 18 User interface .......................................................................................... 19 Modeling ................................................................................................ 19 Making holes in Wings 3D .......................................................................
    [Show full text]
  • A Microkernel API for Fine-Grained Decomposition
    A Microkernel API for Fine-Grained Decomposition Sebastian Reichelt Jan Stoess Frank Bellosa System Architecture Group, University of Karlsruhe, Germany freichelt,stoess,[email protected] ABSTRACT from the microkernel APIs in existence. The need, for in- Microkernel-based operating systems typically require spe- stance, to explicitly pass messages between servers, or the cial attention to issues that otherwise arise only in dis- need to set up threads and address spaces in every server for tributed systems. The resulting extra code degrades per- parallelism or protection require OS developers to adopt the formance and increases development effort, severely limiting mindset of a distributed-system programmer rather than to decomposition granularity. take advantage of their knowledge on traditional OS design. We present a new microkernel design that enables OS devel- Distributed-system paradigms, though well-understood and opers to decompose systems into very fine-grained servers. suited for physically (and, thus, coarsely) partitioned sys- We avoid the typical obstacles by defining servers as light- tems, present obstacles to the fine-grained decomposition weight, passive objects. We replace complex IPC mecha- required to exploit the benefits of microkernels: First, a nisms by a simple function-call approach, and our passive, lot of development effort must be spent into matching the module-like server model obviates the need to create threads OS structure to the architecture of the selected microkernel, in every server. Server code is compiled into small self- which also hinders porting existing code from monolithic sys- contained files, which can be loaded into the same address tems. Second, the more servers exist | a desired property space (for speed) or different address spaces (for safety).
    [Show full text]
  • TOWARD a POETICS of NEW MEDIA By
    'A Kind of Thing That Might Be': Toward A Poetics of New Media Item Type text; Electronic Dissertation Authors Thompson, Jason Craig 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 28/09/2021 20:28:02 Link to Item http://hdl.handle.net/10150/194959 ‘A KIND OF THING THAT MIGHT BE’: TOWARD A POETICS OF NEW MEDIA by Jason Thompson _____________________ Copyright © Jason Thompson 2008 A Dissertation Submitted to the Faculty of the DEPARTMENT OF ENGLISH In Partial Fulfillment of the Requirements For the Degree of DOCTOR OF PHILOSOPHY WITH A MAJOR IN RHETORIC, COMPOSITION, AND THE TEACHING OF ENGLISH In the Graduate College THE UNIVERSITY OF ARIZONA 2008 2 THE UNIVERSITY OF ARIZONA GRADUATE COLLEGE As members of the Dissertation Committee, we certify that we have read the dissertation prepared by Jason Thompson entitled A Kind of Thing that Might Be: Toward a Rhetoric of New Media and recommend that it be accepted as fulfilling the dissertation requirement for the Degree of Doctor of Philosophy. ______________________________________________________________________ Date: 07/07/2008 Ken McAllister _______________________________________________________________________ Date: 07/07/2008 Theresa Enos _______________________________________________________________________ Date: 07/07/2008 John Warnock Final approval and acceptance of this dissertation is contingent upon the candidate’s submission of the final copies of the dissertation to the Graduate College. I hereby certify that I have read this dissertation prepared under my direction and recommend that it be accepted as fulfilling the dissertation requirement.
    [Show full text]
  • The Design of the EMPS Multiprocessor Executive for Distributed Computing
    The design of the EMPS multiprocessor executive for distributed computing Citation for published version (APA): van Dijk, G. J. W. (1993). The design of the EMPS multiprocessor executive for distributed computing. Technische Universiteit Eindhoven. https://doi.org/10.6100/IR393185 DOI: 10.6100/IR393185 Document status and date: Published: 01/01/1993 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal.
    [Show full text]
  • Openvms Record Management Services Reference Manual
    OpenVMS Record Management Services Reference Manual Order Number: AA-PV6RD-TK April 2001 This reference manual contains general information intended for use in any OpenVMS programming language, as well as specific information on writing programs that use OpenVMS Record Management Services (OpenVMS RMS). Revision/Update Information: This manual supersedes the OpenVMS Record Management Services Reference Manual, OpenVMS Alpha Version 7.2 and OpenVMS VAX Version 7.2 Software Version: OpenVMS Alpha Version 7.3 OpenVMS VAX Version 7.3 Compaq Computer Corporation Houston, Texas © 2001 Compaq Computer Corporation Compaq, AlphaServer, VAX, VMS, the Compaq logo Registered in U.S. Patent and Trademark Office. Alpha, PATHWORKS, DECnet, DEC, and OpenVMS are trademarks of Compaq Information Technologies Group, L.P. in the United States and other countries. UNIX and X/Open are trademarks of The Open Group in the United States and other countries. All other product names mentioned herein may be the trademarks of their respective companies. Confidential computer software. Valid license from Compaq required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license. Compaq shall not be liable for technical or editorial errors or omissions contained herein. The information in this document is provided "as is" without warranty of any kind and is subject to change without notice. The warranties for Compaq products are set forth in the express limited warranty statements accompanying such products. Nothing herein should be construed as constituting an additional warranty.
    [Show full text]
  • ENCE360: Operating Systems Course Outline
    ENCE360: Operating Systems Course Outline This course is an introduction to operating systems: Operating systems are a special type of software that sits between the hardware and other software applications. They function to manage various computer resources, and to provide a convenient interface to the users. This course emphasises system calls (which provide an interface between the operating system and applications) and examples of operating systems. Lecture Topic Reading Laboratory Topic Introduction to Operating Systems MOS: Ch 1 C Revision Processes and Threads MOS: Ch 2 Scheduling (processes/threads) Threads, Processes Inter-process Communicatioin (pipes/sockets) MOS: pgs 43-45, 733-734 Concurrency Pipes, Files, Signals Input/Output MOS: Ch 5 Files and Directories MOS: Ch.4 Sockets LAB TEST 1 MID SEMESTER BREAK Memory Management - Caches MOS: Ch 3, 7.8 labs on OS examples, including Memory Management - Virtual Memory MOS: Sect 3.3 Xv6 (simple teaching OS) Virtualisation Distributed Systems Operating System Examples include: Windows, Linux, Android, macOS/iOS, real-time operating systems Assignment due Staff for Operating Systems Course Supervisor & Lecturer Dr Richard Green [email protected] Lecturer: Prof Mark Claypool [email protected] Tutor Gordon Beintmann [email protected] Laboratories There are two Labs begin the first week of term scheduled lab streams. For lab times and locations, check www.canterbury.ac.nz/tt All labs will be held in the department Self-allocate your lab via labs in the Erskine https://mytimetable.canterbury.ac.nz building. /aplus/apstudent Each student should If you hit any snags, email attend one 2-hour [email protected] lab each week.
    [Show full text]
  • 微软郑宇:大数据解决城市大问题 18 更智能的家庭 19 微博拾粹 Weibo Highlights
    2015年1月 第33期 P7 WWT: 数字宇宙,虚拟星空 P16 P12 带着微软坐过山车 P4 P10 1 微软亚洲研究院 2015年1月 第33期 以“开放”和“极客创新”精神铸造一个“新”微软 3 第十六届“二十一世纪的计算”学术研讨会成功举办 4 微软与清华大学联合举办2014年微软亚太教育峰会 5 你还记得一夜暴红的机器人小冰吗? 7 Peter Lee:带着微软坐过山车 10 计算机科学家周以真专访 12 WWT:数字宇宙,虚拟星空 16 微软郑宇:大数据解决城市大问题 18 更智能的家庭 19 微博拾粹 Weibo Highlights @微软亚洲研究院 官方微博精彩选摘 20 让虚拟世界更真实 22 4K时代,你不能不知道的HEVC 25 小冰的三项绝技是如何炼成的? 26 科研伴我成长——上海交通大学ACM班学生在微软亚洲研究院的幸福实习生活 28 年轻的心与渐行渐近的梦——记微软-斯坦福产品设计创新课程ME310 30 如何写好简历,找到心仪的暑期实习 32 微软研究员Eric Horvitz解读“人工智能百年研究” 33 2 以“开放”和“极客创新”精神 铸造一个“新”微软 爆竹声声辞旧岁,喜气洋“羊”迎新年。转眼间,这一 年的时光即将伴着哒哒的马蹄声奔驰而去。在这辞旧迎新的 时刻,我们怀揣着对技术改变未来的美好憧憬,与所有为推 动互联网不断发展、为人类科技进步不断奋斗的科技爱好者 一起,敲响新年的钟声。挥别2014,一起期盼那充满希望 的新一年! 即将辞行的是很不平凡的一年。这一年的互联网风起云 涌,你方唱罢我登场,比起往日的峥嵘有过之而无不及:可 穿戴设备和智能家居成为众人争抢的高地;人工智能在逐渐 触手可及的同时又引起争议不断;一轮又一轮创业大潮此起 彼伏,不断有优秀的新公司和新青年展露头角。这一年的微 软也在众人的关注下发生着翻天覆地的变化:第三任CEO Satya Nadella屡新,确定以移动业务和云业务为中心 的公司战略,以开放的姿态拥抱移动互联的新时代,发布新一代Windows 10操作系统……于我个人而言,这一 年,就任微软亚太研发集团主席开启了我20年微软旅程上的新篇章。虽然肩上的担子更重了,但心中的激情却 丝毫未减。 “开放”和“极客创新”精神是我们在Satya时代看到微软文化的一个演进。“开放”是指不固守陈规,不囿 于往日的羁绊,用户在哪里需要我们,微软的服务就去哪里。推出Office for iOS/Android,开源.Net都是“开放” 的“新”微软对用户做出的承诺。关于“极客创新”,大家可能都已经听说过“车库(Garage)”这个词了,当年比 尔∙盖茨最早就是在车库里开始创业的。2014年,微软在全球范围内举办了“极客马拉松大赛(Hackthon)”,并鼓 励员工在业余时间加入“微软车库”项目,将自己的想法变为现实。这一系列的举措都是希望激发微软员工的“极 客创新”精神,我们也欣喜地看到变化正在微软内部潜移默化地进行着。“微软车库”目前已经公布了一部分有趣 的项目,我相信,未来还会有更多让人眼前一亮的创新。 2015年,我希望微软亚洲研究院和微软亚太研发集团的同事能够保持和发扬“开放”和“极客创新”的精 神。我们一起铸造一个“新”微软,为用户创造更多的惊喜! 微软亚洲研究院院长 3 第十六届“二十一世纪的计算”学术研讨会成功举办 2014年10月29日由微软亚洲研究院与北京大学联合主办的“二 形图像等领域的突破:微软语音助手小娜的背后,蕴藏着一系列人 十一世纪的计算”大型学术研讨会,在北京大学举行。包括有“计 工智能技术;大数据和机器学习技术帮助我们更好地认识城市和生 算机科学领域的诺贝尔奖”之称的图灵奖获得者、来自微软及学术
    [Show full text]
  • Software Product Description and Quickspecs
    VSI OpenVMS Alpha Version 8.4-2L2 Operating System DO-DVASPQ-01A Software Product Description and QuickSpecs PRODUCT NAME: VSI OpenVMS Alpha Version 8.4-2L2 DO-DVASPQ-01A This SPD and QuickSpecs describes the VSI OpenVMS Alpha Performance Release Operating System software, Version 8.4-2L2 (hereafter referred to as VSI OpenVMS Alpha V8.4-2L2). DESCRIPTION OpenVMS is a general purpose, multiuser operating system that runs in both production and development environments. VSI OpenVMS Alpha Version 8.4-2L2 is the latest release of the OpenVMS Alpha computing environment by VMS Software, Inc (VSI). VSI OpenVMS Alpha V8.4-2L2 is compiled to take advantage of architectural features such as byte and word memory reference instructions, and floating-point improvements, which are available only in HPE AlphaServer EV6 or later processors. This optimized release improves performance by taking advantage of faster hardware-based instructions that were previously emulated in software. NOTE: VSI OpenVMS Alpha V8.4-2L2 does not work on, and is not supported on, HPE AlphaServer pre-EV6 systems. OpenVMS Alpha supports HPE’s AlphaServer series computers. OpenVMS software supports industry standards, facilitating application portability and interoperability. OpenVMS provides symmetric multiprocessing (SMP) support for multiprocessing systems. The OpenVMS operating system can be tuned to perform well in a wide variety of environments. This includes combinations of compute-intensive, I/O-intensive, client/server, real-time, and other environments. Actual system performance depends on the type of computer, available physical memory, and the number and type of active disk and tape drives. The OpenVMS operating system has well-integrated networking, distributed computing, client/server, windowing, multi-processing, and authentication capabilities.
    [Show full text]
  • Certified Systems Matrix 12C Release 3 (12.3.2.0.0) E59961-07 July 2016
    Oracle® Enterprise Manager Ops Center Certified Systems Matrix 12c Release 3 (12.3.2.0.0) E59961-07 July 2016 This guide lists the certified systems for Oracle Enterprise Manager Ops Center. The following topics are covered in this document: · Base Operating Systems · Base Browsers · Base Databases · Base Oracle Clusterware for High Availability · Target Operating Systems · Target Servers · Target Non-Server Hardware · Target Virtualization · Target Engineered Systems · Supported Technology Base Operating Systems This section describes the supported operating systems for the Enterprise Controller and Proxy Controller. Enterprise Controller Operating Systems This table lists the supported operating systems for the Enterprise Controller. Table 1-1 Enterprise Controller Operating Systems Enterprise Controller Operating Systems Certification Platform Version Minimum Update Level and Comments Oracle Solaris NA NA Oracle Solaris SPARC 10 Embedded Database: 1/13 Customer-Managed Database: 9/10 through 1/13 1 Table 1-1 (Cont.) Enterprise Controller Operating Systems Certification Platform Version Minimum Update Level and Comments Oracle Solaris SPARC 11 Embedded Database: 11.1 SRU 14.5 through 11.3 Customer-Managed Database: 11.0 SRU 10 through 11.3 Oracle Solaris 11 Express is not supported. Oracle Solaris SPARC 10 Embedded Database: 1/13 Local Zone Customer-Managed Database: 9/10 through 1/13 Oracle Solaris SPARC 11 Embedded Database: 11.1 SRU 14.5 through Local Zone 11.3 Customer-Managed Database: 11.0 SRU 10 through 11.3 Oracle Solaris 11 Express is not supported. Oracle VM Server for 10 Embedded Database: 1/13 SPARC Customer-Managed Database: 9/10 through 1/13 Oracle VM Server for 11 Embedded Database: 11.1 SRU 14.5 through SPARC 11.3 Customer-Managed Database: 11.0 SRU 10 through 11.3 Oracle Solaris 11 Express is not supported.
    [Show full text]
  • Operating System Support for Parallel Processes
    Operating System Support for Parallel Processes Barret Rhoden Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2014-223 http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-223.html December 18, 2014 Copyright © 2014, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Operating System Support for Parallel Processes by Barret Joseph Rhoden A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate Division of the University of California, Berkeley Committee in charge: Professor Eric Brewer, Chair Professor Krste Asanovi´c Professor David Culler Professor John Chuang Fall 2014 Operating System Support for Parallel Processes Copyright 2014 by Barret Joseph Rhoden 1 Abstract Operating System Support for Parallel Processes by Barret Joseph Rhoden Doctor of Philosophy in Computer Science University of California, Berkeley Professor Eric Brewer, Chair High-performance, parallel programs want uninterrupted access to physical resources. This characterization is true not only for traditional scientific computing, but also for high- priority data center applications that run on parallel processors. These applications require high, predictable performance and low latency, and they are important enough to warrant engineering effort at all levels of the software stack.
    [Show full text]
  • Operating System Support for Redundant Multithreading
    Operating System Support for Redundant Multithreading Dissertation zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.) Vorgelegt an der Technischen Universität Dresden Fakultät Informatik Eingereicht von Dipl.-Inf. Björn Döbel geboren am 17. Dezember 1980 in Lauchhammer Betreuender Hochschullehrer: Prof. Dr. Hermann Härtig Technische Universität Dresden Gutachter: Prof. Frank Mueller, Ph.D. North Carolina State University Fachreferent: Prof. Dr. Christof Fetzer Technische Universität Dresden Statusvortrag: 29.02.2012 Eingereicht am: 21.08.2014 Verteidigt am: 25.11.2014 FÜR JAKOB *† 15. Februar 2013 Contents 1 Introduction 7 1.1 Hardware meets Soft Errors 8 1.2 An Operating System for Tolerating Soft Errors 9 1.3 Whom can you Rely on? 12 2 Why Do Transistors Fail And What Can Be Done About It? 15 2.1 Hardware Faults at the Transistor Level 15 2.2 Faults, Errors, and Failures – A Taxonomy 18 2.3 Manifestation of Hardware Faults 20 2.4 Existing Approaches to Tolerating Faults 25 2.5 Thesis Goals and Design Decisions 36 3 Redundant Multithreading as an Operating System Service 39 3.1 Architectural Overview 39 3.2 Process Replication 41 3.3 Tracking Externalization Events 42 3.4 Handling Replica System Calls 45 3.5 Managing Replica Memory 49 3.6 Managing Memory Shared with External Applications 57 3.7 Hardware-Induced Non-Determinism 63 3.8 Error Detection and Recovery 65 4 Can We Put the Concurrency Back Into Redundant Multithreading? 71 4.1 What is the Problem with Multithreaded Replication? 71 4.2 Can we make Multithreading
    [Show full text]
  • High Velocity Kernel File Systems with Bento
    High Velocity Kernel File Systems with Bento Samantha Miller, Kaiyuan Zhang, Mengqi Chen, and Ryan Jennings, University of Washington; Ang Chen, Rice University; Danyang Zhuo, Duke University; Thomas Anderson, University of Washington https://www.usenix.org/conference/fast21/presentation/miller This paper is included in the Proceedings of the 19th USENIX Conference on File and Storage Technologies. February 23–25, 2021 978-1-939133-20-5 Open access to the Proceedings of the 19th USENIX Conference on File and Storage Technologies is sponsored by USENIX. High Velocity Kernel File Systems with Bento Samantha Miller Kaiyuan Zhang Mengqi Chen Ryan Jennings Ang Chen‡ Danyang Zhuo† Thomas Anderson University of Washington †Duke University ‡Rice University Abstract kernel-level debuggers and kernel testing frameworks makes this worse. The restricted and different kernel programming High development velocity is critical for modern systems. environment also limits the number of trained developers. This is especially true for Linux file systems which are seeing Finally, upgrading a kernel module requires either rebooting increased pressure from new storage devices and new demands the machine or restarting the relevant module, either way on storage systems. However, high velocity Linux kernel rendering the machine unavailable during the upgrade. In the development is challenging due to the ease of introducing cloud setting, this forces kernel upgrades to be batched to meet bugs, the difficulty of testing and debugging, and the lack of cloud-level availability goals. support for redeployment without service disruption. Existing Slow development cycles are a particular problem for file approaches to high-velocity development of file systems for systems.
    [Show full text]