Greater complexity & reliance
|
|
- Phebe Wheeler
- 6 years ago
- Views:
Transcription
1 Tolerating Memory Leaks Michael. ond Kathryn S. McKinley ugs in eployed Software eployed software fails ifferent environment and inputs different behaviors Greater complexity & reliance 1
2 ugs in eployed Software eployed software fails ifferent environment and inputs different behaviors Greater complexity & reliance Memory leaks are a real problem ixing leaks is hard Memory Leaks in eployed Systems Memory leaks are a real problem Managed languages do not eliminate them 2
3 Memory Leaks in eployed Systems Memory leaks are a real problem Managed languages do not eliminate them ead Reachable Live Memory Leaks in eployed Systems Memory leaks are a real problem Managed languages do not eliminate them ead Reachable Live 3
4 Memory Leaks in eployed Systems Memory leaks are a real problem Managed languages do not eliminate them ead Reachable Live Memory Leaks in eployed Systems Memory leaks are a real problem Managed languages do not eliminate them ead Live 4
5 Memory Leaks in eployed Systems Memory leaks are a real problem Managed languages do not eliminate them Slow & crash real programs ead Live Memory Leaks in eployed Systems Memory leaks are a real problem Managed languages do not eliminate them Slow & crash real programs Unacceptable for some applications 5
6 Memory Leaks in eployed Systems Memory leaks are a real problem Managed languages do not eliminate them Slow & crash real programs Unacceptable for some applications ixing leaks is hard Leaks take time to materialize ailure far from cause xample riverless truck 10,000 lines of # Leak: past obstacles remained reachable No immediate symptoms This problem was pernicious because it only showed up after 40 minutes to an hour of driving around and collecting obstacles. Quick fix : after 40 minutes, stop & reboot nvironment sensitive More obstacles in deployment: failed in 28 minutes 6
7 xample riverless truck 10,000 lines of # Leak: past obstacles remained reachable No immediate symptoms This problem was pernicious because it only showed up after 40 minutes to an hour of driving around and collecting obstacles. Quick fix : restart after 40 minutes nvironment sensitive More obstacles in deployment ailed in 28 minutes xample riverless truck 10,000 lines of # Leak: past obstacles remained reachable No immediate symptoms This problem was pernicious because it only showed up after 40 minutes to an hour of driving around and collecting obstacles. Quick fix : restart after 40 minutes nvironment sensitive More obstacles in deployment ailed in 28 minutes 7
8 xample riverless truck 10,000 lines of # Leak: past obstacles remained reachable No immediate symptoms This problem was pernicious because it only showed up after 40 minutes to an hour of driving around and collecting obstacles. Quick fix : restart after 40 minutes nvironment sensitive More obstacles in deployment Unresponsive after 28 minutes Uncertainty in eployed Software Unknown leaks; unexpected failures Online leak diagnosis helps Too late to help failing systems 8
9 Uncertainty in eployed Software Unknown leaks; unexpected failures Online leak diagnosis helps Too late to help failing systems lso tolerate leaks Uncertainty in eployed Software Unknown leaks; unexpected failures Online leak diagnosis helps Too late to help failing systems lso tolerate leaks Illusion of fix 9
10 Uncertainty in eployed Software Unknown leaks; unexpected failures Online leak diagnosis helps Too late to help failing systems lso tolerate leaks liminate bad effects Illusion of fix on t slow on t crash Uncertainty in eployed Software Unknown leaks; unexpected failures Online leak diagnosis helps Too late to help failing systems lso tolerate leaks Illusion of fix liminate bad effects Preserve semantics on t slow on t crash efer OOM errors 10
11 Predicting the uture ead objects not used again Highly stale objects likely leaked Reachable ead Live Predicting the uture ead objects not used again Highly stale objects likely leaked Reachable ead [hilimbi & Hauswirth 04] [Qin et al. 05] [ond & McKinley 06] Live 11
12 Tolerating Leaks with Melt Move highly stale objects to disk Much larger than memory Time & space proportional to live memory Preserve semantics Stale objects In-use objects Stale objects Sounds like Paging! Stale objects In-use objects Stale objects 12
13 Sounds like Paging! Paging insufficient for managed languages Need object granularity G s working set is all reachable objects Sounds like Paging! Paging insufficient for managed languages Need object granularity G s working set is all reachable objects ookmarking collection [Hertz et al. 05] 13
14 hallenge #1: How does Melt identify stale objects? hallenge #1: How does Melt identify stale objects? G: for all fields a.f a.f = 0x1; 14
15 hallenge #1: How does Melt identify stale objects? G: for all fields a.f a.f = 0x1; hallenge #1: How does Melt identify stale objects? G: for all fields a.f a.f = 0x1; pplication: b = a.f; if (b & 0x1) { b &= ~0x1; a.f = b; [atomic] } 15
16 hallenge #1: How does Melt identify stale objects? G: for all fields a.f a.f = 0x1; pplication: b = a.f; if (b & 0x1) { b &= ~0x1; a.f = b; [atomic] } dd 6% to application time hallenge #1: How does Melt identify stale objects? G: for all fields a.f a.f = 0x1; pplication: b = a.f; if (b & 0x1) { b &= ~0x1; a.f = b; [atomic] } 16
17 hallenge #1: How does Melt identify stale objects? G: for all fields a.f a.f = 0x1; pplication: b = a.f; if (b & 0x1) { b &= ~0x1; a.f = b; [atomic] } Stale Space Heap nearly full move stale objects to disk in-use space stale space 17
18 Stale Space in-use space stale space hallenge #2 How does Melt maintain pointers? in-use space stale space 18
19 Stub-Scion Scion Pairs scion space scion stub in-use space stale space Stub-Scion Scion Pairs scion table scion scion space scion stub in-use space stale space 19
20 Stub-Scion Scion Pairs scion scion scion? table space scion stub in-use space stale space Scion-Referenced Object ecomes Stale scion table scion scion space scion stub in-use space stale space 20
21 Scion-Referenced Object ecomes Stale scion table scion space stub in-use space stale space hallenge #3 What if program accesses highly stale object? scion table scion space stub in-use space stale space 21
22 pplication ccesses Stale Object scion table scion space b = a.f; if (b & 0x1) { b &= ~0x1; if (instalespace(b)) b = activate(b); stub a.f = b; [atomic] } in-use space stale space pplication ccesses Stale Object scion table scion scion space stub scion stub in-use space stale space 22
23 pplication ccesses Stale Object scion table scion scion space stub scion stub in-use space stale space pplication ccesses Stale Object scion table scion scion space stub scion stub in-use space stale space 23
24 Implementation Integrated into Jikes RVM Works with any tracing collector valuation uses generational copying collector Implementation Integrated into Jikes RVM Works with any tracing collector valuation uses generational copying collector 32-bit 2 G 64-bit 120 G 24
25 Implementation Integrated into Jikes RVM Works with any tracing collector valuation uses generational copying collector mapping stub 32-bit 2 G 64-bit 120 G Performance valuation Methodology aapo, SPjbb2000, SPjvm98 ual-core Pentium 4 eterministic execution (replay) Results 6% overhead (read barriers) Stress test: still 6% overhead Speedups in tight heaps (reduced G workload) 25
26 Tolerating Leaks Leak clipse iff clipse opy-paste JbbMod ListLeak SwapLeak MySQL elaunay Mesh ualleak SPjbb2000 Mckoi atabase Melt s effect Tolerates until 24-hr limit (1,000X longer) Tolerates until 24-hr limit (194X longer) Tolerates until 20-hr crash (19X longer) Tolerates until disk full (200X longer) Tolerates until disk full (1,000X longer) Some highly stale but in-use (74X longer) Short-running Heap growth is in-use (2X longer) Heap growth is mostly in-use (2X longer) Thread leak: extra support needed (2X longer) Tolerating Leaks Leak clipse iff clipse opy-paste JbbMod ListLeak SwapLeak MySQL elaunay Mesh ualleak SPjbb2000 Mckoi atabase Melt s effect Tolerates until 24-hr limit (1,000X longer) Tolerates until 24-hr limit (194X longer) Tolerates until 20-hr crash (19X longer) Tolerates until disk full (200X longer) Tolerates until disk full (1,000X longer) Some highly stale but in-use (74X longer) Short-running Heap growth is in-use (2X longer) Heap growth is mostly in-use (2X longer) Thread leak: extra support needed (2X longer) 26
27 Tolerating Leaks Leak clipse iff clipse opy-paste JbbMod ListLeak SwapLeak MySQL elaunay Mesh ualleak SPjbb2000 Mckoi atabase Melt s effect Tolerates until 24-hr limit (1,000X longer) Tolerates until 24-hr limit (194X longer) Tolerates until 20-hr crash (19X longer) Tolerates until disk full (200X longer) Tolerates until disk full (1,000X longer) Some highly stale but in-use (74X longer) Short-running Heap growth is in-use (2X longer) Heap growth is mostly in-use (2X longer) Thread leak: extra support needed (2X longer) Tolerating Leaks Leak clipse iff clipse opy-paste JbbMod ListLeak SwapLeak MySQL elaunay Mesh ualleak SPjbb2000 Mckoi atabase Melt s effect Tolerates until 24-hr limit (1,000X longer) Tolerates until 24-hr limit (194X longer) Tolerates until 20-hr crash (19X longer) Tolerates until disk full (200X longer) Tolerates until disk full (1,000X longer) Some highly stale but in-use (74X longer) Short-running Heap growth is in-use (2X longer) Heap growth is mostly in-use (2X longer) Thread leak: extra support needed (2X longer) 27
28 Tolerating Leaks Leak clipse iff clipse opy-paste JbbMod ListLeak SwapLeak MySQL elaunay Mesh ualleak SPjbb2000 Mckoi atabase Melt s effect Tolerates until 24-hr limit (1,000X longer) Tolerates until 24-hr limit (194X longer) Tolerates until 20-hr crash (19X longer) Tolerates until disk full (200X longer) Tolerates until disk full (1,000X longer) Some highly stale but in-use (74X longer) Short-running Heap growth is in-use (2X longer) Heap growth is mostly in-use (2X longer) Thread leak: extra support needed (2X longer) Tolerating Leaks Leak clipse iff clipse opy-paste JbbMod ListLeak SwapLeak MySQL elaunay Mesh ualleak SPjbb2000 Mckoi atabase Melt s effect Tolerates until 24-hr limit (1,000X longer) Tolerates until 24-hr limit (194X longer) Tolerates until 20-hr crash (19X longer) Tolerates until disk full (200X longer) Tolerates until disk full (1,000X longer) Some highly stale but in-use (74X longer) Short-running Heap growth is in-use (2X longer) Heap growth is mostly in-use (2X longer) Thread leak: extra support needed (2X longer) 28
29 Tolerating Leaks Leak clipse iff clipse opy-paste JbbMod ListLeak SwapLeak MySQL elaunay Mesh ualleak SPjbb2000 Mckoi atabase Melt s effect Tolerates until 24-hr limit (1,000X longer) Tolerates until 24-hr limit (194X longer) Tolerates until 20-hr crash (19X longer) Tolerates until disk full (200X longer) Tolerates until disk full (1,000X longer) Some highly stale but in-use (74X longer) Short-running Heap growth is in-use (2X longer) Heap growth is mostly in-use (2X longer) Thread leak: extra support needed (2X longer) Tolerating Leaks Leak clipse iff clipse opy-paste JbbMod ListLeak SwapLeak MySQL elaunay Mesh ualleak SPjbb2000 Mckoi atabase Melt s effect Tolerates until 24-hr limit (1,000X longer) Tolerates until 24-hr limit (194X longer) Tolerates until 20-hr crash (19X longer) Tolerates until disk full (200X longer) Tolerates until disk full (1,000X longer) Some highly stale but in-use (74X longer) Short-running Heap growth is in-use (2X longer) Heap growth is mostly in-use (2X longer) Thread leak: extra support needed (2X longer) 29
30 clipse iff: Reachable Memory 256 Reachable memory (M) Iteration clipse iff: Reachable Memory 256 Reachable memory (M) Iteration 30
31 clipse iff: Performance 31
32 clipse iff: Performance clipse iff: Performance 32
33 Related Work Managed [LeakSurvivor, Tang et al. 08] [Panacea, Goldstein et al. 07, reitgand et al. 07] on t guarantee time & space proportional to live memory Native [yclic memory allocation, Nguyen & Rinard 07] [Plug, Novark et al. 08] ifferent challenges & opportunities Less coverage or change semantics Orthogonal persistence & distributed G arriers, swizzling, object faulting, stub-scion pairs 33
34 onclusion inding bugs before deployment is hard onclusion inding bugs before deployment is hard Online diagnosis helps developers Help users in meantime Tolerate leaks with Melt: illusion of fix Stale objects 34
35 onclusion inding bugs before deployment is hard Online diagnosis helps developers Help users in meantime Tolerate leaks with Melt: illusion of fix Time & space proportional to live memory Preserve semantics onclusion inding bugs before deployment is hard Online diagnosis helps developers Help users in meantime Tolerate leaks with Melt: illusion of fix Time & space proportional to live memory Preserve semantics uys developers time to fix leaks Thank you! 35
36 ackup Triggering Melt xpected heap fullness Start INTIV Unexpected heap fullness MRK STL Heap full or nearly full MOV & MRK STL Heap not nearly full Heap full or nearly full fter marking WIT Heap not nearly full ack 36
37 onclusion inding bugs before deployment is hard Online diagnosis helps developers To help users in meantime, tolerate bugs Tolerate leaks with Melt: illusion of fix Stale objects Related Work: Tolerating ugs Nondeterministic errors [tom-id] [iehard] [Grace] [Rx] Memory corruption: perturb layout oncurrency bugs: perturb scheduling General bugs Ignore failing operations [O] Need higher level, more proactive approaches 37
38 Melt s G Overhead 2.5 ase Marking (every G) Melt (every G) Normalized G time Minimum heap multiplier ack 38
I J C S I E International Science Press
Vol. 5, No. 2, December 2014, pp. 53-56 I J C S I E International Science Press Tolerating Memory Leaks at Runtime JITENDER SINGH YADAV, MOHIT YADAV, KIRTI AZAD AND JANPREET SINGH JOLLY CSE B-tech 4th
More informationTolerating Memory Leaks
Tolerating Memory Leaks UT Austin Technical Report TR-07-64 December 7, 2007 Michael D. Bond Kathryn S. McKinley Department of Computer Sciences The University of Texas at Austin {mikebond,mckinley}@cs.utexas.edu
More informationLeak Pruning. 1. Introduction. Abstract. Department of Computer Sciences The University of Texas at Austin
Leak Pruning Michael D. Bond Kathryn S. McKinley Department of Computer Sciences The University of Texas at Austin {mikebond,mckinley}@cs.utexas.edu Abstract Managed languages improve programmer productivity
More informationManaged runtimes & garbage collection. CSE 6341 Some slides by Kathryn McKinley
Managed runtimes & garbage collection CSE 6341 Some slides by Kathryn McKinley 1 Managed runtimes Advantages? Disadvantages? 2 Managed runtimes Advantages? Reliability Security Portability Performance?
More informationManaged runtimes & garbage collection
Managed runtimes Advantages? Managed runtimes & garbage collection CSE 631 Some slides by Kathryn McKinley Disadvantages? 1 2 Managed runtimes Portability (& performance) Advantages? Reliability Security
More informationTesting Objectives. Successful testing: discovers previously unknown errors
Testing Objectives Informal view: Testing: a process of executing software with the intent of finding errors Good testing: a high probability of finding as-yetundiscovered errors Successful testing: discovers
More informationSelf-defending software: Automatically patching errors in deployed software
Self-defending software: Automatically patching errors in deployed software Michael Ernst University of Washington Joint work with: Saman Amarasinghe, Jonathan Bachrach, Michael Carbin, Sung Kim, Samuel
More informationMemory Leak Detection with Context Awareness
Memory Leak Detection with Context Awareness Woosup Lim Quality Assurance Division Altibase Ltd. Seoul 152-790, Korea woosup.lim@gmail.com Seongsoo Park Department of Computer Engineering Sungkyunkwan
More informationExploiting the Behavior of Generational Garbage Collector
Exploiting the Behavior of Generational Garbage Collector I. Introduction Zhe Xu, Jia Zhao Garbage collection is a form of automatic memory management. The garbage collector, attempts to reclaim garbage,
More informationHow to Write a Distributed Garbage Collector
How to Write a Distributed Garbage ollector Name: ri Zilka, Saravanan Subbiah Terracotta, Inc. 1 Goals > earn a little... > about Terracotta > about garbage collection > about distributed algorithms >
More informationSustainable Memory Use Allocation & (Implicit) Deallocation (mostly in Java)
COMP 412 FALL 2017 Sustainable Memory Use Allocation & (Implicit) Deallocation (mostly in Java) Copyright 2017, Keith D. Cooper & Zoran Budimlić, all rights reserved. Students enrolled in Comp 412 at Rice
More informationCooperative Memory Management in Embedded Systems
ooperative Memory Management in Embedded Systems, Philip Taffner, hristoph Erhardt, hris7an Dietrich, Michael S7lkerich Department of omputer Science 4 Distributed Systems and Opera7ng Systems 1 2 Motivation
More informationBugs in Deployed Software
Bell: Bit-Encoding Online Memory Leak Detection Michael D. Bond Kathryn S. McKinley University of Texas at Austin Bugs in Deployed Software Humans rely on software for critical tasks Bugs are costly &
More informationCycle Tracing. Presented by: Siddharth Tiwary
Cycle Tracing Chapter 4, pages 41--56, 2010. From: "Garbage Collection and the Case for High-level Low-level Programming," Daniel Frampton, Doctoral Dissertation, Australian National University. Presented
More informationPerformance of Non-Moving Garbage Collectors. Hans-J. Boehm HP Labs
Performance of Non-Moving Garbage Collectors Hans-J. Boehm HP Labs Why Use (Tracing) Garbage Collection to Reclaim Program Memory? Increasingly common Java, C#, Scheme, Python, ML,... gcc, w3m, emacs,
More informationIntegrating Reliable Memory in Databases
Integrating Reliable Memory in Databases Wee Teck Ng, Peter M. Chen Computer Science and Engineering Division Electrical Engineering and Computer Science University of Michigan Objectives Introduce the
More informationAcknowledgements These slides are based on Kathryn McKinley s slides on garbage collection as well as E Christopher Lewis s slides
Garbage Collection Last time Compiling Object-Oriented Languages Today Motivation behind garbage collection Garbage collection basics Garbage collection performance Specific example of using GC in C++
More informationAdvanced Memory Management
Advanced Memory Management Main Points Applications of memory management What can we do with ability to trap on memory references to individual pages? File systems and persistent storage Goals Abstractions
More informationA Serializability Violation Detector for Shared-Memory Server Programs
A Serializability Violation Detector for Shared-Memory Server Programs Min Xu Rastislav Bodík Mark Hill University of Wisconsin Madison University of California, Berkeley Serializability Violation Detector:
More informationTesting. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?
Testing ECE/CS 5780/6780: Embedded System Design Scott R. Little Lecture 24: Introduction to Software Testing and Verification What is software testing? Running a program in order to find bugs (faults,
More informationShort-term Memory for Self-collecting Mutators. Martin Aigner, Andreas Haas, Christoph Kirsch, Ana Sokolova Universität Salzburg
Short-term Memory for Self-collecting Mutators Martin Aigner, Andreas Haas, Christoph Kirsch, Ana Sokolova Universität Salzburg CHESS Seminar, UC Berkeley, September 2010 Heap Management explicit heap
More informationGarbage Collection (1)
Garbage Collection (1) Advanced Operating Systems Lecture 7 This work is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/4.0/
More informationCauses of Software Failures
Causes of Software Failures Hardware Faults Permanent faults, e.g., wear-and-tear component Transient faults, e.g., bit flips due to radiation Software Faults (Bugs) (40% failures) Nondeterministic bugs,
More informationRobust Memory Management Schemes
Robust Memory Management Schemes Prepared by : Fadi Sbahi & Ali Bsoul Supervised By: Dr. Lo ai Tawalbeh Jordan University of Science and Technology Robust Memory Management Schemes Introduction. Memory
More informationCrash Consistency: FSCK and Journaling. Dongkun Shin, SKKU
Crash Consistency: FSCK and Journaling 1 Crash-consistency problem File system data structures must persist stored on HDD/SSD despite power loss or system crash Crash-consistency problem The system may
More informationBEAMJIT: An LLVM based just-in-time compiler for Erlang. Frej Drejhammar
BEAMJIT: An LLVM based just-in-time compiler for Erlang Frej Drejhammar 140407 Who am I? Senior researcher at the Swedish Institute of Computer Science (SICS) working on programming languages,
More informationTolerating Hardware Device Failures in Software. Asim Kadav, Matthew J. Renzelmann, Michael M. Swift University of Wisconsin Madison
Tolerating Hardware Device Failures in Software Asim Kadav, Matthew J. Renzelmann, Michael M. Swift University of Wisconsin Madison Current state of OS hardware interaction Many device drivers assume device
More informationSoftware Error Early Detection System based on Run-time Statistical Analysis of Function Return Values
Software Error Early Detection System based on Run-time Statistical Analysis of Function Return Values Alex Depoutovitch and Michael Stumm Department of Computer Science, Department Electrical and Computer
More informationNPTEL Course Jan K. Gopinath Indian Institute of Science
Storage Systems NPTEL Course Jan 2012 (Lecture 39) K. Gopinath Indian Institute of Science Google File System Non-Posix scalable distr file system for large distr dataintensive applications performance,
More informationManual Allocation. CS 1622: Garbage Collection. Example 1. Memory Leaks. Example 3. Example 2 11/26/2012. Jonathan Misurda
Manual llocation Dynamic memory allocation is an obvious necessity in a programming environment. S 1622: Garbage ollection Many programming languages expose some functions or keywords to manage runtime
More informationScalable Shared Memory Programing
Scalable Shared Memory Programing Marc Snir www.parallel.illinois.edu What is (my definition of) Shared Memory Global name space (global references) Implicit data movement Caching: User gets good memory
More informationOptimistic Shared Memory Dependence Tracing
Optimistic Shared Memory Dependence Tracing Yanyan Jiang1, Du Li2, Chang Xu1, Xiaoxing Ma1 and Jian Lu1 Nanjing University 2 Carnegie Mellon University 1 powered by Understanding Non-determinism Concurrent
More informationFirst-Aid: Surviving and Preventing Memory Management Bugs during Production Runs
First-Aid: Surviving and Preventing Memory Management Bugs during Production Runs Qi Gao Wenbin Zhang Yan Tang Feng Qin Dept. of Computer Science and Engineering Ohio State University, Columbus, OH, 43210,
More informationFast Byte-Granularity Software Fault Isolation
Fast Byte-Granularity Software Fault Isolation Manuel Costa Microsoft Research, Cambridge Joint work with: Miguel Castro, Jean-Philippe Martin, Marcus Peinado, Periklis Akritidis, Austin Donnelly, Paul
More informationGarbage Collection. Steven R. Bagley
Garbage Collection Steven R. Bagley Reference Counting Counts number of pointers to an Object deleted when the count hits zero Eager deleted as soon as it is finished with Problem: Circular references
More informationEfficient Garbage Collection for Large Object-Oriented Databases
Efficient Garbage Collection for Large Object-Oriented Databases by Tony Chun Tung Ng B.S., University of Illinois, Urbana-Champaign (1994) Submitted to the Department of Electrical Engineering and Computer
More informationTesting. Unit, integration, regression, validation, system. OO Testing techniques Application of traditional techniques to OO software
Testing Basic ideas and principles Traditional testing strategies Unit, integration, regression, validation, system OO Testing techniques Application of traditional techniques to OO software Testing-11,
More informationReference Object Processing in On-The-Fly Garbage Collection
Reference Object Processing in On-The-Fly Garbage Collection Tomoharu Ugawa, Kochi University of Technology Richard Jones, Carl Ritson, University of Kent Weak Pointers Weak pointers are a mechanism to
More informationReference Counting. Reference counting: a way to know whether a record has other users
Garbage Collection Today: various garbage collection strategies; basic ideas: Allocate until we run out of space; then try to free stuff Invariant: only the PL implementation (runtime system) knows about
More informationTorturing Databases for Fun and Profit
Torturing Databases for Fun and Profit Mai Zheng, Joseph Tucek, Dachuan Huang, Feng Qin, Mark Lillibridge Elizabeth S Yang, Bill W Zhao, Shashank Singh The Ohio State University HP Labs 2 database 3 ACID:
More informationDynamic Storage Allocation
6.172 Performance Engineering of Software Systems LECTURE 10 Dynamic Storage Allocation Charles E. Leiserson October 12, 2010 2010 Charles E. Leiserson 1 Stack Allocation Array and pointer A un Allocate
More informationTriage: Diagnosing Production Run Failures at the User s Site
Triage: Diagnosing Production Run Failures at the User s Site Joseph Tucek, Shan Lu, Chengdu Huang, Spiros Xanthos and Yuanyuan Zhou Department of Computer Science University of Illinois at Urbana Champaign
More informationWhat You Corrupt Is Not What You Crash: Challenges in Fuzzing Embedded Devices
What You Corrupt Is Not What You Crash: Challenges in Fuzzing Embedded Devices Marius Muench 1 Jan Stijohann 2,3 Frank Kargl 3 Aurélien Francillon 1 Davide Balzarotti 1 1 EURECOM 2 Siemens AG 3 Ulm University
More informationJOURNALING FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 26
JOURNALING FILE SYSTEMS CS124 Operating Systems Winter 2015-2016, Lecture 26 2 File System Robustness The operating system keeps a cache of filesystem data Secondary storage devices are much slower than
More informationSAY-Go: Towards Transparent and Seamless Storage-As-You-Go with Persistent Memory
SAY-Go: Towards Transparent and Seamless Storage-As-You-Go with Persistent Memory Hyeonho Song, Sam H. Noh UNIST HotStorage 2018 Contents Persistent Memory Motivation SAY-Go Design Implementation Evaluation
More informationBook keeping. Will post HW5 tonight. OK to work in pairs. Midterm review next Wednesday
Garbage Collection Book keeping Will post HW5 tonight Will test file reading and writing Also parsing the stuff you reads and looking for some patterns On the long side But you ll have two weeks to do
More informationAtomic In-place Updates for Non-volatile Main Memories with Kamino-Tx
tomic In-place Updates for Non-volatile Main Memories with Kamino-Tx mirsaman Memaripour nirudh adam mar Phanishayee Yanqi Zhou Ramnatthan lagappan + Karin Strauss Steven Swanson U San iego Microsoft Princeton
More informationGarbage Collection Algorithms. Ganesh Bikshandi
Garbage Collection Algorithms Ganesh Bikshandi Announcement MP4 posted Term paper posted Introduction Garbage : discarded or useless material Collection : the act or process of collecting Garbage collection
More informationHabanero Extreme Scale Software Research Project
Habanero Extreme Scale Software Research Project Comp215: Garbage Collection Zoran Budimlić (Rice University) Adapted from Keith Cooper s 2014 lecture in COMP 215. Garbage Collection In Beverly Hills...
More informationFS Consistency & Journaling
FS Consistency & Journaling Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Why Is Consistency Challenging? File system may perform several disk writes to serve a single request Caching
More informationSamuel T. King, George W. Dunlap, and Peter M. Chen University of Michigan. Presented by: Zhiyong (Ricky) Cheng
Samuel T. King, George W. Dunlap, and Peter M. Chen University of Michigan Presented by: Zhiyong (Ricky) Cheng Outline Background Introduction Virtual Machine Model Time traveling Virtual Machine TTVM
More informationDebugging at Scale Lindon Locks
Debugging at Scale Lindon Locks llocks@allinea.com Debugging at Scale At scale debugging - from 100 cores to 250,000 Problems faced by developers on real systems Alternative approaches to debugging and
More informationMyths and Realities: The Performance Impact of Garbage Collection
Myths and Realities: The Performance Impact of Garbage Collection Tapasya Patki February 17, 2011 1 Motivation Automatic memory management has numerous software engineering benefits from the developer
More informationThe Google File System (GFS)
1 The Google File System (GFS) CS60002: Distributed Systems Antonio Bruto da Costa Ph.D. Student, Formal Methods Lab, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur 2 Design constraints
More informationQuantifying the Performance of Garbage Collection vs. Explicit Memory Management
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management Matthew Hertz Canisius College Emery Berger University of Massachusetts Amherst Explicit Memory Management malloc / new
More informationCSE P 501 Compilers. Memory Management and Garbage Collec<on Hal Perkins Winter UW CSE P 501 Winter 2016 W-1
CSE P 501 Compilers Memory Management and Garbage Collec
More information1. Introduction to Concurrent Programming
1. Introduction to Concurrent Programming A concurrent program contains two or more threads that execute concurrently and work together to perform some task. When a program is executed, the operating system
More informationRuntime. The optimized program is ready to run What sorts of facilities are available at runtime
Runtime The optimized program is ready to run What sorts of facilities are available at runtime Compiler Passes Analysis of input program (front-end) character stream Lexical Analysis token stream Syntactic
More information(Lightweight) Recoverable Virtual Memory. Robert Grimm New York University
(Lightweight) Recoverable Virtual Memory Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? The Goal Simplify
More informationLightweight Data Race Detection for Production Runs
Lightweight Data Race Detection for Production Runs Swarnendu Biswas, UT Austin Man Cao, Ohio State University Minjia Zhang, Microsoft Research Michael D. Bond, Ohio State University Benjamin P. Wood,
More informationIBM Integration Bus v9.0 System Administration: Course Content By Yuvaraj C Panneerselvam
IBM Integration Bus v9.0 System Administration: Course Content By Yuvaraj C Panneerselvam 1. COURSE OVERVIEW As part of this course, you will learn how to administer IBM Integration Bus on distributed
More informationNooks. Robert Grimm New York University
Nooks Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? Design and Implementation Nooks Overview An isolation
More informationMemory Allocation. Copyright : University of Illinois CS 241 Staff 1
Memory Allocation Copyright : University of Illinois CS 241 Staff 1 Recap: Virtual Addresses A virtual address is a memory address that a process uses to access its own memory Virtual address actual physical
More informationCrashMonkey: A Framework to Systematically Test File-System Crash Consistency. Ashlie Martinez Vijay Chidambaram University of Texas at Austin
CrashMonkey: A Framework to Systematically Test File-System Crash Consistency Ashlie Martinez Vijay Chidambaram University of Texas at Austin Crash Consistency File-system updates change multiple blocks
More informationProgram Calling Context. Motivation
Program alling ontext Motivation alling context enhances program understanding and dynamic analyses by providing a rich representation of program location ollecting calling context can be expensive The
More informationNetworked Systems and Services, Fall 2018 Chapter 4. Jussi Kangasharju Markku Kojo Lea Kutvonen
Networked Systems and Services, Fall 2018 Chapter 4 Jussi Kangasharju Markku Kojo Lea Kutvonen Chapter Outline Overview of interprocess communication Remote invocations (RPC etc.) Persistence and synchronicity
More informationEncyclopedia of Crash Dump Analysis Patterns
Encyclopedia of Crash Dump Analysis Patterns Detecting Abnormal Software Structure and Behavior in Computer Memory Dmitry Vostokov Software Diagnostics Institute OpenTask 2 Published by OpenTask, Republic
More information2. PICTURE: Cut and paste from paper
File System Layout 1. QUESTION: What were technology trends enabling this? a. CPU speeds getting faster relative to disk i. QUESTION: What is implication? Can do more work per disk block to make good decisions
More informationOS-caused Long JVM Pauses - Deep Dive and Solutions
OS-caused Long JVM Pauses - Deep Dive and Solutions Zhenyun Zhuang LinkedIn Corp., Mountain View, California, USA https://www.linkedin.com/in/zhenyun Zhenyun@gmail.com 2016-4-21 Outline q Introduction
More informationAgenda. CSE P 501 Compilers. Java Implementation Overview. JVM Architecture. JVM Runtime Data Areas (1) JVM Data Types. CSE P 501 Su04 T-1
Agenda CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Summer 2004 Java virtual machine architecture.class files Class loading Execution engines Interpreters & JITs various strategies
More informationComputer Systems A Programmer s Perspective 1 (Beta Draft)
Computer Systems A Programmer s Perspective 1 (Beta Draft) Randal E. Bryant David R. O Hallaron August 1, 2001 1 Copyright c 2001, R. E. Bryant, D. R. O Hallaron. All rights reserved. 2 Contents Preface
More informationImplementation Garbage Collection
CITS 3242 Programming Paradigms Part IV: Advanced Topics Topic 19: Implementation Garbage Collection Most languages in the functional, logic, and object-oriented paradigms include some form of automatic
More informationTowards Parallel, Scalable VM Services
Towards Parallel, Scalable VM Services Kathryn S McKinley The University of Texas at Austin Kathryn McKinley Towards Parallel, Scalable VM Services 1 20 th Century Simplistic Hardware View Faster Processors
More informationEECS 482 Introduction to Operating Systems
EECS 482 Introduction to Operating Systems Winter 2018 Harsha V. Madhyastha Multiple updates and reliability Data must survive crashes and power outages Assume: update of one block atomic and durable Challenge:
More informationVerifying the Safety of Security-Critical Applications
Verifying the Safety of Security-Critical Applications Thomas Dillig Stanford University Thomas Dillig 1 of 31 Why Program Verification? Reliability and security of software is a huge problem. Thomas Dillig
More informationDNWSH - Version: 2.3..NET Performance and Debugging Workshop
DNWSH - Version: 2.3.NET Performance and Debugging Workshop .NET Performance and Debugging Workshop DNWSH - Version: 2.3 8 days Course Description: The.NET Performance and Debugging Workshop is a practical
More informationGarbage Collection Techniques
Garbage Collection Techniques Michael Jantz COSC 340: Software Engineering 1 Memory Management Memory Management Recognizing when allocated objects are no longer needed Deallocating (freeing) the memory
More informationProbabilistic Calling Context
Probabilistic Calling Context Michael D. Bond Kathryn S. McKinley University of Texas at Austin Why Context Sensitivity? Static program location not enough at com.mckoi.db.jdbcserver.jdbcinterface.execquery():213
More informationCS4500/5500 Operating Systems File Systems and Implementations
Operating Systems File Systems and Implementations Yanyan Zhuang Department of Computer Science http://www.cs.uccs.edu/~yzhuang UC. Colorado Springs Recap of Previous Classes Processes and threads o Abstraction
More informationImproving the Performance of your LabVIEW Applications
Improving the Performance of your LabVIEW Applications 1 Improving Performance in LabVIEW Purpose of Optimization Profiling Tools Memory Optimization Execution Optimization 2 Optimization Cycle Benchmark
More informationWeb Services - Concepts, Architecture and Applications Part 3: Asynchronous middleware
Web Services - Concepts, Architecture and Applications Part 3: Asynchronous middleware Gustavo Alonso and Cesare Pautasso Computer Science Department ETH Zürich alonso@inf.ethz.ch http://www.inf.ethz.ch/~alonso
More informationDieHard: Probabilistic Memory Safety for Unsafe Programming Languages
DieHard: Probabilistic Memory Safety for Unsafe Programming Languages Emery Berger University of Massachusetts Amherst Ben Zorn Microsoft Research Problems with Unsafe Languages C, C++: pervasive apps,
More informationJava Without the Jitter
TECHNOLOGY WHITE PAPER Achieving Ultra-Low Latency Table of Contents Executive Summary... 3 Introduction... 4 Why Java Pauses Can t Be Tuned Away.... 5 Modern Servers Have Huge Capacities Why Hasn t Latency
More informationA new Mono GC. Paolo Molaro October 25, 2006
A new Mono GC Paolo Molaro lupus@novell.com October 25, 2006 Current GC: why Boehm Ported to the major architectures and systems Featurefull Very easy to integrate Handles managed pointers in unmanaged
More informationLogging File Systems
Logging ile Systems Learning Objectives xplain the difference between journaling file systems and log-structured file systems. Give examples of workloads for which each type of system will excel/fail miserably.
More informationImproving Error Checking and Unsafe Optimizations using Software Speculation. Kirk Kelsey and Chen Ding University of Rochester
Improving Error Checking and Unsafe Optimizations using Software Speculation Kirk Kelsey and Chen Ding University of Rochester Outline Motivation Brief problem statement How speculation can help Our software
More informationSurviving Software Failures
Surviving Software Failures A survey on the research context of "Rx: Treating Bugs as Allergies A Safe Method to Survive Software Failures" by F. Qin, J. Tucek, J. Sundaresan, and Y. Zhou. Johannes Pletzer,
More informationProtecting Mission-Critical Workloads with VMware Fault Tolerance W H I T E P A P E R
Protecting Mission-Critical Workloads with VMware Fault Tolerance W H I T E P A P E R Table of Contents Fault Tolerance and Virtualization... 3 Fault Tolerance in the Physical World... 3 VMware Fault Tolerance...
More informationVerifying a Concurrent Garbage Collector using a Rely-Guarantee Methodology
Verifying a Concurrent Garbage Collector using a Rely-Guarantee Methodology Yannick Zakowski David Cachera Delphine Demange Gustavo Petri David Pichardie Suresh Jagannathan Jan Vitek Automatic memory management
More informationException Codes and Module Numbers Used in Cisco Unified MeetingPlace Express
CHAPTER 4 and Module Numbers Used in Cisco Unified MeetingPlace Express This chapter contains information about the exception codes used in the Cisco Unified MeetingPlace Express system. After reviewing
More informationGC Assertions: Using the Garbage Collector to Check Heap Properties
GC Assertions: Using the Garbage Collector to Check Heap Properties Edward E. Aftandilian Samuel Z. Guyer Department of Computer Science Tufts University {eaftan,sguyer}@cs.tufts.edu Abstract This paper
More informationDatabase System Architectures Parallel DBs, MapReduce, ColumnStores
Database System Architectures Parallel DBs, MapReduce, ColumnStores CMPSCI 445 Fall 2010 Some slides courtesy of Yanlei Diao, Christophe Bisciglia, Aaron Kimball, & Sierra Michels- Slettvet Motivation:
More informationImplementing Persistent Handles in Samba. Ralph Böhme, Samba Team, SerNet
Implementing Persistent Handles in Samba Ralph Böhme, Samba Team, SerNet 2018-09-25 Outline Recap on Persistent Handles Story of a genius idea: storing Peristent Handles in xattrs The long and boring story:
More information[537] Journaling. Tyler Harter
[537] Journaling Tyler Harter FFS Review Problem 1 What structs must be updated in addition to the data block itself? [worksheet] Problem 1 What structs must be updated in addition to the data block itself?
More informationVirtualization. Dr. Yingwu Zhu
Virtualization Dr. Yingwu Zhu Virtualization Definition Framework or methodology of dividing the resources of a computer into multiple execution environments. Types Platform Virtualization: Simulate a
More informationProgram Testing via Symbolic Execution
Program Testing via Symbolic Execution Daniel Dunbar Program Testing via Symbolic Execution p. 1/26 Introduction Motivation Manual testing is difficult Program Testing via Symbolic Execution p. 2/26 Introduction
More informationPERFBLOWER: Quickly Detecting Memory-Related Performance Problems via Amplification
PERFBLOWER: Quickly Detecting Memory-Related Performance Problems via Amplification Lu Fang 1, Liang Dou 2, and Guoqing Xu 1 1 University of California, Irvine, USA {lfang3, guoqingx}@ics.uci.edu 2 East
More informationXenClient Enterprise Release Notes
XenClient Enterprise Release Notes Version 4.1 June 25, 2012 XenClient Enterprise Synchronizer Version 4.1 XenClient Enterprise Engine Version 4.1 1 About XenClient Enterprise XenClient Enterprise is a
More informationEncyclopedia of Crash Dump Analysis Patterns Second Edition
Encyclopedia of Crash Dump Analysis Patterns Second Edition Detecting Abnormal Software Structure and Behavior in Computer Memory Dmitry Vostokov Software Diagnostics Institute OpenTask 2 Published by
More informationGuide to Mitigating Risk in Industrial Automation with Database
Guide to Mitigating Risk in Industrial Automation with Database Table of Contents 1.Industrial Automation and Data Management...2 2.Mitigating the Risks of Industrial Automation...3 2.1.Power failure and
More information