Patent classifications
G06F3/061
Method of distributed graph loading for minimal communication and good balance via lazy materialization and directory indirection using indexed tabular representation
Techniques herein minimally communicate between computers to repartition a graph. In embodiments, each computer receives a partition of edges and vertices of the graph. For each of its edges or vertices, each computer stores an intermediate representation into an edge table (ET) or vertex table. Different edges of a vertex may be loaded by different computers, which may cause a conflict. Each computer announces that a vertex resides on the computer to a respective tracking computer. Each tracking computer makes assignments of vertices to computers and publicizes those assignments. Each computer that loaded conflicted vertices transfers those vertices to computers of the respective assignments. Each computer stores a materialized representation of a partition based on: the ET and vertex table of the computer, and the vertices and edges that were transferred to the computer. Edges stored in the materialized representation are stored differently than edges stored in the ET.
Cold Storage Partition Management in Proof of Space Blockchain Systems
Storage devices are configured to be utilized in a variety of blockchain related activities that rely on a proof of space consensus model. These storage devices are required to process a lot of read and write cycles on their memory devices to generate the desired proof of space consensus data. The generation and storing of this generated data requires very different types of memory device usage. Storage devices may be configured with a first partition for high-speed access for generating the data, while a second partition is also configured for long-term storage of the generated data. As memory devices reach their estimated end-of-life, they can be dynamically reassigned to the second partition. Likewise, some storage devices may be equipped with multiple memory arrays of different types of memory devices. One set of memory devices can be used for generation, while cheaper, write-once or few memory devices are provided for storage.
Memory access communications through message passing interface implemented in memory systems
A memory system having a plurality of memory components and a controller, operatively coupled to the plurality of memory components to: store data in the memory components; communicate with a host system via a bus; service the data to the host system via communications over the bus; communicate with a processing device that is separate from the host system using a message passing interface over the bus; and provide data access to the processing device through communications made using the message passing interface over the bus.
Congestion Mitigation in a Distributed Storage System
A system comprises a plurality of computing devices that are communicatively coupled via a network and have a file system distributed among them, and comprises one or more file system request buffers residing on one or more of the plurality of computing devices. File system choking management circuitry that resides on one or more of the plurality of computing devices is operable to separately control: a first rate at which a first type of file system requests (e.g., one of data requests, data read requests, data write requests, metadata requests, metadata read requests, and metadata write requests) are fetched from the one or more buffers , and a second rate at which a second type of file system requests (e.g., another of data requests, data read requests, data write requests, metadata requests, metadata read requests, and metadata write requests) are fetched from the one or more buffers.
Low latency access to physical storage locations by implementing multiple levels of metadata
Systems for low-latency data access in distributed computing systems. A method embodiment commences upon generating a first storage area in local storage of a first computing node. Access to the first storage area is provided through the first computing node. A second storage area is generated wherein the second storage area comprises a first set of metadata that comprises local storage device locations of at least some of the local storage areas of the first storage area. A set of physical access locations of the second storage area is stored to a database that manages updates to the second set of metadata pertaining to the second storage area. Accesses to the first storage area are accomplished by querying the database to retrieve a location of the second set of metadata, and then accessing the first storage area through one or more additional levels of metadata that are node-wise collocated.
Independent evictions from datastore accelerator fleet nodes
A fleet of query accelerator nodes is established for a data store. Each accelerator node caches data items of the data store locally. In response to determining that an eviction criterion has been met, one accelerator node removes a particular data item from its local cache without notifying any other accelerator node. After the particular data item has been removed, a second accelerator node receives a read query for the particular data item and provides a response using a locally-cached replica of the data item.
SUMMING CIRCUIT FOR NEURAL NETWORK
Numerous examples of summing circuits for a neural network are disclosed. In one example, a circuit for summing current received from a plurality of synapses in a neural network comprises a voltage source; a load coupled between the voltage source and an output node; a voltage clamp coupled to the output node for maintaining a voltage at the output node; and a plurality of synapses coupled between the output node and ground; wherein an output current flows through the output node, the output current equal to a sum of currents drawn by the plurality of synapses.
STORAGE DEVICE READ-DISTURB-BASED BLOCK READ TEMPERATURE UTILIZATION SYSTEM
A storge device read-disturb-based block read temperature utilization system includes a storage device chassis housing a storage subsystem. A local read temperature utilization subsystem in the storage device chassis determines that data in a first block in the storage subsystem should be moved and, in response determines read disturb information for the first block and uses it to identify relative read temperatures for a plurality of rows in the first block in the storage subsystem. The local read temperature utilization system then moves the data from the first block in the storage subsystem to at least one second block in the storage subsystem based on the relative read temperatures identified for the plurality of rows in the first block in the storage subsystem.
READ-DISTURB-BASED READ TEMPERATURE INFORMATION PERSISTENCE SYSTEM
A read-disturb-based read temperature information persistence system includes a storage device coupled to a host subsystem. The storage device receives a first instruction from the host subsystem to write first data to the storage device, writes the first data to a first block in the storage device, and determines first read temperature(s) for the first data based on first read disturb information associated with the first block in the storage device. When a second instruction is received from the host subsystem to write second data to the storage device that is an updated version of the first data, the storage device identifies the first read temperature(s) determined for the first data in the first block in the storage device, and writes the second data and a first read temperature indication of the at least one first read temperature to a second block in the storage device.
SYSTEM AND METHOD FOR IMPROVING MEMORY RESOURCE ALLOCATIONS IN DATABASE BLOCKS USING BLOCKCHAIN
A system for improving memory resource allocation in database blocks of a database server using blockchain receives a request to allocate a particular amount of memory resources to a particular database block of the database server to perform a task. The system communicates a blockchain transaction to a block in the blockchain. the system approves the blockchain transaction based on historical memory resource allocations to perform the first task. A new block is generated in the blockchain in response to the blockchain transaction being approved. The system performs the task using the particular amount of memory resources. The system determines whether any portion of memory resources already allocated to any of the database blocks is unutilized. If it is determined that a portion of the memory resources already allocated to any of the database blocks is unutilized, the system reallocates the unutilized memory resources to the particular database block.