发明名称 THREAD SAFE LOCK-FREE CONCURRENT WRITE OPERATIONS FOR USE WITH MULTI-THREADED IN-LINE LOGGING
摘要 The disclosed embodiments relate to a mechanism for allowing concurrent access, e.g. write operations, to a data structure, e.g. a file, which may have limited capacity, by multiple processes or threads and, in particular, for allowing concurrent, or otherwise substantially simultaneously, appending of data to the file thereby. Each process/thread requests the amount of space it needs to append its data. Upon request, the disclosed mechanism allocates and reserves the requested amount of space and allows the requesting process/thread to commence its append operation. Subsequent to the commencement of the append operation, another thread is then free to request space for its needs and commence its append operation concurrently, or otherwise substantially simultaneously, with the previous append operation, i.e. before the prior append operation is completed.
申请公布号 US2016328435(A1) 申请公布日期 2016.11.10
申请号 US201514707614 申请日期 2015.05.08
申请人 Chicago Mercantile Exchange Inc. 发明人 Kavanagh Kyle D.;Pikler Andrew
分类号 G06F17/30;G06F3/06 主分类号 G06F17/30
代理机构 代理人
主权项 1. A system for controlling storage of data in a selected one of at least one data store coupled with a processor, the system comprising: first logic stored in a memory and executable by the processor coupled therewith to cause the processor, subsequent to receipt of a first request from a first requestor to store a first amount of first data in the selected data store, to receive a second request from a second requestor to store a second amount of second data in the selected data store, wherein at the time of receipt of the second request, the first requestor has at least commenced storing the first data to the selected data store; second logic stored in the memory and executable by the processor to cause the processor to, based on the second amount, allocate space in the selected data store sufficient to receive the second data to be stored by the second requestor; and third logic stored in the memory and executable by the processor to cause the processor to, upon allocation of space by the offset calculator, indicate to the second requestor that they may store the second data to the selected data store; and whereby, responsive to the indication by the processor, the second requestor is operative to commence storing the second data to the selected data store.
地址 Chicago IL US