-
1.
公开(公告)号:US20160308882A1
公开(公告)日:2016-10-20
申请号:US14691310
申请日:2015-04-20
Applicant: Yahoo! Inc.
Inventor: Edward Bortnikov , Ohad Shacham , Idit Keidar , Eshcar Hillel , Sameer Paranjpye
CPC classification number: H04L63/108 , G06F9/466 , G06F17/30353 , H04L2463/121
Abstract: Briefly, embodiments disclosed herein relate to managing transactions in a distributed content transaction system.
Abstract translation: 简而言之,本文公开的实施例涉及管理分布式内容交易系统中的交易。
-
公开(公告)号:US20170220617A1
公开(公告)日:2017-08-03
申请号:US15012250
申请日:2016-02-01
Applicant: Yahoo! Inc.
Inventor: Edward Bortnikov , Ohad Shacham , Idit Keidar
IPC: G06F17/30
CPC classification number: G06F16/2329
Abstract: Multi-thread systems and methods are described for concurrently handling requests to commit data updates to a database by a plurality of data transactions. The database preferably supports multi-versioning and the data transactions are preferably isolated by snapshot isolation. In one embodiment, concurrent and lock-free handling of requests to commit data updates includes performing two types of concurrent data conflict detection. A transaction proceeds to commit only if it passes both types of conflict detection. The first type of conflict detection is based on a hash map between data keys and their commit timestamps whereas the second type of conflict detection is based on a log that keeps track of the status of transactions whose requests to commit are actively being processed. In another embodiment, concurrent conflict detection for data items in concurrent transactions is broken down into buckets and locks are used for accessing each bucket. These systems and methods maintain transactional integrity to database while improving throughput by maximizing concurrency of data commits in a multi-thread environment.
-
公开(公告)号:US20170140012A1
公开(公告)日:2017-05-18
申请号:US14945221
申请日:2015-11-18
Applicant: Yahoo! Inc.
Inventor: Edward Bortnikov , Alexander Libov , Ohad Shacham
CPC classification number: G06N20/00 , G06F16/90335 , G06F17/10 , G06K9/00 , G06K9/00973 , G06K9/622 , G06K9/6276
Abstract: In one embodiment, a processor of a computing device receives a query. The computing device may compare a centroid of each of a plurality of clusters to the query such that a subset of the plurality of clusters is selected, each of the plurality of clusters having a set of data points. An assignment of the subset of the plurality of clusters may be communicated to a hardware accelerator of the computing device. A plurality of threads of the hardware accelerator of the computing device may generate one or more distance tables that store results of intermediate computations corresponding to the query and the subset of the plurality of clusters. The distance tables may be stored in shared memory of the hardware accelerator. A plurality of threads of the hardware accelerator may determine a plurality of data points using the distance tables. The processor may provide query results pertaining to at least a portion of the plurality of data points.
-
-