Patent classifications
G06F9/3891
Vector processing unit
A vector processing unit is described, and includes processor units that each include multiple processing resources. The processor units are each configured to perform arithmetic operations associated with vectorized computations. The vector processing unit includes a vector memory in data communication with each of the processor units and their respective processing resources. The vector memory includes memory banks configured to store data used by each of the processor units to perform the arithmetic operations. The processor units and the vector memory are tightly coupled within an area of the vector processing unit such that data communications are exchanged at a high bandwidth based on the placement of respective processor units relative to one another, and based on the placement of the vector memory relative to each processor unit.
Input/output (I/O) memory management unit (IOMMU) multi-core interference mitigation
A multicore processing environment (MCPE) is disclosed. In embodiments, the MCPE includes multiple processing cores hosting multiple user applications configured for simultaneous execution. The cores and user applications share system resources including main memory and input/output (I/O) domains, each I/O domain including multiple I/O devices capable of requesting inbound access to main memory through an I/O memory management unit (IOMMU). For example, the IOMMU cache associates unique cache tags to each I/O device based on device identifiers or settings determined by the system registers, caching the configuration data for each I/O device under the appropriate cache tag. When each I/O device requests main memory access, the IOMMU cache refers to the appropriate configuration data under the corresponding unique cache tag. This prevents contention in the IOMMU cache caused by one device evicting the cache entry of another, minimizing interference channels by reducing the need for main memory access.
Hierarchical general register file (GRF) for execution block
In an example, an apparatus comprises a plurality of execution units, and a first general register file (GRF) communicatively couple to the plurality of execution units, wherein the first GRF is shared by the plurality of execution units. Other embodiments are also disclosed and claimed.
Sharing instruction cache lines between multiple threads
Aspects are provided for sharing instruction cache footprint between multiple threads using instruction cache set/way pointers and a tracking table. The tracking table is built up over time for shared pages, even when the instruction cache has no access to real addresses or translation information. A set/way pointer to an instruction cache line is derived from the system memory address associated with a first thread's instruction fetch. The set/way pointer is stored as a surrogate for the system memory address in both an instruction cache directory (IDIR) and a tracking table. Another set/way pointer to an instruction cache line is derived from the system memory address associated with a second thread's instruction fetch. A match is detected between the set/way pointer and the other set/way pointer. The instruction cache directory is updated to indicate that the instruction cache line is shared between multiple threads.
Automatically configuring computing clusters
Computing clusters can be automatically configured according to some aspects described herein. For example, a system can receive configuration datasets from instantiated objects in a management cluster. The configuration datasets can be for configuring target objects in managed clusters, where the managed clusters are separate from the management cluster. The system can then configure the target objects within each of the managed clusters based on the configuration datasets.
System and method for benchmarking a container orchestration platform
System and method for benchmarking a container orchestration platform in a computing environment uses data contained in a configuration file, which specifies at least one benchmark operation having benchmark actions for container orchestration resource types to be performed in the container orchestration platform, to create a resource manager for each container orchestration resource type specified in the configuration file. Using the created resource managers, a routine for each benchmark action is spawned and executed on container orchestration objects in the container orchestration platform. As the routines are executed, performance metrics are collected and at least some of the collected performance metrics are displayed.
Distributed system for distributed lock management and method for operating the same
Disclosed herein are a distributed system and a method for operating the distributed system. The method for operating a distributed system including a server and multiple clients includes acquiring, by a first client of the multiple clients, a lock on a shared resource using a first table of the server and a second table of the client, and releasing, by the first client, a lock on the shared resource using the first table and the second table, wherein the first table is a lock (DSLock) table for storing information about a distributed shared resource, and the second table is a data structure (DSLock_node) table for a lock request.
LOOK-UP TABLE READ
A digital data processor includes an instruction memory storing instructions specifying data processing operations and a data operand field, an instruction decoder coupled to the instruction memory for recalling instructions from the instruction memory and determining the operation and the data operand, and an operational unit coupled to a data register file and an instruction decoder to perform an operation upon an operand corresponding to an instruction decoded by the instruction decoder and storing results of the operation. The operational unit is configured to perform a table recall in response to a look up table read instruction by recalling data elements from a specified location and adjacent location to the specified location, in a specified number of at least one table and storing the recalled data elements in successive slots in a destination register. Recalled data elements include at least one interpolated data element in the adjacent location.
Computer vision systems and methods for modeling three-dimensional structures using two-dimensional segments detected in digital aerial images
A system for modeling a three-dimensional structure utilizing two-dimensional segments comprising a memory and a processor in communication with the memory. The processor extracts a plurality of two-dimensional segments corresponding to the three-dimensional structure from a plurality of images indicative of different views of the three-dimensional structure. The processor determines a plurality of three-dimensional candidate segments based on the extracted plurality of two-dimensional segments and adds the plurality of three-dimensional candidate segments to a three-dimensional segment cloud. The processor transforms the three-dimensional segment cloud into a wireframe indicative of the three-dimensional structure by performing a wireframe extraction process on the three-dimensional segment cloud.
Systems and methods for optimized cluster resource utilization
Systems and methods for optimizing cluster resource utilization are disclosed. Systems and methods for optimizing cluster resource utilization are disclosed. In one embodiment, in an information processing apparatus comprising at least one computer processor, a method for optimizing cluster resource utilization may include: (1) retrieving cluster usage information for at least one cluster resource in a multi-tenant environment; (2) determining tenant usage for the cluster resource for each of a plurality of tenants; (3) determining a tenant resource commitment for the cluster resource for each tenant; and (4) presenting tenant usage and tenant resource commitment for each resource.