Nguyen et al., 2016 - Google Patents
Yak: A {High-Performance}{Big-Data-Friendly} Garbage CollectorNguyen et al., 2016
View PDF- Document ID
- 2096872170139339439
- Author
- Nguyen K
- Fang L
- Xu G
- Demsky B
- Lu S
- Alamian S
- Mutlu O
- Publication year
- Publication venue
- 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16)
External Links
Snippet
Most “Big Data” systems are written in managed languages, such as Java, C#, or Scala. These systems suffer from severe memory problems due to the massive volume of objects created to process input data. Allocating and deallocating a sea of data objects puts a …
- 239000010813 municipal solid waste 0 title abstract description 25
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0269—Incremental or concurrent garbage collection, e.g. in real-time systems
- G06F12/0276—Generational garbage collection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
- G06F8/4442—Reducing the number of cache misses; Data prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/30—Information retrieval; Database structures therefor; File system structures therefor
- G06F17/30286—Information retrieval; Database structures therefor; File system structures therefor in structured data stores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/44—Arrangements for executing specific programmes
- G06F9/455—Emulation; Software simulation, i.e. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nguyen et al. | Yak: A {High-Performance}{Big-Data-Friendly} Garbage Collector | |
Kim et al. | Fully automatic stream management for {Multi-Streamed}{SSDs} using program contexts | |
Wang et al. | Panthera: Holistic memory management for big data processing over hybrid memories | |
Bu et al. | A bloat-aware design for big data applications | |
Appel et al. | Real-time concurrent collection on stock multiprocessors | |
Shull et al. | AutoPersist: an easy-to-use Java NVM framework based on reachability | |
Fang et al. | Interruptible tasks: Treating memory pressure as interrupts for highly scalable data-parallel programs | |
CA2860223C (en) | Methods of micro-specialization in database management systems | |
Bruno et al. | A study on garbage collection algorithms for big data environments | |
Xu | Resurrector: A tunable object lifetime profiling technique for optimizing real-world programs | |
Xu et al. | An experimental evaluation of garbage collectors on big data applications | |
Shi et al. | Deca: A garbage collection optimizer for in-memory data processing | |
Kolokasis et al. | Teraheap: Reducing memory pressure in managed big data frameworks | |
US20050138329A1 (en) | Methods and apparatus to dynamically insert prefetch instructions based on garbage collector analysis and layout of objects | |
Wang et al. | Memento: architectural support for ephemeral memory management in serverless environments | |
Nguyen et al. | Speculative region-based memory management for big data systems | |
CN119248255A (en) | A dynamic module operation management system based on programming language | |
Nguyen et al. | Understanding and combating memory bloat in managed data-intensive systems | |
Jones et al. | A fast analysis for thread-local garbage collection with dynamic class loading | |
Kolokasis et al. | TeraHeap: Exploiting Flash Storage for Mitigating DRAM Pressure in Managed Big Data Frameworks | |
Oancea et al. | A new approach to parallelising tracing algorithms | |
Wang et al. | BridgeGC: An Efficient Cross-Level Garbage Collector for Big Data Frameworks | |
Jeon et al. | Skadu: Efficient vector shadow memories for poly-scopic program analysis | |
Mohamedin et al. | ByteSTM: Virtual machine-level Java software transactional memory | |
Nguyen | Compiler and Runtime Support for Efficient and Scalable Big Data Processing |