Abstract:
In one embodiment, a method includes accessing a first set of entities, with which a user has interacted, and a second set of entities in a social-networking system. A first set of vector representations of the first set of entities are determined using a deep-learning model. A target entity is selected from the first set of entities, and the vector representation of the target entity is removed from the first set. The remaining vector representations in the first set are combined to determine a vector representation of the user. A second set of vector representations of the second set of entities are determined using the deep-learning model. Similarity scores are computed between the user and each of the target entity and the entities in the second set of entities. Vector representations of entities in the second set of entities are updated based on the similarity scores using the deep-learning model.
Abstract:
In one embodiment, a method includes receiving text query that includes n-grams. A vector representation of each n-gram is determined using a deep-learning model. A nonlinear combination of the vector representations of the n-grams is determined, and an embedding of the text query is determined based on the nonlinear combination. The embedding of the text query corresponds to a point in an embedding space, and the embedding space includes a plurality of points corresponding to a plurality of label embeddings. Each label embedding is based on a vector representation of a respective label determined using the deep-learning model. Label embeddings are identified as being relevant to the text query by applying a search algorithm to the embedding space. Points corresponding to the identified label embeddings are within a threshold distance of the point corresponding to the embedding of the text query in the embedding space.
Abstract:
Disclosed are a method and system for implementing an array data type of a programming language using various data structures. The disclosed method includes a plurality of implementations in which the array data type may be implemented. The implementations provide an efficient way to retrieve elements from the array, especially in the order they are inserted into the array. The data structures also minimize the computing resources required to manage and access the array. The disclosed technique also selects one of the many implementations based on criteria such as access pattern or size of the array.
Abstract:
Disclosed are a method and system for implementing an array data type of a programming language using various data structures. The disclosed method includes a plurality of implementations in which the array data type may be implemented. The implementations provide an efficient way to retrieve elements from the array, especially in the order they are inserted into the array. The data structures also minimize the computing resources required to manage and access the array. The disclosed technique also selects one of the many implementations based on criteria such as access pattern or size of the array.
Abstract:
Disclosed here are methods, systems, paradigms and structures for deleting shared resources from a cache in a multi-threaded system. The shared resources can be used by a plurality of requests belonging to multiple threads executing in the system. When requests, such as requests for executing script code, and work items, such as work items for deleting a shared resource, are created, a global sequence number is assigned to each of them. The sequence number indicates the order in which the requests and work items are created. A particular work item can be executed to delete the shared resource if there are no requests having a sequence number lesser than that of the particular work item executing in the system. However, if there is at least one request with a sequence number lesser than that of the particular work item executing, the work item is ignored until the request completes executing.
Abstract:
In one embodiment, a method includes accessing a first set of entities, with which a user has interacted, and a second set of entities in a social-networking system. A first set of vector representations of the first set of entities are determined using a deep-learning model. A target entity is selected from the first set of entities, and the vector representation of the target entity is removed from the first set. The remaining vector representations in the first set are combined to determine a vector representation of the user. A second set of vector representations of the second set of entities are determined using the deep-learning model. Similarity scores are computed between the user and each of the target entity and the entities in the second set of entities. Vector representations of entities in the second set of entities are updated based on the similarity scores using the deep-learning model.
Abstract:
Technology is provided for partitioning a shared unified cache in a multi-processor computer system. The technology can receive a request to allocate a portion of a shared unified cache memory for storing only executable instructions, partition the cache memory into multiple partitions, and allocate one of the partitions for storing only executable instructions. The technology can further determine the size of the portion of the cache memory to be allocated for storing only executable instructions as a function of the size of the multi-processor's L1 instruction cache and the number of cores in the multi-processor.
Abstract:
Disclosed are a method and system for implementing an array data type of a programming language using various data structures. The disclosed method includes a plurality of implementations in which the array data type may be implemented. The implementations provide an efficient way to retrieve elements from the array, especially in the order they are inserted into the array. The data structures also minimize the computing resources required to manage and access the array. The disclosed technique also selects one of the many implementations based on criteria such as access pattern or size of the array.
Abstract:
Disclosed are a method and system for binding a program object in a source code to one of a number of implementations of the program object, using caching techniques. Binding a program object to a particular implementation includes performing the binding process at compile time and runtime of the source code. During compilation phase, the program objects in the source code are identified, and each of the program objects is assigned a slot in a target cache. The slot is configured to store a pointer that points to a particular implementation of a program object to which the slot is assigned. During execution phase, the particular implementation of the program object is determined based on execution flow of the source code. After the particular implementation is determined, the program object is bound to the particular implementation by updating the assigned target cache slot with a pointer pointing to the particular implementation.
Abstract:
Technology is provided for partitioning a shared unified cache in a multi-processor computer system. The technology can receive a request to allocate a portion of a shared unified cache memory for storing only executable instructions, partition the cache memory into multiple partitions, and allocate one of the partitions for storing only executable instructions. The technology can further determine the size of the portion of the cache memory to be allocated for storing only executable instructions as a function of the size of the multi-processor's L1 instruction cache and the number of cores in the multi-processor.