发明名称 ATOMIC MEMORY OPERATIONS ON AN N-WAY LINKED LIST
摘要 Computer-implemented methods for pushing or popping an element on to of off of an N-way linked list in a computer memory may include one or more atomic memory operations on a handle of the N-way linked list. One embodiment for pushing a first element on to an N-way linked list may include setting a next sequential element pointer of the first element to point to an unknown location marker. Another embodiment for popping a first element off of an N-way linked may include marking a sub-list tail handle with a designation indicating that the particular sub-list is involved in a pop process. In yet another embodiment, a method for popping a first element off of an N-way linked list may include storing in a sub-list tail handle a pointer to a pseudo element. The handle may fit within a single line of cache memory.
申请公布号 US2016188489(A1) 申请公布日期 2016.06.30
申请号 US201615065070 申请日期 2016.03.09
申请人 International Business Machines Corporation 发明人 Steinmacher-Burow Burkhard
分类号 G06F12/12 主分类号 G06F12/12
代理机构 代理人
主权项 1. A computer-implemented method for popping a tail element off of an N-way linked list in a computer memory, the N-way linked list for storing a plurality of elements, and having N linked sub-lists, a list order, and a handle, the handle having a sub-list tail handle for each of the sub-lists, each sub-list tail handle identifying a location of a tail of element of the respective sub-list or a maker indicating that the sub-list is empty, each element being in one of the N sub-lists and including a pointer to a next sequential element in a same sub-list, comprising: performing a first atomic memory operation to: determine which particular sub-list includes the tail element of the list,mark a sub-list tail handle of the particular sub-list with a designation indicating that the particular sub-list is involved in a pop process, anddetermine the location of the tail element of the particular sub-list; reading the tail element to determine a location of a next sequential element in the particular sub-list; and performing a second atomic memory operation to: write the location of the next sequential element in the particular sub-list to the sub-list tail handle of the particular sub-list, thereby designating the next sequential element as a new tail element of the particular sub-list, andremove the mark designating that the particular sub-list is involved in a pop process from the sub-list tail handle of the particular sub-list.
地址 Armonk NY US