发明名称 LOW-CONTENTION UPDATE BUFFER QUEUING FOR LARGE SYSTEMS
摘要 A method for queuing thread update buffers to enhance garbage collection. The method includes providing a global update buffer queue and a global array with slots for storing pointers to filled update buffers. The method includes with an application thread writing to the update buffer and, when filled, attempting to write the pointer for the update buffer to the global array. The array slot may be selected randomly or by use of a hash function. When the writing fails due to a non-null slot, the method includes operating the application thread to add the filled update buffer to the global update buffer queue. The method includes, with a garbage collector thread, inspecting the global array for non-null entries and, upon locating a pointer, claiming the filled update buffer. The method includes using the garbage collector thread to claim and process buffers added to the global update buffer queue.
申请公布号 US2014281060(A1) 申请公布日期 2014.09.18
申请号 US201414289847 申请日期 2014.05.29
申请人 Oracle America 发明人 PRINTEZIS ANTONIOS;HOHENSEE PAUL H.
分类号 G06F12/02;G06F5/12 主分类号 G06F12/02
代理机构 代理人
主权项 1. A method of queuing buffers for garbage collection in a computer system, comprising: providing a global update buffer queue and a global array with slots for storing pointers to filled update buffers; writing to an update buffer with an application thread; when the update buffer is filled, writing a pointer for the filled update buffer to one of the slots of the global array for storing pointers; when the writing of the pointer to the global array fails, adding the filled update buffer to the global update buffer queue; and performing garbage collection in the computer system comprising: inspecting the global array for non-null entries in the slots and claiming the filled update buffer for processing using the pointer located in one of the non-null entries in the slots;obtaining the filled update buffer from the global update buffer queue when the filled update buffer is not claimed during the first inspecting of the global array.
地址 Redwood City CA US