WO2003060715A3 - Value recycling facility for multithreaded computations - Google Patents

Value recycling facility for multithreaded computations Download PDF

Info

Publication number
WO2003060715A3
WO2003060715A3 PCT/US2003/000773 US0300773W WO03060715A3 WO 2003060715 A3 WO2003060715 A3 WO 2003060715A3 US 0300773 W US0300773 W US 0300773W WO 03060715 A3 WO03060715 A3 WO 03060715A3
Authority
WO
WIPO (PCT)
Prior art keywords
exploitations
multithreaded
free
implementations
data structures
Prior art date
Application number
PCT/US2003/000773
Other languages
French (fr)
Other versions
WO2003060715A2 (en
Inventor
Mark S Moir
Victor Luchangco
Maurice Herlihy
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to AU2003205092A priority Critical patent/AU2003205092A1/en
Publication of WO2003060715A2 publication Critical patent/WO2003060715A2/en
Publication of WO2003060715A3 publication Critical patent/WO2003060715A3/en

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/955Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Abstract

Solutions to a value recycling problem facilitate implementations of computer programs that may execute as multithreaded computations in multiprocessor computers, as well as implementations of related shared data structures. Some exploitations allow non-blocking, shared data structures to be implemented using standard dynamic allocation mechanisms (such as malloc and free). Some exploitations allow non-blocking, indeed even lock-free or wait-free, implementations of dynamic storage allocation for shared data structures. In some exploitations, our techniques provide a way to manage dynamically allocated memory in a non-blocking manner without depending on garbage collection. While exploitations of solutions to the value recycling problem that we propose include management of dynamic storage allocation wherein values managed and recycled tend to include values that encode pointers, they are not limited thereto. Indeed, the techniques are more generally applicable to management of values in a multithreaded computation. For example, value recycling techniques may be exploited, in some cases, apart from dynamic storage allocation, to allow a multithreaded computation to avoid the classic ABA hazard.
PCT/US2003/000773 2002-01-11 2003-01-10 Value recycling facility for multithreaded computations WO2003060715A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003205092A AU2003205092A1 (en) 2002-01-11 2003-01-10 Value recycling facility for multithreaded computations

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US34777302P 2002-01-11 2002-01-11
US60/347,773 2002-01-11
US37335902P 2002-04-17 2002-04-17
US60/373,359 2002-04-17

Publications (2)

Publication Number Publication Date
WO2003060715A2 WO2003060715A2 (en) 2003-07-24
WO2003060715A3 true WO2003060715A3 (en) 2004-12-29

Family

ID=26995412

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/US2003/000876 WO2003060705A2 (en) 2002-01-11 2003-01-10 Lock-free implementation of dynamic-sized shared data structure
PCT/US2003/000773 WO2003060715A2 (en) 2002-01-11 2003-01-10 Value recycling facility for multithreaded computations

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/US2003/000876 WO2003060705A2 (en) 2002-01-11 2003-01-10 Lock-free implementation of dynamic-sized shared data structure

Country Status (3)

Country Link
US (4) US7254597B2 (en)
AU (2) AU2003205092A1 (en)
WO (2) WO2003060705A2 (en)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299242B2 (en) * 2001-01-12 2007-11-20 Sun Microsystems, Inc. Single-word lock-free reference counting
US7769791B2 (en) 2001-01-12 2010-08-03 Oracle America, Inc. Lightweight reference counting using single-target synchronization
US7836228B1 (en) 2004-06-18 2010-11-16 Oracle America, Inc. Scalable and lock-free first-in-first-out queue implementation
WO2003060705A2 (en) * 2002-01-11 2003-07-24 Sun Microsystems, Inc. Lock-free implementation of dynamic-sized shared data structure
US7395274B2 (en) * 2002-07-16 2008-07-01 Sun Microsystems, Inc. Space- and time-adaptive nonblocking algorithms
US9052944B2 (en) 2002-07-16 2015-06-09 Oracle America, Inc. Obstruction-free data structures and mechanisms with separable and/or substitutable contention management mechanisms
US7814488B1 (en) 2002-09-24 2010-10-12 Oracle America, Inc. Quickly reacquirable locks
US7293143B1 (en) 2002-09-24 2007-11-06 Sun Microsystems, Inc. Efficient non-blocking k-compare-single-swap operation
US7328438B2 (en) * 2003-03-27 2008-02-05 International Business Machines Corporation Deallocation of computer data in a multithreaded computer
US7424477B1 (en) 2003-09-03 2008-09-09 Sun Microsystems, Inc. Shared synchronized skip-list data structure and technique employing linearizable operations
US7325118B2 (en) * 2003-09-30 2008-01-29 Samsung Electronics, Co., Ltd. Method and apparatus for executing dynamic memory management with object-oriented program
US8549043B2 (en) * 2003-10-13 2013-10-01 Intel Corporation Concurrent insertion of elements into data structures
US10049127B1 (en) 2003-12-19 2018-08-14 Oracle America, Inc. Meta-transactional synchronization
DE102004009610B4 (en) * 2004-02-27 2007-08-16 Infineon Technologies Ag Heterogeneous Parallel Multithreaded Processor (HPMT) with Shared Contexts
US7533138B1 (en) * 2004-04-07 2009-05-12 Sun Microsystems, Inc. Practical lock-free doubly-linked list
GB0408868D0 (en) 2004-04-21 2004-05-26 Level 5 Networks Ltd Checking data integrity
US7346401B2 (en) * 2004-05-25 2008-03-18 International Business Machines Corporation Systems and methods for providing constrained optimization using adaptive regulatory control
US7219198B2 (en) * 2004-06-22 2007-05-15 International Business Machines Corporation Facilitating communication within shared memory environments using lock-free queues
US7451146B2 (en) * 2004-06-30 2008-11-11 Hewlett-Packard Development Company, L.P. Almost non-blocking linked stack implementation
US8074030B1 (en) 2004-07-20 2011-12-06 Oracle America, Inc. Using transactional memory with early release to implement non-blocking dynamic-sized data structure
US7703098B1 (en) 2004-07-20 2010-04-20 Sun Microsystems, Inc. Technique to allow a first transaction to wait on condition that affects its working set
US7395382B1 (en) 2004-08-10 2008-07-01 Sun Microsystems, Inc. Hybrid software/hardware transactional memory
US9208191B2 (en) 2012-07-20 2015-12-08 Sap Se Lock-free, scalable read access to shared data structures
US7844973B1 (en) * 2004-12-09 2010-11-30 Oracle America, Inc. Methods and apparatus providing non-blocking access to a resource
US7711909B1 (en) 2004-12-09 2010-05-04 Oracle America, Inc. Read sharing using global conflict indication and semi-transparent reading in a transactional memory space
US7984248B2 (en) 2004-12-29 2011-07-19 Intel Corporation Transaction based shared data operations in a multiprocessor environment
US7680986B1 (en) 2004-12-30 2010-03-16 Sun Microsystems, Inc. Practical implementation of arbitrary-sized LL/SC variables
US7577798B1 (en) 2004-12-30 2009-08-18 Sun Microsystems, Inc. Space-adaptive lock-free queue using pointer-sized single-target synchronization
US7533221B1 (en) 2004-12-30 2009-05-12 Sun Microsystems, Inc. Space-adaptive lock-free free-list using pointer-sized single-target synchronization
EP3217285B1 (en) 2005-03-10 2021-04-28 Xilinx, Inc. Transmitting data
GB0505297D0 (en) * 2005-03-15 2005-04-20 Level 5 Networks Ltd Redirecting instructions
GB0506403D0 (en) 2005-03-30 2005-05-04 Level 5 Networks Ltd Routing tables
GB0505300D0 (en) 2005-03-15 2005-04-20 Level 5 Networks Ltd Transmitting data
GB0504987D0 (en) * 2005-03-10 2005-04-20 Level 5 Networks Ltd Memory access
US9176741B2 (en) * 2005-08-29 2015-11-03 Invention Science Fund I, Llc Method and apparatus for segmented sequential storage
US8225327B2 (en) * 2005-09-15 2012-07-17 International Business Machines Corporation Synchronizing access to a shared resource utilizing selective locking
GB0600417D0 (en) 2006-01-10 2006-02-15 Level 5 Networks Inc Virtualisation support
US7769792B1 (en) * 2006-02-10 2010-08-03 Google Inc. Low overhead thread synchronization system and method for garbage collecting stale data in a document repository without interrupting concurrent querying
US20070288907A1 (en) * 2006-05-16 2007-12-13 Olivier Jeffrey V Method and apparatus for debugging applications executed on a software relaxed consistency architecture
US7895582B2 (en) * 2006-08-04 2011-02-22 Microsoft Corporation Facilitating stack read and write operations in a software transactional memory system
US8601456B2 (en) * 2006-08-04 2013-12-03 Microsoft Corporation Software transactional protection of managed pointers
US8107486B1 (en) * 2006-10-11 2012-01-31 Marvell International Ltd. Flexible queue controller reserve list
US7908255B2 (en) * 2007-04-11 2011-03-15 Microsoft Corporation Transactional memory using buffered writes and enforced serialization order
US8176253B2 (en) * 2007-06-27 2012-05-08 Microsoft Corporation Leveraging transactional memory hardware to accelerate virtualization and emulation
US9043553B2 (en) * 2007-06-27 2015-05-26 Microsoft Technology Licensing, Llc Leveraging transactional memory hardware to accelerate virtualization and emulation
US8266387B2 (en) * 2007-06-27 2012-09-11 Microsoft Corporation Leveraging transactional memory hardware to accelerate virtualization emulation
US8195898B2 (en) * 2007-12-27 2012-06-05 Intel Corporation Hybrid transactions for low-overhead speculative parallelization
US8965843B2 (en) * 2008-01-23 2015-02-24 Hewlett-Packard Development Company, L.P. Prioritized replication paths
US20090249371A1 (en) * 2008-03-28 2009-10-01 Omar Cardona Buffer allocation for network subsystem
US8356308B2 (en) * 2008-06-02 2013-01-15 Microsoft Corporation Blocking and bounding wrapper for thread-safe data collections
US8607237B2 (en) * 2008-06-02 2013-12-10 Microsoft Corporation Collection with local lists for a multi-processor system
US9038087B2 (en) * 2008-06-18 2015-05-19 Microsoft Technology Licensing, Llc Fence elision for work stealing
US8204853B2 (en) * 2008-11-17 2012-06-19 Microsoft Corporation Maintaining client data integrity in a distributed environment using asynchronous data submission
EP2467852B1 (en) 2009-08-20 2019-05-22 Rambus Inc. Atomic memory device
US9529839B2 (en) * 2009-12-07 2016-12-27 International Business Machines Corporation Applying limited-size hardware transactional memory to arbitrarily large data structure
US8677076B2 (en) 2010-03-30 2014-03-18 Oracle International Corporation System and method for tracking references to shared objects using byte-addressable per-thread reference counters
US9251214B2 (en) * 2010-04-08 2016-02-02 Microsoft Technology Licensing, Llc In-memory database system
US10678744B2 (en) * 2010-05-03 2020-06-09 Wind River Systems, Inc. Method and system for lockless interprocessor communication
US8195619B2 (en) * 2010-08-17 2012-06-05 Symantec Corporation Extent reference count update system and method
US8412691B2 (en) 2010-09-10 2013-04-02 International Business Machines Corporation Maintenance and access of a linked list
US9009726B2 (en) 2010-12-10 2015-04-14 Microsoft Technology Licensing, Llc Deterministic sharing of data among concurrent tasks using pre-defined deterministic conflict resolution policies
US9436502B2 (en) 2010-12-10 2016-09-06 Microsoft Technology Licensing, Llc Eventually consistent storage and transactions in cloud based environment
CN102693210B (en) * 2011-03-21 2017-03-01 中兴通讯股份有限公司 The method and device of Transfer Parameters between a kind of processor
US9043363B2 (en) * 2011-06-03 2015-05-26 Oracle International Corporation System and method for performing memory management using hardware transactions
US8738878B2 (en) 2012-04-02 2014-05-27 Apple Inc. Lock-free object recycling
US9009203B2 (en) 2013-02-19 2015-04-14 Sap Se Lock-free, scalable read access to shared data structures using garbage collection
US9684685B2 (en) 2013-10-24 2017-06-20 Sap Se Using message-passing with procedural code in a database kernel
US9600551B2 (en) 2013-10-24 2017-03-21 Sap Se Coexistence of message-passing-like algorithms and procedural coding
US9519579B2 (en) 2015-03-31 2016-12-13 International Business Machines Corporation Reference counting for memory areas
US10185587B2 (en) 2016-10-06 2019-01-22 International Business Machines Corporation Wait-free process request execution utilizing a dedicated helper thread
US10872073B1 (en) * 2017-03-23 2020-12-22 Amazon Technologies, Inc. Lock-free updates to a data retention index
US11422932B2 (en) 2019-12-20 2022-08-23 Microsoft Technology Licensing, Llc Integrated reference and secondary marking
US11392427B2 (en) * 2020-01-06 2022-07-19 Microsoft Technology Licensing, Llc Lock-free reading of unitary value sets
US11507559B2 (en) 2020-05-25 2022-11-22 Hewlett Packard Enterprise Development Lp Object sharing by entities using a data structure
CN112380017B (en) * 2020-11-30 2024-04-09 成都虚谷伟业科技有限公司 Memory management system based on loose memory release

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4584640A (en) 1984-06-27 1986-04-22 Motorola, Inc. Method and apparatus for a compare and swap instruction
US4814971A (en) * 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US4847754A (en) * 1985-10-15 1989-07-11 International Business Machines Corporation Extended atomic operations
US5081572A (en) 1988-10-28 1992-01-14 Arnold Michael E Manipulation of time-ordered lists and instructions therefor
US5224215A (en) 1990-07-13 1993-06-29 International Business Machines Corporation Message queue processing among cooperative processors having significant speed differences
US5319778A (en) * 1991-07-16 1994-06-07 International Business Machines Corporation System for manipulating elements in linked lists sharing one or more common elements using head nodes containing common offsets for pointers of the linked lists
US5222238A (en) * 1991-09-05 1993-06-22 International Business Machines Corp. System and method for shared latch serialization enhancement
US5428761A (en) * 1992-03-12 1995-06-27 Digital Equipment Corporation System for achieving atomic non-sequential multi-word operations in shared memory
JP2500101B2 (en) * 1992-12-18 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション How to update the value of a shared variable
US5446901A (en) * 1993-06-30 1995-08-29 Digital Equipment Corporation Fault tolerant distributed garbage collection system and method for collecting network objects
US5812844A (en) * 1995-12-07 1998-09-22 Microsoft Corporation Method and system for scheduling the execution of threads using optional time-specific scheduling constraints
US6128710A (en) * 1997-05-28 2000-10-03 International Business Machines Corporation Method utilizing a set of blocking-symbol resource-manipulation instructions for protecting the integrity of data in noncontiguous data objects of resources in a shared memory of a multiple processor computer system
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6144965A (en) * 1997-09-24 2000-11-07 Sony Corporation Performing memory management in an object-oriented programming environment
US6076151A (en) * 1997-10-10 2000-06-13 Advanced Micro Devices, Inc. Dynamic memory allocation suitable for stride-based prefetching
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
US6178423B1 (en) * 1998-06-23 2001-01-23 Microsoft Corporation System and method for recycling numerical values in a computer system
US6360220B1 (en) * 1998-08-04 2002-03-19 Microsoft Corporation Lock-free methods and systems for accessing and storing information in an indexed computer data structure having modifiable entries
US6317756B1 (en) * 1998-10-07 2001-11-13 International Business Machines Corporation On-the-fly garbage collector
US6360219B1 (en) * 1998-12-16 2002-03-19 Gemstone Systems, Inc. Object queues with concurrent updating
US6754219B1 (en) * 1999-06-04 2004-06-22 Nortel Networks Limited Modular routing system
US6366932B1 (en) * 1999-06-24 2002-04-02 International Business Machines Corporation Apparatus and method for accessing an object oriented object using a smart passive reference
US6351963B2 (en) * 2000-01-05 2002-03-05 Jeffrey A. Surber Refrigerated speed rail apparatus
AU2001227533A1 (en) 2000-01-20 2001-07-31 Sun Microsystems, Inc. Double-ended queue in a contiguous array with concurrent non-blocking insert andremove operations
US7000234B1 (en) * 2000-01-20 2006-02-14 Sun Microsystems, Inc. Maintaining a double-ended queue as a linked-list with sentinel nodes and delete flags with concurrent non-blocking insert and remove operations using a double compare-and-swap primitive
US7539849B1 (en) * 2000-01-20 2009-05-26 Sun Microsystems, Inc. Maintaining a double-ended queue in a contiguous array with concurrent non-blocking insert and remove operations using a double compare-and-swap primitive
US6651146B1 (en) * 2000-02-24 2003-11-18 International Business Machines Corporation Method and apparatus for managing access contention to a linear list without the use of locks
US7017160B2 (en) * 2000-04-18 2006-03-21 Sun Microsystems, Inc. Concurrent shared object implemented using a linked-list with amortized node allocation
AU2001259089A1 (en) * 2000-04-18 2001-11-07 Sun Microsystems, Inc. Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value
US6581063B1 (en) * 2000-06-15 2003-06-17 International Business Machines Corporation Method and apparatus for maintaining a linked list
US6615216B1 (en) * 2000-06-29 2003-09-02 Microsoft Corporation Lock free data structure maintenance
US7117502B1 (en) * 2000-11-10 2006-10-03 Sun Microsystems, Inc. Linked-list implementation of a data structure with concurrent non-blocking insert and remove operations
US6993770B1 (en) * 2001-01-12 2006-01-31 Sun Microsystems, Inc. Lock free reference counting
US7299242B2 (en) * 2001-01-12 2007-11-20 Sun Microsystems, Inc. Single-word lock-free reference counting
US6848033B2 (en) * 2001-06-07 2005-01-25 Hewlett-Packard Development Company, L.P. Method of memory management in a multi-threaded environment and program storage device
WO2003060705A2 (en) * 2002-01-11 2003-07-24 Sun Microsystems, Inc. Lock-free implementation of dynamic-sized shared data structure
US7395274B2 (en) * 2002-07-16 2008-07-01 Sun Microsystems, Inc. Space- and time-adaptive nonblocking algorithms
JP2006208916A (en) * 2005-01-31 2006-08-10 Ricoh Co Ltd Image forming apparatus

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AGESEN O ET AL: "DCAS-BASED CONCURRENT DEQUES", SPAA 2000. 12TH. ANNUAL ACM SYMPOSIUM ON PARALLEL ALGORITHMS AND ARCHITECTURES. BAR HARBOR, ME, JULY 9 - 12, 2000, ANNUAL ACM SYMPOSIUM ON PARALLEL ALGORITHMS AND ARCHITECTURES, NEW YORK, NY : ACM, US, 9 July 2000 (2000-07-09), pages 137 - 146, XP002172095, ISBN: 1-58113-185-2 *
ARORA N S ET AL: "THREAD SCHEDULING FOR MULTIPROGRAMMED MULTIPROCESSORS", SPAA '97. 10TH. ANNUAL ACM SYMPOSIUM ON PARALLEL ALGORITHMS AND ARCHITECTURES. PUERTO VALLARTA, MEXICO, JUNE 28 - JULY 2, 1998, ANNUAL ACM SYMPOSIUM ON PARALLEL ALGORITHMS AND ARCHITECTURES, NEW YORK, NY : ACM, US, 28 June 1998 (1998-06-28), pages 119 - 129, XP002172092, ISBN: 0-89791-989-0 *
HERLIHY M ET AL: "TRANSACTIONAL MEMORY: ARCHITECTURAL SUPPORT FOR LOCK-FREE DATA STRUCTURES", PROCEEDINGS OF THE ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE. SAN DIEGO, MAY 16 - 19, 1993, LOS ALAMITOS, IEEE. COMP. SOC. PRESS, US, vol. SYMP. 20, 16 May 1993 (1993-05-16), pages 289 - 300, XP010095799, ISBN: 0-8186-3810-9 *

Also Published As

Publication number Publication date
AU2003205092A1 (en) 2003-07-30
US7194495B2 (en) 2007-03-20
WO2003060705A3 (en) 2004-07-01
WO2003060705A2 (en) 2003-07-24
US20030182462A1 (en) 2003-09-25
US20110167231A1 (en) 2011-07-07
US7908441B2 (en) 2011-03-15
US20030174572A1 (en) 2003-09-18
US7254597B2 (en) 2007-08-07
WO2003060715A2 (en) 2003-07-24
US20030182465A1 (en) 2003-09-25
AU2003207526A1 (en) 2003-07-30
US8412894B2 (en) 2013-04-02
AU2003207526A8 (en) 2003-07-30

Similar Documents

Publication Publication Date Title
WO2003060715A3 (en) Value recycling facility for multithreaded computations
US8321638B2 (en) Cooperative mechanism for efficient application memory allocation
CA2504141A1 (en) Scalable access to data in an arbitrarily large document
Remmel et al. Multiplying schur functions
EP0817044A3 (en) Memory allocation in a multithreaded environment
US9123010B2 (en) Ledger-based resource tracking
CN101968772B (en) Method for implementing efficient memory pool of embedded system
IL169136A0 (en) Improved memory management for real-time applications
EP1260901A2 (en) Method and apparatus for managing hashed objects
DE60030767D1 (en) DATA ALLOCATION TO THREADS IN A MULTI-THREADED NETWORK PROCESSOR
CA2377649A1 (en) Dynamic cluster database architecture
EP1256879A3 (en) Data processor having cache memory
TW200630797A (en) System and method for virtualization of processor resources
JP2011505042A (en) Memory management
EP2941707B1 (en) Shared and managed memory unified access
US6820183B2 (en) Methods, systems, and computer program products for memory pool management using variable size sub-pools
US8499138B2 (en) Demand-based memory management of non-pagable data storage
Jones et al. High-performance parallel graph reduction
Leite et al. LRMalloc: A modern and competitive lock-free dynamic memory allocator
CN102209016A (en) Data processing method, device and data processing system
CN108664249B (en) Method and device for improving string storage efficiency, electronic equipment and computer readable storage medium
SE8305290L (en) COMPUTER MEMORY MANAGER
León et al. M&MMs: navigating complex memory spaces with hwloc
US20090031100A1 (en) Memory reallocation in a computing environment
CN102054073A (en) Data support method for large-scale integrated circuit layout

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP