-
公开(公告)号:US10887235B2
公开(公告)日:2021-01-05
申请号:US15685022
申请日:2017-08-24
Applicant: Google Inc.
Inventor: Gautham Thambidorai , Matthew Rosencrantz , Sanjay Ghemawat , Srdjan Petrovic , Ivan Posva
IPC: H04L12/825 , H04L12/803 , G06F9/448 , G06F9/50 , H04L12/24 , H04L29/08
Abstract: A programming model provides a method for executing a program in a distributed architecture. One or more first shards of the distributed architecture execute one or more operations, and sending tuples to at least one second shard, the tuples being part of a stream and being based on the one or more operations. The one or more first shards send a token value to the at least one second shard when the sending of the tuples in the stream is complete. The at least one second shard determines whether a total of the token values matches a number of the one or more first shards, and takes a first action in response to determining that the total of the token values matches the number of the one or more first shards. The first action may include marking the stream as being complete and/or generating a message indicating that the stream is complete.
-
公开(公告)号:US20190068504A1
公开(公告)日:2019-02-28
申请号:US15685022
申请日:2017-08-24
Applicant: Google Inc.
Inventor: Gautham Thambidorai , Matthew Rosencrantz , Sanjay Ghemawat , Srdjan Petrovic , Ivan Posva
IPC: H04L12/803 , H04L29/08 , H04L12/24
Abstract: A programming model provides a method for executing a program in a distributed architecture. One or more first shards of the distributed architecture execute one or more operations, and sending tuples to at least one second shard, the tuples being part of a stream and being based on the one or more operations. The one or more first shards send a token value to the at least one second shard when the sending of the tuples in the stream is complete. The at least one second shard determines whether a total of the token values matches a number of the one or more first shards, and takes a first action in response to determining that the total of the token values matches the number of the one or more first shards. The first action may include marking the stream as being complete and/or generating a message indicating that the stream is complete.
-
公开(公告)号:US20190065162A1
公开(公告)日:2019-02-28
申请号:US15685055
申请日:2017-08-24
Applicant: Google Inc.
Inventor: Gautham Thambidorai , Matthew Rosencrantz , Sanjay Ghemawat , Srdjan Petrovic , Ivan Posva
IPC: G06F9/45 , G01R31/3183
CPC classification number: G06F9/5066 , G06F8/443 , G06F8/456 , G06F8/47 , G06F17/504
Abstract: A programming model generates a graph for a program, the graph including a plurality of nodes and edges, wherein each node of the graph represents an operation and edges between the nodes represent streams of data input to and output from the operations represented by the nodes. The model determines where in a distributed architecture to execute the operations represented by the nodes. Such determining may include determining which nodes have location restrictions, assigning locations to each node having a location restriction based on the restriction, and partitioning the graph into a plurality of subgraphs, the partitioning including assigning locations to nodes without location restrictions in accordance with a first set of constraints, wherein each node within a particular subgraph is assigned to the same location. Each of the subgraphs is executed at its assigned location in a respective single thread.
-
4.
公开(公告)号:US20190065154A1
公开(公告)日:2019-02-28
申请号:US15685048
申请日:2017-08-24
Applicant: Google Inc.
Inventor: Gautham Thambidorai , Matthew Rosencrantz , Sanjay Ghemawat , Srdjan Petrovic , Ivan Posva
Abstract: A programming model provides a method for type inference in programming operations. Information defining one or more attributes of an operation is received, the information specifying a field including a field name and a field type identifier for each of the attributes. Constraints for the operation are determined at least based on the attributes, wherein the constraints restrict at least one of a type of input for the operation or a type of output for the operation. Information defining an input for the operation is received, and it is determined, based on the constraints and the received information defining the input, the type of output for the operation. The type of output is associated with an output for the operation.
-
公开(公告)号:US09201797B1
公开(公告)日:2015-12-01
申请号:US13895267
申请日:2013-05-15
Applicant: Google Inc.
Inventor: Vyacheslav Egorov , Kevin Scott Millikin , Srdjan Mitrovic , Ivan Posva , Florian Schneider
CPC classification number: G06F12/08 , G06F8/41 , G06F8/4443 , G06F12/0862
Abstract: Aspects of the subject technology relate to a computer-implemented process, including steps for compiling a first method call at a first call site in code of an object-oriented language, wherein the first call site is associated with a first selector, referencing a global cache comprising a plurality of per-selector caches, wherein each of the per-selector caches is indexed based on a corresponding selector identification and identifying a first per-selector cache, from among the plurality of per-selector caches, using the first selector. In certain aspects, the process can further include steps for invoking a method on a first object by performing a lookup in the first per-selector cache using a class associated with the first object to determine if a first target function exists in the first per-selector cache. Systems and computer readable media are also provided.
Abstract translation: 主题技术的方面涉及计算机实现的过程,包括在面向对象语言的代码中的第一呼叫站点处编译第一方法调用的步骤,其中第一呼叫站点与第一选择器相关联,引用全局 高速缓存包括多个每选择器高速缓存,其中每个选择器高速缓存基于相应的选择器标识被索引,并且使用第一选择器从多个选择器高速缓存中识别第一每选择器高速缓存。 在某些方面,该过程可以进一步包括通过使用与第一对象相关联的类在第一逐选择器高速缓存中执行查找来调用第一对象上的方法的步骤,以确定第一个每个选择器中是否存在第一目标函数, 选择器缓存。 还提供了系统和计算机可读介质。
-
公开(公告)号:US10599482B2
公开(公告)日:2020-03-24
申请号:US15685055
申请日:2017-08-24
Applicant: Google Inc.
Inventor: Gautham Thambidorai , Matthew Rosencrantz , Sanjay Ghemawat , Srdjan Petrovic , Ivan Posva
Abstract: A programming model generates a graph for a program, the graph including a plurality of nodes and edges, wherein each node of the graph represents an operation and edges between the nodes represent streams of data input to and output from the operations represented by the nodes. The model determines where in a distributed architecture to execute the operations represented by the nodes. Such determining may include determining which nodes have location restrictions, assigning locations to each node having a location restriction based on the restriction, and partitioning the graph into a plurality of subgraphs, the partitioning including assigning locations to nodes without location restrictions in accordance with a first set of constraints, wherein each node within a particular subgraph is assigned to the same location. Each of the subgraphs is executed at its assigned location in a respective single thread.
-
-
-
-
-