KR102074113B1 - 사이클 그래프에서 객체 수명을 관리하는 기법 - Google Patents

사이클 그래프에서 객체 수명을 관리하는 기법 Download PDF

Info

Publication number
KR102074113B1
KR102074113B1 KR1020197014616A KR20197014616A KR102074113B1 KR 102074113 B1 KR102074113 B1 KR 102074113B1 KR 1020197014616 A KR1020197014616 A KR 1020197014616A KR 20197014616 A KR20197014616 A KR 20197014616A KR 102074113 B1 KR102074113 B1 KR 102074113B1
Authority
KR
South Korea
Prior art keywords
count
wrapper
graph
garbage collection
computer system
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020197014616A
Other languages
English (en)
Korean (ko)
Other versions
KR20190058706A (ko
Inventor
마이클 존 힐버그
라자 크리쉬나스와미
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
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 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20190058706A publication Critical patent/KR20190058706A/ko
Application granted granted Critical
Publication of KR102074113B1 publication Critical patent/KR102074113B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Memory System (AREA)
  • Processing Of Solid Wastes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
KR1020197014616A 2011-09-09 2012-09-07 사이클 그래프에서 객체 수명을 관리하는 기법 Expired - Fee Related KR102074113B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161533134P 2011-09-09 2011-09-09
US61/533,134 2011-09-09
US13/598,247 2012-08-29
US13/598,247 US9053017B2 (en) 2011-09-09 2012-08-29 Managing object lifetime in a cyclic graph
PCT/US2012/054042 WO2013036701A2 (en) 2011-09-09 2012-09-07 Managing object lifetime in a cyclic graph

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147006289A Division KR101983413B1 (ko) 2011-09-09 2012-09-07 사이클 그래프에서 객체 수명을 관리하는 기법

Publications (2)

Publication Number Publication Date
KR20190058706A KR20190058706A (ko) 2019-05-29
KR102074113B1 true KR102074113B1 (ko) 2020-02-05

Family

ID=47830782

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197014616A Expired - Fee Related KR102074113B1 (ko) 2011-09-09 2012-09-07 사이클 그래프에서 객체 수명을 관리하는 기법
KR1020147006289A Active KR101983413B1 (ko) 2011-09-09 2012-09-07 사이클 그래프에서 객체 수명을 관리하는 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020147006289A Active KR101983413B1 (ko) 2011-09-09 2012-09-07 사이클 그래프에서 객체 수명을 관리하는 기법

Country Status (6)

Country Link
US (2) US9053017B2 (enExample)
EP (1) EP2754054B1 (enExample)
JP (1) JP6087928B2 (enExample)
KR (2) KR102074113B1 (enExample)
CN (1) CN102999328B (enExample)
WO (1) WO2013036701A2 (enExample)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053017B2 (en) 2011-09-09 2015-06-09 Microsoft Technology Licensing, Llc Managing object lifetime in a cyclic graph
CN103226476B (zh) * 2013-05-20 2016-06-08 张永强 垃圾对象检测方法和装置
US10437720B2 (en) * 2014-03-12 2019-10-08 Optumsoft, Inc. Deferred destruction for efficient resource reclamation
US10438253B2 (en) 2015-11-29 2019-10-08 International Business Machines Corporation Reuse of computing resources for cloud managed services
US10223163B2 (en) 2016-07-14 2019-03-05 Microsoft Technology Licensing, Llc Workflow-based object destruction
CN108073461B (zh) * 2016-11-11 2021-01-19 腾讯科技(深圳)有限公司 内存泄漏调试方法及装置
US9959194B1 (en) 2017-03-08 2018-05-01 Microsoft Technology Licensing, Llc Indexing a trace by insertion of memory snapshots for replay responsiveness
US9940369B1 (en) 2017-03-08 2018-04-10 Microsoft Technology Licensing, Llc Searching an indexed time-travel trace
US9983978B1 (en) 2017-03-08 2018-05-29 Microsoft Technology Licensing, Llc Querying an indexed time-travel trace
US9934126B1 (en) 2017-03-08 2018-04-03 Microsoft Technology Licensing, Llc Indexing a trace by insertion of reverse lookup data structures
US9934127B1 (en) 2017-03-08 2018-04-03 Microsoft Technology Licensing, Llc Indexing a trace by insertion of key frames for replay responsiveness
US10185645B2 (en) 2017-03-08 2019-01-22 Microsoft Technology Licensing, Llc Resource lifetime analysis using a time-travel trace
CN108804337B (zh) * 2017-05-04 2025-10-28 华为技术有限公司 内存垃圾回收的方法、装置及计算机存储介质
US10282274B2 (en) 2017-06-14 2019-05-07 Microsoft Technology Licensing, Llc Presenting differences between code entity invocations
US10558564B2 (en) 2017-09-28 2020-02-11 Hewlett Packard Enterprise Development Lp Pointers in a memory managed system
CN107908567A (zh) * 2017-11-27 2018-04-13 腾讯科技(深圳)有限公司 一种Java对象引用方法、装置和介质
US11468312B2 (en) * 2018-02-02 2022-10-11 Samsung Electronics Co., Ltd. Memory management for machine learning training on GPU
US12135888B2 (en) 2019-07-10 2024-11-05 Pure Storage, Inc. Intelligent grouping of data based on expected lifespan
CN110597737B (zh) * 2019-08-22 2022-03-08 腾讯音乐娱乐科技(深圳)有限公司 数据处理方法、装置、存储介质及电子设备
KR102194413B1 (ko) * 2020-06-18 2020-12-23 인터와이즈 주식회사 역방향 경로 탐색을 이용한 혼합형 가비지 컬렉션 방법 및 이를 이용하는 가비지 컬렉션 시스템
KR102453983B1 (ko) * 2021-12-14 2022-10-31 인터와이즈 주식회사 생존 경로 정보 기반 가비지 컬렉션 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270482A1 (en) 2007-04-27 2008-10-30 Microsoft Corporation Managing object lifetime for native/managed peers

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088036A (en) 1989-01-17 1992-02-11 Digital Equipment Corporation Real time, concurrent garbage collection system and method
US5920876A (en) 1997-04-23 1999-07-06 Sun Microsystems, Inc. Performing exact garbage collection using bitmaps that identify pointer values within objects
US6182107B1 (en) 1997-06-03 2001-01-30 Object Technology Licensing Corporation Management of reference object lifetimes in object oriented programs
GB9721659D0 (en) 1997-10-14 1997-12-10 Philips Electronics Nv Space-limited marking structure for tracing garbage collectors
JPH11232162A (ja) * 1998-02-19 1999-08-27 Fujitsu Ltd ガベージコレクション方法
US6421690B1 (en) 1998-04-30 2002-07-16 Honeywell International Inc. Computer memory management system
GB9813266D0 (en) 1998-06-20 1998-08-19 Koninkl Philips Electronics Nv Stored data object marking for garbage collectors
GB9825102D0 (en) 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
US6185107B1 (en) 1998-12-23 2001-02-06 Raytheon Company MEMS based tile assemblies and methods of fabrication
GB9906629D0 (en) * 1999-03-23 1999-05-19 Koninkl Philips Electronics Nv Memory reclamation method
US6453463B1 (en) 1999-06-07 2002-09-17 Sun Microsystems, Inc. Method and apparatus for providing finer marking granularity for fields within objects
US6363403B1 (en) 1999-06-30 2002-03-26 Lucent Technologies Inc. Garbage collection in object oriented databases using transactional cyclic reference counting
US6502111B1 (en) 2000-07-31 2002-12-31 Microsoft Corporation Method and system for concurrent garbage collection
US6874074B1 (en) 2000-11-13 2005-03-29 Wind River Systems, Inc. System and method for memory reclamation
US6879991B2 (en) 2000-12-11 2005-04-12 International Business Machines Corporation Synchronous collection of cyclic garbage in reference counting systems
US6457023B1 (en) 2000-12-28 2002-09-24 International Business Machines Corporation Estimation of object lifetime using static analysis
US6883172B1 (en) 2001-03-29 2005-04-19 Microsoft Corporation System and method for bridging managed and unmanaged object systems by utilizing an interface wrapper to facilitate transparent communications
JP4041347B2 (ja) * 2001-05-29 2008-01-30 松下電器産業株式会社 ガベージコレクション装置及びガベージコレクション方法
US6662274B2 (en) 2001-06-20 2003-12-09 Intel Corporation Method for using cache prefetch feature to improve garbage collection algorithm
US6728738B2 (en) * 2002-04-03 2004-04-27 Sun Microsystems, Inc. Fast lifetime analysis of objects in a garbage-collected system
US6735680B2 (en) 2002-05-24 2004-05-11 Sun Microsystems, Inc. Method and apparatus for deleting objects from memory within a smart card
US7092978B2 (en) 2003-02-24 2006-08-15 Sun Microsystems, Inc. Space-efficient, depth-first parallel copying collection technique making use of work—stealing on the same structures that maintain the stack of items to be scanned
US7451168B1 (en) 2003-06-30 2008-11-11 Data Domain, Inc. Incremental garbage collection of data in a secondary storage
US7315873B2 (en) 2003-07-15 2008-01-01 International Business Machines Corporation Depth counter used to reduce number of items to consider for loop detection in a reference-counting storage reclamation program
US7251671B2 (en) 2004-03-26 2007-07-31 Intel Corporation Method and system for garbage collection wherein resetting the mark/allocation bit, and switching the mark/allocation bit to the mark bit to perform marking and scanning of objects using the identified object as a root object and providing mark/allocation bit information being displayed at the client
US7444484B2 (en) 2004-06-24 2008-10-28 International Business Machines Corporation Method and system for determining memory usage of a heap
US7631024B2 (en) 2006-01-03 2009-12-08 Sun Microsystems, Inc. Method and apparatus for facilitating mark-sweep garbage collection with reference counting
US7565386B2 (en) 2006-02-10 2009-07-21 Microsoft Corporation Reference-counting subsumption analysis
CN101046755B (zh) * 2006-03-28 2011-06-15 郭明南 一种计算机自动内存管理的系统及方法
US7512745B2 (en) 2006-04-28 2009-03-31 International Business Machines Corporation Method for garbage collection in heterogeneous multiprocessor systems
US8589341B2 (en) 2006-12-04 2013-11-19 Sandisk Il Ltd. Incremental transparent file updating
US7987215B2 (en) * 2008-04-22 2011-07-26 Microsoft Corporation Efficiently marking objects with large reference sets
US8327109B2 (en) * 2010-03-02 2012-12-04 Advanced Micro Devices, Inc. GPU support for garbage collection
US8621150B2 (en) * 2010-04-09 2013-12-31 International Business Machines Corporation Data placement optimization using data context collected during garbage collection
US9053017B2 (en) 2011-09-09 2015-06-09 Microsoft Technology Licensing, Llc Managing object lifetime in a cyclic graph

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270482A1 (en) 2007-04-27 2008-10-30 Microsoft Corporation Managing object lifetime for native/managed peers

Also Published As

Publication number Publication date
US9053017B2 (en) 2015-06-09
CN102999328B (zh) 2016-02-24
JP6087928B2 (ja) 2017-03-01
WO2013036701A2 (en) 2013-03-14
KR20190058706A (ko) 2019-05-29
EP2754054A2 (en) 2014-07-16
US20130066927A1 (en) 2013-03-14
WO2013036701A3 (en) 2013-05-10
JP2014529142A (ja) 2014-10-30
CN102999328A (zh) 2013-03-27
KR20140059801A (ko) 2014-05-16
HK1183533A1 (zh) 2013-12-27
KR101983413B1 (ko) 2019-05-29
EP2754054A4 (en) 2015-02-11
US20150269196A1 (en) 2015-09-24
EP2754054B1 (en) 2018-06-27
US9613073B2 (en) 2017-04-04

Similar Documents

Publication Publication Date Title
KR102074113B1 (ko) 사이클 그래프에서 객체 수명을 관리하는 기법
CN103123604B (zh) 跟踪数据处理系统的内存使用的方法
US10073770B2 (en) Scheme for determining data object usage in a memory region
WO2018072408A1 (zh) 一种内存分析方法、装置、系统以及计算设备
CN106909457A (zh) 内存管理方法及装置
US8255436B2 (en) Per thread garbage collection
CN106909458A (zh) 内存管理方法及装置
CN106528071A (zh) 目标代码的选取方法及装置
CN103309796A (zh) 一种组件对象模型对象的监控方法和装置
US20180232281A1 (en) Versioned records management using restart era
US10915403B2 (en) Versioned records management using restart era
JP2009211654A (ja) メモリ管理装置、システム、方法、及び、プログラム
HK1183533B (en) Managing object lifetime in a cyclic graph
US10719444B2 (en) Coherence protocol for distributed caches
CN113535412B (zh) 用于跟踪锁的方法、设备和计算机程序产品
CN112506971A (zh) 一种基于redis的自动化数据缓存方法及系统
CN118295774B (zh) 一种Kubernetes资源防误删保护方法及系统
CN110096518A (zh) 知识库元数据发送方法及装置、可读存储介质
CN111240956A (zh) 内存泄漏监测方法、装置、电子设备及计算机存储介质
CN120994518A (zh) 一种容器日志管理方法、装置、设备、介质及程序产品
CN117412124A (zh) 电视数据采集方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
PA0104 Divisional application for international application

St.27 status event code: A-0-1-A10-A18-div-PA0104

St.27 status event code: A-0-1-A10-A16-div-PA0104

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20250131

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

H13 Ip right lapsed

Free format text: ST27 STATUS EVENT CODE: N-4-6-H10-H13-OTH-PC1903 (AS PROVIDED BY THE NATIONAL OFFICE); TERMINATION CATEGORY : DEFAULT_OF_REGISTRATION_FEE

Effective date: 20250131

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20250131