BR112022008660A2 - Referência integrada e marcação secundária - Google Patents
Referência integrada e marcação secundáriaInfo
- Publication number
- BR112022008660A2 BR112022008660A2 BR112022008660A BR112022008660A BR112022008660A2 BR 112022008660 A2 BR112022008660 A2 BR 112022008660A2 BR 112022008660 A BR112022008660 A BR 112022008660A BR 112022008660 A BR112022008660 A BR 112022008660A BR 112022008660 A2 BR112022008660 A2 BR 112022008660A2
- Authority
- BR
- Brazil
- Prior art keywords
- objects
- primary
- referenced
- tagging
- active
- 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/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- 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
- 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
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
- G06F12/1018—Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- 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/1016—Performance improvement
-
- 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
-
- 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/1048—Scalability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Road Signs Or Road Markings (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
REFERÊNCIA INTEGRADA E MARCAÇÃO SECUNDÁRIA. A presente invenção refere-se a um método de gerenciamento eficiente de objetos secundários que aumenta a simultaneidade da coleta de lixo e reduz os requisitos de armazenamento de objetos. A marcação de atividade de objetos secundários está integrada à marcação de atividade de objetos referenciados. A alocação de campos de identificador de objeto secundário de tamanho de referência em objetos que não são objetos primários é evitada; um bit dedicado especifica objetos primários, junto com uma tabela de relação de objetos. Um objeto primário é aquele com pelo menos um objeto secundário que é considerado ativo pela coleta de lixo se o objeto primário estiver ativo, sem ser um objeto referenciado do objeto primário. Quaisquer objetos referenciados do objeto primário ativo também serão considerados ativos. Os caminhos de código para marcar objetos referenciados podem ser compartilhados para permitir uma marcação de objetos secundários mais eficiente. As relações entre objetos primários e secundários podem ser representadas em identificadores dependentes e podem ser especificadas em uma tabela de dispersão ou em outra estrutura de dados.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/724,143 US11422932B2 (en) | 2019-12-20 | 2019-12-20 | Integrated reference and secondary marking |
PCT/US2020/060320 WO2021126429A1 (en) | 2019-12-20 | 2020-11-13 | Integrated reference and secondary marking |
Publications (1)
Publication Number | Publication Date |
---|---|
BR112022008660A2 true BR112022008660A2 (pt) | 2022-07-19 |
Family
ID=73790230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112022008660A BR112022008660A2 (pt) | 2019-12-20 | 2020-11-13 | Referência integrada e marcação secundária |
Country Status (11)
Country | Link |
---|---|
US (1) | US11422932B2 (pt) |
EP (1) | EP4078381A1 (pt) |
JP (1) | JP2023507709A (pt) |
KR (1) | KR20220113372A (pt) |
CN (1) | CN114830099A (pt) |
AU (1) | AU2020407951A1 (pt) |
BR (1) | BR112022008660A2 (pt) |
CA (1) | CA3163334A1 (pt) |
IL (1) | IL294010A (pt) |
MX (1) | MX2022007467A (pt) |
WO (1) | WO2021126429A1 (pt) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210232969A1 (en) * | 2018-12-24 | 2021-07-29 | Intel Corporation | Methods and apparatus to process a machine learning model in a multi-process web browser environment |
US11392427B2 (en) | 2020-01-06 | 2022-07-19 | Microsoft Technology Licensing, Llc | Lock-free reading of unitary value sets |
US11954023B2 (en) | 2022-07-20 | 2024-04-09 | Microsoft Technology Licensing, Llc | Garbage collection prefetching state machine |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6047295A (en) | 1998-05-05 | 2000-04-04 | International Business Machines Corporation | Computer system, program product and method of managing weak references with a concurrent mark sweep collector |
EP1174791B1 (en) | 2000-07-10 | 2017-09-27 | Microsoft Technology Licensing, LLC | Unified data type system and method |
US6502111B1 (en) | 2000-07-31 | 2002-12-31 | Microsoft Corporation | Method and system for concurrent garbage collection |
US6865585B1 (en) | 2000-07-31 | 2005-03-08 | Microsoft Corporation | Method and system for multiprocessor garbage collection |
US6598141B1 (en) | 2001-03-08 | 2003-07-22 | Microsoft Corporation | Manipulating interior pointers on a stack during garbage collection |
US7203756B2 (en) * | 2001-04-27 | 2007-04-10 | International Business Machines Corporation | Mechanism to cache references to Java RMI remote objects implementing the unreferenced interface |
US6980997B1 (en) | 2001-06-28 | 2005-12-27 | Microsoft Corporation | System and method providing inlined stub |
US7254597B2 (en) | 2002-01-11 | 2007-08-07 | Sun Microsystems, Inc. | Lock-free implementation of dynamic-sized shared data structure |
US9141539B2 (en) * | 2002-05-24 | 2015-09-22 | Oracle International Corporation | System and method for object deletion in persistent memory using bitmap windows |
US6973554B2 (en) | 2003-04-23 | 2005-12-06 | Microsoft Corporation | Systems and methods for multiprocessor scalable write barrier |
US7529775B2 (en) | 2003-08-20 | 2009-05-05 | Microsoft Corporation | Method and system for collecting information about applications on a computer system |
US8578380B1 (en) | 2003-12-17 | 2013-11-05 | Vmware, Inc. | Program concurrency control using condition variables |
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 |
US7665077B2 (en) | 2004-10-18 | 2010-02-16 | Microsoft Corporation | System and method for sharing objects between applications in a virtual runtime environment |
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 |
US7937709B2 (en) | 2004-12-29 | 2011-05-03 | Intel Corporation | Synchronizing multiple threads efficiently |
US7577657B2 (en) | 2005-03-18 | 2009-08-18 | Microsoft Corporation | System and method for updating objects in a multi-threaded computing environment |
US8713524B2 (en) | 2005-04-06 | 2014-04-29 | Microsoft Corporation | Memory management configuration |
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 |
US7926071B2 (en) | 2005-10-20 | 2011-04-12 | Microsoft Corporation | Load balancing interfaces |
US8234378B2 (en) | 2005-10-20 | 2012-07-31 | Microsoft Corporation | Load balancing in a managed execution environment |
US20070100919A1 (en) * | 2005-11-01 | 2007-05-03 | Electronics And Telecommunications Research Institute | Garbage collection unit and method thereof |
US20070156967A1 (en) * | 2005-12-29 | 2007-07-05 | Michael Bond | Identifying delinquent object chains in a managed run time environment |
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 |
US7716192B2 (en) | 2007-05-08 | 2010-05-11 | Microsoft Corporation | Concurrent, lock-free object copying |
US8065491B2 (en) | 2007-12-30 | 2011-11-22 | Intel Corporation | Efficient non-transactional write barriers for strong atomicity |
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 |
US7953778B2 (en) | 2008-05-20 | 2011-05-31 | International Business Machines Corporation | Efficient support of consistent cyclic search with read-copy update and parallel updates |
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 |
US8924984B2 (en) | 2009-06-26 | 2014-12-30 | Microsoft Corporation | Lock-free barrier with dynamic updating of participant count |
US8850166B2 (en) | 2010-02-18 | 2014-09-30 | International Business Machines Corporation | Load pair disjoint facility and instruction therefore |
US8566368B2 (en) | 2010-09-29 | 2013-10-22 | Microsoft Corporation | Garbage collection extensibility via managed code |
US10754770B2 (en) | 2011-10-10 | 2020-08-25 | Microsoft Technology Licensing, Llc | Work stealing of partially-marked objects |
WO2014033606A2 (en) | 2012-08-31 | 2014-03-06 | Pradeep Varma | Systems and methods of memory and access management |
US9489406B1 (en) | 2013-03-15 | 2016-11-08 | Google Inc. | Linear time processing of weak properties in a garbage collected environment |
US9519668B2 (en) | 2013-05-06 | 2016-12-13 | International Business Machines Corporation | Lock-free creation of hash tables in parallel |
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 |
US10929201B2 (en) | 2015-10-22 | 2021-02-23 | Wind River Systems, Inc. | Method and system for implementing generation locks |
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 |
US10248471B2 (en) | 2016-09-15 | 2019-04-02 | Oracle International Corporation | Lockless execution in read-mostly workloads for efficient concurrent process execution on shared resources |
US10628306B2 (en) | 2017-02-01 | 2020-04-21 | Microsoft Technology Licensing, Llc | Garbage collector |
US10572181B2 (en) | 2017-02-01 | 2020-02-25 | Microsoft Technology Licensing, Llc | Multiple stage garbage collector |
US10459771B2 (en) | 2017-02-22 | 2019-10-29 | Red Hat Israel, Ltd. | Lightweight thread synchronization using shared memory state |
US10360079B2 (en) | 2017-06-16 | 2019-07-23 | GM Global Technology Operations LLC | Architecture and services supporting reconfigurable synchronization in a multiprocessing system |
WO2020005597A1 (en) | 2018-06-28 | 2020-01-02 | Microsoft Technology Licensing, Llc | Managing global and local execution phases |
US11301602B2 (en) | 2018-11-13 | 2022-04-12 | Gauntlet Networks, Inc. | Simulation-based testing of blockchain and other distributed ledger systems |
US11392427B2 (en) | 2020-01-06 | 2022-07-19 | Microsoft Technology Licensing, Llc | Lock-free reading of unitary value sets |
-
2019
- 2019-12-20 US US16/724,143 patent/US11422932B2/en active Active
-
2020
- 2020-11-13 CN CN202080088548.XA patent/CN114830099A/zh active Pending
- 2020-11-13 WO PCT/US2020/060320 patent/WO2021126429A1/en unknown
- 2020-11-13 MX MX2022007467A patent/MX2022007467A/es unknown
- 2020-11-13 AU AU2020407951A patent/AU2020407951A1/en active Pending
- 2020-11-13 JP JP2022528211A patent/JP2023507709A/ja active Pending
- 2020-11-13 KR KR1020227018294A patent/KR20220113372A/ko unknown
- 2020-11-13 EP EP20821488.2A patent/EP4078381A1/en active Pending
- 2020-11-13 CA CA3163334A patent/CA3163334A1/en active Pending
- 2020-11-13 IL IL294010A patent/IL294010A/en unknown
- 2020-11-13 BR BR112022008660A patent/BR112022008660A2/pt unknown
Also Published As
Publication number | Publication date |
---|---|
KR20220113372A (ko) | 2022-08-12 |
JP2023507709A (ja) | 2023-02-27 |
CN114830099A (zh) | 2022-07-29 |
US11422932B2 (en) | 2022-08-23 |
US20210191859A1 (en) | 2021-06-24 |
AU2020407951A1 (en) | 2022-07-07 |
MX2022007467A (es) | 2022-06-27 |
WO2021126429A1 (en) | 2021-06-24 |
IL294010A (en) | 2022-08-01 |
CA3163334A1 (en) | 2021-06-14 |
EP4078381A1 (en) | 2022-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR112022008660A2 (pt) | Referência integrada e marcação secundária | |
BR112019007458A8 (pt) | Melhorias de eficiência em aplicativos de gerenciamento de tarefas | |
BR112019006489A2 (pt) | serviço de segurança de iot | |
BR112015025076A2 (pt) | dispositivo de computação, método implementado por computador, e, dispositivo de iluminação | |
BR112015023053A2 (pt) | sistema para captura de conhecimento e descoberta | |
BR112018077198A2 (pt) | sistemas e métodos para identificar conteúdos correspondentes | |
BR112017021375A2 (pt) | método de renderização de conteúdo de mídia, peça de equipamento de usuário e sistema | |
BR112017019484A2 (pt) | particionamento de recursos entre comunicações de transporte de retorno e acesso sem fio em redes de ondas milimétricas | |
BR112015029306A2 (pt) | fragmentação de banco de dados com camada de atualização | |
BR112015003406A8 (pt) | Método implementado por computador e sistema de computação | |
BR112015017709A2 (pt) | interfaces de programação de aplicação para curação de conteúdo | |
BR112015027756A2 (pt) | uso de operadores inversos para consultas em redes sociais online | |
BR112018073496A2 (pt) | sistemas e métodos para localizar um dispositivo sem fio | |
BR112013028501A2 (pt) | aparelho e método para processamento de dados seguro baseado em hardware utilizando regras de faixa de endereço de memória de armazenamento temporário | |
BR112016004490B8 (pt) | Aparelho e método de armazenamento de dados | |
BRPI0410112A (pt) | método, sistema e produto de programa de computador para mapeamento de dados de exibição | |
BR0302014A (pt) | Computação distribuìda baseada em identidade para recursos de dispositivo | |
BR112015029333A2 (pt) | sistema e método para gerenciar a utilização de recursos de espectro de frequência não licenciados para sistemas secundários, método para um sistema, e, mídia legível por computador não transitória | |
BR112017010328A2 (pt) | transferência de dados sem uso de fios com eficiência de energia | |
BR112019024653A2 (pt) | sinalização de alto nível para dados de vídeo fisheye | |
CO2020015995A2 (es) | Gestión de actualizaciones de configuración de vplmn en el ue debido a cambios en la configuración de plmn local | |
BRPI0600164A (pt) | sistema e método para armazenar documento em um formato binário serial | |
MY200899A (en) | Permission Management And Resource Control Method And Apparatus | |
BR112016006892A2 (pt) | Método e sistema de planejamento de demanda coordenada e gerenciamento de inventário para uma grande operação de campo de petróleo, e, programa de computador armazenado em uma mídia de armazenamento legível por computador tangível não transitória | |
BR112015026650A2 (pt) | método para facilitar uma interface e aparelho |