BR112022008660A2 - Referência integrada e marcação secundária - Google Patents

Referência integrada e marcação secundária

Info

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
Application number
BR112022008660A
Other languages
English (en)
Inventor
Zhang Stephens Maoni
Henri Dussud Patrick
Original Assignee
Microsoft Technology Licensing Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing Llc filed Critical Microsoft Technology Licensing Llc
Publication of BR112022008660A2 publication Critical patent/BR112022008660A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0261Garbage collection, i.e. reclamation of unreferenced memory using reference counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0269Incremental or concurrent garbage collection, e.g. in real-time systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • G06F12/1018Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1048Scalability

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.
BR112022008660A 2019-12-20 2020-11-13 Referência integrada e marcação secundária BR112022008660A2 (pt)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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