THREADSAFE USE OF NON-THREADSAFE LIBRARIES WITH MULTI-THREADED PROCESSES

    公开(公告)号:US20170277562A1

    公开(公告)日:2017-09-28

    申请号:US15465287

    申请日:2017-03-21

    CPC classification number: G06F9/4881 G06F8/457 G06F8/76 G06F9/541

    Abstract: An apparatus includes a processor and a storage storing instructions causing the processor to determine whether an analysis routine is multi-threaded and calls a library function of a non-threadsafe library, and if so, causes the processor to: instantiate an analysis process for executing the analysis routine on multiple threads; instantiate an instance of the library for execution within a isolated library process; instantiate another instance of the library for execution within another isolated library process; retrieve library metadata providing a function prototype of the library function; employ the function prototype to generate an instance of a bridge routine to enable a call from the analysis routine on a first thread to the library function; employ the function prototype to generate another instance of the bridge routine to enable a call from the analysis routine on a second thread to the library function; and begin execution of the analysis routine.

    Distributed data set indexing
    4.
    发明授权

    公开(公告)号:US10303670B2

    公开(公告)日:2019-05-28

    申请号:US15984706

    申请日:2018-05-21

    Abstract: An apparatus including a processor to index data records within a data cell, wherein for each data record, the processor retrieves data values from first and second data fields; determines whether the first and second data fields store unique data values; in response to the first data field storing a unique data value, adds an identifier of the data record to a first unique values index, in response to the second data field storing a unique data value, adds the identifier to a second unique values index, wherein identifiers of data records within the unique values indexes are ordered based on corresponding unique data values; and generates an indication of ranges of data values of the first and second data fields to enable a determination of whether a data value specified in search criteria is present within at least the data cell.

    Distributed data set storage and retrieval

    公开(公告)号:US10185721B2

    公开(公告)日:2019-01-22

    申请号:US15804570

    申请日:2017-11-06

    Abstract: An apparatus includes a processor component caused to: retrieve metadata of organization of data within a data set, and map data of organization of data blocks within a data file; receive indications of which node devices are available to perform a processing task with a data set portion; and in response to the data set including partitioned data, compare the quantities of available node devices and of the node devices last involved in storing the data set. In response to a match, for each map data map entry: retrieve a hashed identifier for a data sub-block, and a size for each of the data sub-blocks within the corresponding data block; divide the hashed identifier by the quantity of available node devices; compare the modulo value to a designation assigned to each of the available node devices; and provide a pointer to the available node device assigned the matching designation.

    Threadsafe use of non-threadsafe libraries with multi-threaded processes

    公开(公告)号:US09785467B1

    公开(公告)日:2017-10-10

    申请号:US15465287

    申请日:2017-03-21

    CPC classification number: G06F9/4881 G06F8/457 G06F8/76 G06F9/541

    Abstract: An apparatus includes a processor and a storage storing instructions causing the processor to determine whether an analysis routine is multi-threaded and calls a library function of a non-threadsafe library, and if so, causes the processor to: instantiate an analysis process for executing the analysis routine on multiple threads; instantiate an instance of the library for execution within a isolated library process; instantiate another instance of the library for execution within another isolated library process; retrieve library metadata providing a function prototype of the library function; employ the function prototype to generate an instance of a bridge routine to enable a call from the analysis routine on a first thread to the library function; employ the function prototype to generate another instance of the bridge routine to enable a call from the analysis routine on a second thread to the library function; and begin execution of the analysis routine.

Patent Agency Ranking