BR112022004274A2 - Varredura de pilha de coleta de lixo de simultaneidade aprimorada - Google Patents
Varredura de pilha de coleta de lixo de simultaneidade aprimoradaInfo
- Publication number
- BR112022004274A2 BR112022004274A2 BR112022004274A BR112022004274A BR112022004274A2 BR 112022004274 A2 BR112022004274 A2 BR 112022004274A2 BR 112022004274 A BR112022004274 A BR 112022004274A BR 112022004274 A BR112022004274 A BR 112022004274A BR 112022004274 A2 BR112022004274 A2 BR 112022004274A2
- Authority
- BR
- Brazil
- Prior art keywords
- stack
- barrier
- concurrency
- bdsso
- execution
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Abstract
a presente invenção refere-se à coleta de lixo (gc) para recuperar memória em sistemas de computação às vezes suspende aplicativos, serviços da web e outros programas modificadores para verificar suas pilhas de execução, o que reduz sua capacidade de resposta. mas os tempos de suspensão são reduzidos pela funcionalidade de otimização de varredura de pilha orientada por comportamento (bdsso) que aumenta a simultaneidade da execução do modificador com a varredura de pilha do gc. o bdsso obtém dados de ocorrência de quadros de pilha de execução, determina as probabilidades de execução de quadros, seleciona uma profundidade de varredura de pilha com base nas probabilidades e instala uma barreira de retorno de varredura na profundidade selecionada. em seguida, o gc verifica a pilha de execução abaixo da barreira enquanto o mutador é executado, aumentando assim a simultaneidade e melhorando a capacidade de resposta do mutador. as localizações de barreira selecionadas variam de acordo com a atividade real da pilha para fornecer simultaneidade otimizada em vez de usar uma abordagem inflexível para a colocação da barreira. amostras de criador de perfil ou interfaces de máquina virtual existentes podem ser reutilizadas pelo bdsso. amostras magras que não possuem dados de desempenho do criador de perfil também podem ser usadas.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/656,522 US11068393B2 (en) | 2019-10-17 | 2019-10-17 | Enhanced concurrency garbage collection stack scanning |
PCT/US2020/054650 WO2021076378A1 (en) | 2019-10-17 | 2020-10-08 | Enhanced concurrency garbage collection stack scanning |
Publications (1)
Publication Number | Publication Date |
---|---|
BR112022004274A2 true BR112022004274A2 (pt) | 2022-06-21 |
Family
ID=73040247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112022004274A BR112022004274A2 (pt) | 2019-10-17 | 2020-10-08 | Varredura de pilha de coleta de lixo de simultaneidade aprimorada |
Country Status (12)
Country | Link |
---|---|
US (1) | US11068393B2 (pt) |
EP (1) | EP4046025A1 (pt) |
JP (1) | JP2022552077A (pt) |
KR (1) | KR20220078696A (pt) |
CN (1) | CN114556300A (pt) |
AU (1) | AU2020368334A1 (pt) |
BR (1) | BR112022004274A2 (pt) |
CA (1) | CA3153637A1 (pt) |
IL (1) | IL292202A (pt) |
MX (1) | MX2022004519A (pt) |
WO (1) | WO2021076378A1 (pt) |
ZA (1) | ZA202203678B (pt) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2372549A1 (en) | 1999-05-13 | 2000-11-23 | Medical Research Council | Ox2 receptor homologs |
PT1181366E (pt) | 1999-06-01 | 2009-05-25 | Schering Corp | Proteínas receptoras de mamífero; reagentes e métodos relacionados |
US7422743B2 (en) | 2000-05-10 | 2008-09-09 | Schering Corporation | Mammalian receptor protein DCRS5;methods of treatment |
EP2298789B1 (en) | 2000-09-08 | 2012-03-14 | Schering Corporation | Mammalian genes; related reagents and methods |
CN113805971B (zh) * | 2021-09-23 | 2023-10-13 | 武汉深之度科技有限公司 | 一种应用程序运行方法、计算设备及存储介质 |
US11822471B2 (en) | 2021-12-07 | 2023-11-21 | International Business Machines Corporation | Reducing write barriers in snapshot-based garbage collection |
US20230221797A1 (en) * | 2022-01-13 | 2023-07-13 | Meta Platforms Technologies, Llc | Ephemeral Artificial Reality Experiences |
EP4358229A1 (en) | 2022-06-28 | 2024-04-24 | LG Energy Solution, Ltd. | Electrode assembly, secondary battery, battery pack, and vehicle |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6865585B1 (en) | 2000-07-31 | 2005-03-08 | Microsoft Corporation | Method and system for multiprocessor garbage collection |
US6502111B1 (en) | 2000-07-31 | 2002-12-31 | Microsoft Corporation | Method and system for concurrent garbage collection |
US6598141B1 (en) | 2001-03-08 | 2003-07-22 | Microsoft Corporation | Manipulating interior pointers on a stack during garbage collection |
US6980997B1 (en) | 2001-06-28 | 2005-12-27 | Microsoft Corporation | System and method providing inlined stub |
US20040128329A1 (en) | 2002-12-31 | 2004-07-01 | International Business Machines Corporation | Parallel incremental compaction |
US6973554B2 (en) | 2003-04-23 | 2005-12-06 | Microsoft Corporation | Systems and methods for multiprocessor scalable write barrier |
US7529786B2 (en) | 2003-07-30 | 2009-05-05 | Bea Systems, Inc. | System and method for adaptive garbage collection in a virtual machine environment |
US8131955B2 (en) | 2004-04-15 | 2012-03-06 | Microsoft Corporation | Ephemeral garbage collection using a tracking mechanism on a card table to determine marked bundles |
US7822938B2 (en) | 2004-10-20 | 2010-10-26 | Microsoft Corporation | System and method for performing garbage collection based on unmanaged memory allocations |
US7610579B2 (en) | 2004-12-10 | 2009-10-27 | Microsoft Corporation | Critical finalizers |
US8713524B2 (en) | 2005-04-06 | 2014-04-29 | Microsoft Corporation | Memory management configuration |
GB0512809D0 (en) | 2005-06-23 | 2005-08-03 | Ibm | Arrangement and method for garbage collection in a computer system |
US7441094B2 (en) | 2005-07-05 | 2008-10-21 | Microsoft Corporation | Memory management configuration |
US8701095B2 (en) | 2005-07-25 | 2014-04-15 | Microsoft Corporation | Add/remove memory pressure per object |
US8234378B2 (en) | 2005-10-20 | 2012-07-31 | Microsoft Corporation | Load balancing in a managed execution environment |
US7926071B2 (en) | 2005-10-20 | 2011-04-12 | Microsoft Corporation | Load balancing interfaces |
US7774389B2 (en) | 2007-01-17 | 2010-08-10 | Microsoft Corporation | Optimized garbage collection techniques |
US7685182B2 (en) | 2007-05-08 | 2010-03-23 | Microsoft Corporation | Interleaved garbage collections |
US7801872B2 (en) | 2008-04-08 | 2010-09-21 | Microsoft Corporation | Providing a publishing mechanism for managed objects |
US7831640B2 (en) | 2008-04-15 | 2010-11-09 | Microsoft Corporation | Using an overflow list to process mark overflow |
US7987215B2 (en) | 2008-04-22 | 2011-07-26 | Microsoft Corporation | Efficiently marking objects with large reference sets |
US7860906B2 (en) | 2008-05-28 | 2010-12-28 | Microsoft Corporation | Overflow per segment |
US8825719B2 (en) | 2008-10-30 | 2014-09-02 | Microsoft Corporation | Incremental lock-free stack scanning for garbage collection |
US20100318584A1 (en) | 2009-06-13 | 2010-12-16 | Microsoft Corporation | Distributed Cache Availability During Garbage Collection |
US8601036B2 (en) | 2011-03-23 | 2013-12-03 | International Business Machines Corporation | Handling persistent/long-lived objects to reduce garbage collection pause times |
US10754770B2 (en) | 2011-10-10 | 2020-08-25 | Microsoft Technology Licensing, Llc | Work stealing of partially-marked objects |
US20150227414A1 (en) | 2012-08-31 | 2015-08-13 | Pradeep Varma | Systems And Methods Of Memory And Access Management |
JP5889270B2 (ja) * | 2013-12-13 | 2016-03-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | スタック・スキャンのコストを削減するための方法、プログラム及びシステム |
US9804962B2 (en) | 2015-02-13 | 2017-10-31 | Microsoft Technology Licensing, Llc | Garbage collection control in managed code |
US10558566B2 (en) | 2015-04-16 | 2020-02-11 | Microsoft Technology Licensing, Llc | Garbage collection of non-pinned objects within heap |
US10417111B2 (en) | 2016-05-09 | 2019-09-17 | Oracle International Corporation | Correlation of stack segment intensity in emergent relationships |
US10120655B2 (en) | 2016-06-03 | 2018-11-06 | Microsoft Technology Licensing, Llc. | Seamless high performance interoperability between different type graphs that share a garbage collector |
US10572181B2 (en) | 2017-02-01 | 2020-02-25 | Microsoft Technology Licensing, Llc | Multiple stage garbage collector |
US10628306B2 (en) | 2017-02-01 | 2020-04-21 | Microsoft Technology Licensing, Llc | Garbage collector |
-
2019
- 2019-10-17 US US16/656,522 patent/US11068393B2/en active Active
-
2020
- 2020-10-08 KR KR1020227015915A patent/KR20220078696A/ko active Search and Examination
- 2020-10-08 CA CA3153637A patent/CA3153637A1/en active Pending
- 2020-10-08 MX MX2022004519A patent/MX2022004519A/es unknown
- 2020-10-08 AU AU2020368334A patent/AU2020368334A1/en active Pending
- 2020-10-08 BR BR112022004274A patent/BR112022004274A2/pt unknown
- 2020-10-08 CN CN202080072503.3A patent/CN114556300A/zh active Pending
- 2020-10-08 JP JP2022514970A patent/JP2022552077A/ja active Pending
- 2020-10-08 WO PCT/US2020/054650 patent/WO2021076378A1/en unknown
- 2020-10-08 EP EP20800392.1A patent/EP4046025A1/en active Pending
-
2022
- 2022-03-30 ZA ZA2022/03678A patent/ZA202203678B/en unknown
- 2022-04-12 IL IL292202A patent/IL292202A/en unknown
Also Published As
Publication number | Publication date |
---|---|
MX2022004519A (es) | 2022-05-10 |
CN114556300A (zh) | 2022-05-27 |
AU2020368334A1 (en) | 2022-04-07 |
US11068393B2 (en) | 2021-07-20 |
KR20220078696A (ko) | 2022-06-10 |
US20210117319A1 (en) | 2021-04-22 |
EP4046025A1 (en) | 2022-08-24 |
WO2021076378A1 (en) | 2021-04-22 |
JP2022552077A (ja) | 2022-12-15 |
CA3153637A1 (en) | 2021-04-22 |
ZA202203678B (en) | 2023-11-29 |
IL292202A (en) | 2022-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR112022004274A2 (pt) | Varredura de pilha de coleta de lixo de simultaneidade aprimorada | |
Kaleem et al. | Adaptive heterogeneous scheduling for integrated GPUs | |
EP3218803B1 (en) | Live migration of virtual machines from/to host computers with graphics virtualization | |
US7844954B2 (en) | Using branch instruction counts to facilitate replay of virtual machine instruction execution | |
Gandhi et al. | BadgerTrap: A tool to instrument x86-64 TLB misses | |
Barik et al. | Efficient mapping of irregular C++ applications to integrated GPUs | |
Berger | Scalene: Scripting-language aware profiling for python | |
Nanavati et al. | Whose cache line is it anyway? operating system support for live detection and repair of false sharing | |
US20110113180A1 (en) | Virtual system and method of analyzing operation of virtual system | |
Hale et al. | Enabling hybrid parallel runtimes through kernel and virtualization support | |
US9632816B2 (en) | Scaling past the Java virtual machine thread limit | |
CN103955394B (zh) | 一种基于推迟提交的gpu虚拟化优化方法 | |
Jimborean et al. | VMAD: A virtual machine for advanced dynamic analysis of programs | |
Kumar et al. | Guest operating system based performance comparison of VMWare & Xen hypervisor | |
Kotis et al. | AUTOMSv2 results for OAEI 2012 | |
Sarimbekov et al. | A comprehensive toolchain for workload characterization across JVM languages | |
Karaoui et al. | Scheduling hpc workloads on heterogeneous-isa architectures: Poster | |
Mhatre et al. | On making xen detect hypercalls and memory accesses for simulating virtualization-enabled processors | |
Melekhova | Machine learning in virtualization: Estimate a virtual machine's working set size | |
Poon et al. | Improving the latency of VMExit forwarding in recursive virtualization for the x86 architecture | |
Hofer et al. | Efficient and accurate stack trace sampling in the Java hotspot virtual machine | |
Schmidt | Uniprof: A unikernel stack profiler | |
Martinez et al. | Experimental study of large-scale computing on virtualized resources | |
Boehr | Evaluating copy-on-write for high frequency checkpoints | |
Lankes et al. | HermitCore |