Patent classifications
G06F11/3433
DYNAMIC WORKLOAD PLACEMENT USING CLOUD SERVICE ENERGY IMPACT
This disclosure describes dynamically placing workloads using cloud service energy efficiency. The techniques include obtaining energy efficiency metrics (EEMs) that indicate the carbon footprint for different data centers of cloud service providers. In some configurations, an Energy Efficiency Quotient (EEQ) may be generated by an Energy Telemetry Engine (ETE) that indicates the energy efficiency for each data center/Point of Presence (POP) where a workload may be migrated/hosted. The ETE can be used to rank the different host locations (e.g., different data according to their EEQ. In some examples, one or more other metrics (e.g., latency, bandwidth, . . . ) may be used to identify any POPs that do not meet specified conditions (e.g., latency constraints, bandwidth constraints, . . . ). When a suitable host location is determined (e.g. a POP meets both the performance and EEQ specifications), the workload may be placed onto one or more resources of the selected data center.
Balancing Data Transfer Amongst Paths Between A Host and A Storage System
Managing input/output (‘I/O’) queues in a data storage system, including: receiving, by a host that is coupled to a plurality of storage devices via a storage network, a plurality of I/O operations to be serviced by a target storage device; determining, for each of a plurality of paths between the host and the target storage device, a data transfer maximum associated with the path; determining, for one or more of the plurality of paths, a cumulative amount of data to be transferred by I/O operations pending on the path; and selecting a target path for transmitting one or more of the plurality of I/O operations to the target storage device in dependence upon the cumulative amount of data to be transferred by I/O operations pending on the path and the data transfer maximum associated with the path.
PREDICTION OF BUFFER POOL SIZE FOR TRANSACTION PROCESSING WORKLOADS
Techniques are described herein for prediction of an buffer pool size (BPS). Before performing BPS prediction, gathered data are used to determine whether a target workload is in a steady state. Historical utilization data gathered while the workload is in a steady state are used to predict object-specific BPS components for database objects, accessed by the target workload, that are identified for BPS analysis based on shares of the total disk I/O requests, for the workload, that are attributed to the respective objects. Preference of analysis is given to objects that are associated with larger shares of disk I/O activity. An object-specific BPS component is determined based on a coverage function that returns a percentage of the database object size (on disk) that should be available in the buffer pool for that database object. The percentage is determined using either a heuristic-based or a machine learning-based approach.
MANAGEMENT SYSTEM, QoS VIOLATION DETECTION METHOD, AND QoS VIOLATION DETECTION PROGRAM
It is possible to reduce analysis cost of a management system.
The management system includes a CPU and manages one or more storage devices that provide, to a higher-level device, one or more volumes for inputting and outputting data. The CPU is configured to collect performance information of the volume from the storage device at a predetermined first time interval and detect a QoS violation of the performance information of the volume at a second time interval longer than the first time interval.
Selecting paths between a host and a storage system
Managing input/output (‘I/O’) queues in a data storage system, including: receiving, by a host that is coupled to a plurality of storage devices via a storage network, a plurality of I/O operations to be serviced by a target storage device; determining, for each of a plurality of paths between the host and the target storage device, a data transfer maximum associated with the path; determining, for one or more of the plurality of paths, a cumulative amount of data to be transferred by I/O operations pending on the path; and selecting a target path for transmitting one or more of the plurality of I/O operations to the target storage device in dependence upon the cumulative amount of data to be transferred by I/O operations pending on the path and the data transfer maximum associated with the path.
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.
Methods and systems for adaptive memory-resource management
Described are self-learning systems and methods for adaptive management of memory resources within a memory hierarchy. Memory allocations associated with different active functions are organized into blocks for placement in alternative levels in a memory hierarchy optimized for different metrics of e.g. cost and performance. A host processor monitors a performance metric of the active functions, such as the number of instructions per clock cycle, and reorganizes the function-specific blocks among the levels of the hierarchy. Over time, this process tends toward block organizations that improve the performance metric.
Optimizing distribution of heterogeneous software process workloads
A request is received to schedule a new software process. Description data associated with the new software process is retrieved. A workload resource prediction is requested and received for the new software process. A landscape directory is analyzed to determine a computing host in a managed landscape on which to load the new software process. The new software process is executed on the computing host.
Embedded persistent queue
Various aspects are disclosed for distributed application management using an embedded persistent queue framework. In some aspects, task execution data is monitored from a plurality of task execution engines. A task request is identified. The task request can include a task and a Boolean predicate for task assignment. The task is assigned to a task execution engine embedded in a distributed application process if the Boolean predicate is true, and a capacity of the task execution engine is sufficient to execute the task. The task is enqueued in a persistent queue. The task is retrieved from the persistent queue and executed.
Automated performance tuning using workload profiling in a distributed computing environment
Workload profiling can be used in a distributed computing environment for automatic performance tuning. For example, a computing device can receive a performance profile for a workload in a distributed computing environment. The performance profile can indicate resource usage by the workload in the distributed computing environment. The computing device can determine a performance bottleneck associated with the workload based on the resource usage specified in the performance profile. A tuning profile can be selected to reduce the performance bottleneck associate with the workload. The computing device can output a command to adjust one or more properties of the workload in accordance with the tuning profile to reduce the performance bottleneck associated with the workload.