Concurrent Lazy Splay Tree with Relativistic Programming Approach
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Université De Montréal Low-Impact Operating
UNIVERSITE´ DE MONTREAL´ LOW-IMPACT OPERATING SYSTEM TRACING MATHIEU DESNOYERS DEPARTEMENT´ DE GENIE´ INFORMATIQUE ET GENIE´ LOGICIEL ECOLE´ POLYTECHNIQUE DE MONTREAL´ THESE` PRESENT´ EE´ EN VUE DE L’OBTENTION DU DIPLOMEˆ DE PHILOSOPHIÆ DOCTOR (Ph.D.) (GENIE´ INFORMATIQUE) DECEMBRE´ 2009 c Mathieu Desnoyers, 2009. UNIVERSITE´ DE MONTREAL´ ECOL´ E POLYTECHNIQUE DE MONTREAL´ Cette th`ese intitul´ee : LOW-IMPACT OPERATING SYSTEM TRACING pr´esent´ee par : DESNOYERS Mathieu en vue de l’obtention du diplˆome de : Philosophiæ Doctor a ´et´edˆument accept´ee par le jury constitu´ede : Mme. BOUCHENEB Hanifa, Doctorat, pr´esidente M. DAGENAIS Michel, Ph.D., membre et directeur de recherche M. BOYER Fran¸cois-Raymond, Ph.D., membre M. STUMM Michael, Ph.D., membre iii I dedicate this thesis to my family, to my friends, who help me keeping balance between the joy of sharing my work, my quest for knowledge and life. Je d´edie cette th`ese `ama famille, `ames amis, qui m’aident `aconserver l’´equilibre entre la joie de partager mon travail, ma quˆete de connaissance et la vie. iv Acknowledgements I would like to thank Michel Dagenais, my advisor, for believing in my poten- tial and letting me explore the field of operating systems since the beginning of my undergraduate studies. I would also like to thank my mentors, Robert Wisniewski from IBM Research and Martin Bligh, from Google, who have been guiding me through the internships I have done in the industry. I keep a good memory of these experiences and am honored to have worked with them. A special thanks to Paul E. -
Copyright by David Wilson Kitchin 2013
Copyright by David Wilson Kitchin 2013 The Dissertation Committee for David Wilson Kitchin certifies that this is the approved version of the following dissertation: Orchestration and Atomicity Committee: Jayadev Misra, Supervisor William Cook, Supervisor Don Batory Keshav Pingali Dan Grossman Orchestration and Atomicity by David Wilson Kitchin, B.S.C.S. Dissertation Presented to the Faculty of the Graduate School of The University of Texas at Austin in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy The University of Texas at Austin August 2013 This dissertation is dedicated to my mother and father, whose boundless love and support have made all of this possible. Acknowledgments First, I must express my gratitude to my best friend, Kristine Butler, without whose unwavering support I could never have completed this journey. I am also deeply grateful to my good friends Chris Lundberg and Mercedes Vaughn, who have given me a place to call home for the past three years, and whose wonderful companionship I have continually enjoyed. I am thankful every day for my loving, quirky, and brilliant family. I am grateful for my excellent advisor and mentor, Jay Misra, so much so that I am not sure how to put it into words. We have worked together for eight years, and our collaborations have always been productive and enjoyable. He has always treated me with respect, even when I have ignored his guidance or strained his patience. Jay is a great scholar, and I look forward to opportunities to work with him again in the future. My gratitude extends to all of the members of the Orc Research Group, past and present, who have each in their own way made the group a lively and interesting hub of great ideas and vigorous discussion. -
Lightweight Autonomic Network Architecture
Institut für Technische Informatik und Kommunikationsnetze Lightweight Autonomic Network Architecture Daniel Borkmann Master's Thesis MA-2011-01 January 2012 Advisors, ETH Zurich: Ariane Keller, Dr. Wolfgang Muhlbauer¨ Supervisor, ETH Zurich: Prof. Dr. Bernhard Plattner Supervisor, HTWK Leipzig: Prof. Dr.-Ing. Dietmar Reimann ETH Zurich Computer Engineering and Networks Laboratory Communication Systems Group Abstract During the last decades the Internet architecture matured and gained more and more popularity. Networking devices of all kind ranging from high-end servers to personal computers, tablet devices, mobile phones or even embedded sensor networks make use of it. The Internet became ubiquitous for us. Even though we witness such a diversity of devices, the progress of having an efficient inter- connection between all of them only advances in small steps. No matter if we consider a server, a mobile phone or a resource-constrained temperature sensor on an embedded device from this large spectrum, with high probability, all of them have the same, one-size-fits-all TCP/IP protocol stack, although there are more appropriate communication mechanisms than that. Recent research tries to challenge this stagnation by introducing dynamic adap- tion into computing systems. For instance, the EPiCS project aims at making devices more self-aware, so that they can dynamically adapt to their current needs. Imagine such a temperature sensor that only has a very minimal protocol stack, hence it has only protocols active, it is actually using in order to save re- sources. If such a sensor detects that it is loosing too much battery power, it could automatically switch to a less reliable but less power-intense protocol. -
Extending Relativistic Programming to Multiple Writers
Portland State University PDXScholar Dissertations and Theses Dissertations and Theses 1-1-2012 Extending Relativistic Programming to Multiple Writers Philip William Howard Portland State University Follow this and additional works at: https://pdxscholar.library.pdx.edu/open_access_etds Let us know how access to this document benefits ou.y Recommended Citation Howard, Philip William, "Extending Relativistic Programming to Multiple Writers" (2012). Dissertations and Theses. Paper 114. https://doi.org/10.15760/etd.114 This Dissertation is brought to you for free and open access. It has been accepted for inclusion in Dissertations and Theses by an authorized administrator of PDXScholar. Please contact us if we can make this document more accessible: [email protected]. Extending Relativistic Programming to Multiple Writers by Philip William Howard A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science Dissertation Committee: Jonathan Walpole, Chair Robert Daasch James Hook Mark Jones Paul E. McKenney Bryant York Portland State University 2012 Abstract For software to take advantage of modern multicore processors, it must be safely concurrent and it must scale. Many techniques that allow safe concurrency do so at the expense of scalability. Coarse grain locking allows multiple threads to access common data safely, but not at the same time. Non-Blocking Synchronization and Transactional Memory techniques optimistically allow concurrency, but only for dis- joint accesses and only at a high performance cost. Relativistic programming is a technique that allows low overhead readers and joint access parallelism between read- ers and writers. Most of the work on relativistic programming has assumed a single writer at a time (or, in partitionable data structures, a single writer per partition), and single writer solutions cannot scale on the write side. -
Safe Deferred Memory Reclamation with Types
Safe Deferred Memory Reclamation with Types Ismail Kuru[0000−0002−5796−2150] and Colin S. Gordon[0000−0002−9012−4490] Drexel University fik335,[email protected] Abstract. Memory management in lock-free data structures remains a major challenge in concurrent programming. Design techniques including read-copy-update (RCU) and hazard pointers provide workable solutions, and are widely used to great effect. These techniques rely on the concept of a grace period: nodes that should be freed are not deallocated immediately, and all threads obey a protocol to ensure that the deallocating thread can detect when all possible readers have completed their use of the object. This provides an approach to safe deallocation, but only when these subtle protocols are implemented correctly. We present a static type system to ensure correct use of RCU memory management: that nodes removed from a data structure are always scheduled for subsequent deallocation, and that nodes are scheduled for deallocation at most once. As part of our soundness proof, we give an abstract semantics for RCU memory management primitives which captures the fundamental properties of RCU. Our type system allows us to give the first proofs of memory safety for RCU linked list and binary search tree implementations without requiring full verification. 1 Introduction For many workloads, lock-based synchronization – even fine-grained locking – has unsatisfactory performance. Often lock-free algorithms yield better performance, at the cost of more complex implementation and additional difficulty reasoning about the code. Much of this complexity is due to memory management: devel- opers must reason about not only other threads violating local assumptions, but whether other threads are finished accessing nodes to deallocate.