Patent classifications
G06F12/1072
Associating a processing thread and memory section to a memory device
A method begins by a storage unit of a dispersed storage network (DSN) receiving access requests which include a logical DSN address and a storage function. The method continues with a first processing module of the storage unit performing logical to physical address conversions of logical DSN addresses of the access requests to physical addresses of a plurality of main memories. For a first access request of the access requests, the method continues with the first processing module identifying a first main memory based on the physical address resulting from the physical address conversion. The method continues with the first processing module identifying a first processing thread of a plurality of processing threads based on allocation of the plurality of processing threads to the plurality of main memories. The method continues with the first processing thread executing tasks of the first access request to fulfill the first access request.
UNIVERSAL POINTERS FOR DATA EXCHANGE IN A COMPUTER SYSTEM HAVING INDEPENDENT PROCESSORS
A system, method and apparatus to facilitate data exchange via pointers. For example, in a computing system having a first processor and a second processor that is separate and independent from the first processor, the first processor can run a program configured to use a pointer identifying a virtual memory address having an ID of an object and an offset within the object. The first processor can use the virtual memory address to store data at a memory location in the computing system and/or identify a routine at the memory location for execution by the second processor. After the pointer is communicated from the first processor to the second processor, the second processor can access the same memory location identified by the virtual memory address. The second processor may operate on the data stored at the memory location or load the routine from the memory location for execution.
Sharing secure memory across multiple security domains
According to one or more embodiments of the present invention, a computer implemented method includes receiving a secure access request for a secure page of memory at a secure interface control of a computer system. The secure interface control can check a disable virtual address compare state associated with the secure page. The secure interface control can disable a virtual address check in accessing the secure page to support mapping of a plurality of virtual addresses to a same absolute address to the secure page based on the disable virtual address compare state being set and/or to support secure pages that are accessed using an absolute address and do not have an associated virtual address.
Sharing secure memory across multiple security domains
According to one or more embodiments of the present invention, a computer implemented method includes receiving a secure access request for a secure page of memory at a secure interface control of a computer system. The secure interface control can check a disable virtual address compare state associated with the secure page. The secure interface control can disable a virtual address check in accessing the secure page to support mapping of a plurality of virtual addresses to a same absolute address to the secure page based on the disable virtual address compare state being set and/or to support secure pages that are accessed using an absolute address and do not have an associated virtual address.
Resilient mediation between storage systems replicating a dataset
Resilient mediation between storage systems replicating a dataset, including: receiving, by a mediation service from one or more storage systems that synchronously replicate a dataset, a request to resolve which storage system continues to service a dataset after the request; and sending, from the mediation service to at least one of the storage systems, a positive mediation result, wherein: the storage systems that received the positive mediation result continue to process data storage requests directed to the dataset, and the storage systems that did not receive a positive mediation result from the mediation service do not continue to process data storage requests directed to the dataset.
Resilient mediation between storage systems replicating a dataset
Resilient mediation between storage systems replicating a dataset, including: receiving, by a mediation service from one or more storage systems that synchronously replicate a dataset, a request to resolve which storage system continues to service a dataset after the request; and sending, from the mediation service to at least one of the storage systems, a positive mediation result, wherein: the storage systems that received the positive mediation result continue to process data storage requests directed to the dataset, and the storage systems that did not receive a positive mediation result from the mediation service do not continue to process data storage requests directed to the dataset.
Remote memory selection
A multi-path fabric interconnected system with many nodes and many communication paths from a given source node to a given destination node. A memory allocation device on an originating node (local node) requests an allocation of memory from a remote node (i.e., requests a remote allocation). The memory allocation device on the local node selects the remote node based on one or more performance indicators. The local memory allocation device may select the remote node to provide a remote allocation of memory based on one or more of: latency, availability, multi-path bandwidth, data access patterns (both local and remote), fabric congestion, allowed bandwidth limits, maximum latency limits, and, available memory on remote node.
Pulse Counters
A method and apparatus of a device that reads and writes a plurality of counters is described. In an exemplary embodiment, a device receives plurality labels that correspond to the plurality of counters. The plurality of counters is stored in a shared memory table in the shared memory of the device. In addition, a writer writes counter data for each of the plurality of counters to the shared memory table. For each of the plurality of labels, the device performs a lookup of that label for a memory reference to a corresponding counter that is one of the plurality of counters and retrieves the memory reference for the corresponding counter. The device further reads the counter data for plurality of counters using the plurality of memory references. The device additionally sends the counter data to the client.
Pulse Counters
A method and apparatus of a device that reads and writes a plurality of counters is described. In an exemplary embodiment, a device receives plurality labels that correspond to the plurality of counters. The plurality of counters is stored in a shared memory table in the shared memory of the device. In addition, a writer writes counter data for each of the plurality of counters to the shared memory table. For each of the plurality of labels, the device performs a lookup of that label for a memory reference to a corresponding counter that is one of the plurality of counters and retrieves the memory reference for the corresponding counter. The device further reads the counter data for plurality of counters using the plurality of memory references. The device additionally sends the counter data to the client.
Memory allocation manager and method performed thereby for managing memory allocation
A memory allocation manager and a method performed thereby for managing memory allocation, within a data centre, to an application are provided. The data centre comprises at least a Central Processing Unit, CPU, pool and at least one memory pool. The method comprises receiving (210) information associated with a plurality of instances associated with an application to be initiated, wherein individual instances are associated with individual memory requirements, the information further comprising information about an internal relationship between the instances; and determining (230) for a plurality of instances, a minimum number of memory blocks and associated sizes required based on the received information, by identifying parts of memory blocks and associated sizes that may be shared by two or more instances based on their individual memory requirements and/or the internal relationship between the instances. The method also comprises allocating (240) a number of memory blocks to the instances of the application based on the determined minimum number of memory blocks.