Patent classifications
G06F11/3017
Detection of resource bottlenecks in user devices using artificial intelligence and causal graphs
Techniques are provided for detection of resource bottlenecks in computing devices. A particular resource bottleneck can be identified as a cause of a current device issue based on a dynamic evaluation, by an anomaly detection module, of performance metrics of a computing device. Once a particular resource bottleneck is identified as anomalous, one or more corresponding adjustments to configuration settings for the computing device can be identified to mitigate the current device issue using a causal graph that represents the dependencies among (i) various issue types for a computing device, (ii) performance metrics of the computing device to evaluate for each issue type, and (iii) one or more resources that may be a cause of a given issue type. The corresponding adjustments to the computing device can be automatically identified based on the resource determined to be the cause of the given device issue type.
Analysis and visualization of application concurrency and processor resource utilization
An analysis and visualization depicts how an application is leveraging computer processor cores in time. The analysis and visualization enables a developer to readily identify the degree of concurrency exploited by an application at runtime. Information regarding processes or threads running on the processor cores over time is received, analyzed, and presented to indicate portions of processor cores that are used by the application, idle, or used by other processes in the system. The analysis and visualization can help a developer understand contention for processor resources, confirm the degree of concurrency, or identify serial regions of execution that might provide opportunities for exploiting parallelism.
Database process categorization
Described is a system, method, and computer program product to perform monitoring for process-based OS resource utilization by individual database instances in a multi-database environment. This approach may be used to resolve numerous resource allocation and monitoring problems, such as the noisy neighbor problem.
Automatic reconfiguration of high performance computing job schedulers based on user behavior, user feedback, and job performance monitoring
A job executing on a computer system according to a scheduler configuration may be monitored. Responsive to determining that the job completed executing, a difference between an allocated resource allocated to the job and the job's actual resource usage may be computed. Responsive to determining that the difference meets a criterion, the scheduler configuration may be reconfigured to reduce the allocated resource for a submitted job associated with a given user.
Task based service management platform
A service management platform can implement functionality for one or more services, each of which can be independently used by a plurality of clients of the services. To activate the functionality of the one or more of the services, a hub server of the service management platform can assign a set of tasks to individual node servers for execution. The hub server can operate in a “supervisor environment” distinct from the processing environment used to execute the computationally intensive portions of the tasks. A task received at a node server can be managed by a supervisor process within the supervisor environment and executed by a native process within a native operating system environment, where the native process executes the computationally intensive calculations of the task and supervisor process provides communications and data transfer between the native process and rest of the service management platform.
Systems and methods for orchestrating seamless, distributed, and stateful high performance computing
An orchestration system may provide distributed and seamless stateful high performance computing for performance critical workflows and data across geographically distributed compute nodes. The system may receive a task with different jobs that operate on a particular dataset, may determine a set of policies that define execution priorities for the jobs, and may determine a current state of compute nodes that are distributed across different compute sites. The system may distribute the jobs across a selected set of the compute nodes in response to the current state of the set of compute nodes satisfying more of the execution priorities than the current state of other compute nodes. The system may produce task output based on modifications made to the particular database as each compute node of the set of compute nodes executes a different job of the plurality of jobs.
SYSTEM AND METHOD FOR DYNAMIC SOFTWARE MANAGEMENT
A method for dynamic software management includes receiving, at a source processor, an idle time and at least one task execution characteristic of corresponding to respective processors of one or more other processors. The method also includes identifying a target processor of the one or more other processors capable of executing a task associated with the source processor based on the idle time and the at least one task execution characteristic of the target processor. The method also includes communicating, to the target processor, a task request requesting the target processor execute the task associated with the source processor. The method also includes, in response to receiving a communication from the target processor indicating acceptance of the task, communicating, to the target processor, instructions for executing the task.
PERFORMANCE MONITORING FOR STORAGE SYSTEM WITH CORE THREAD COMPRISING INTERNAL AND EXTERNAL SCHEDULERS
A processing device monitors performance of a first thread of a first application executing on one of a plurality of processing cores of a storage system. The first thread comprises an internal scheduler controlling switching between a plurality of sub-threads of the first thread, and an external scheduler controlling release of the processing core by the first thread for use by at least a second thread of a second application different than the first application. In conjunction with monitoring the performance of the first thread in executing the first application, the processing device maintains a cumulative suspend time of the first thread over multiple suspensions of the first thread, with one or more of the multiple suspensions allowing at least the second thread of the second application to execute on the processing core, and generates performance measurements for sub-threads of the first thread using the cumulative suspend time.
PROCESS PRIORITIZATION FOR INFORMATION HANDLING SYSTEMS
An information handling system may determine that a first process of a list of processes is a top-ranked process and may adjust one or more settings of the information handling system associated with the first process. The information handling system may monitor performance parameters of the information handling system following the adjustment of the settings. Based on monitoring the performance parameters, the information handling system may determine that a performance score of the information handling system is below a threshold performance score and may reduce a ranking of the first process based on the determination. The ranking of the first process may be reduced such that a second process becomes a new top-ranked process. The information handling system may then adjust one or more settings associated with the second process.
System and method for enhancing the efficiency of mainframe operations
A method includes monitoring a job being executed at the source mainframe. A job comprises multiple tasks. A method includes monitoring a particular task of the multiple tasks being executed at a source mainframe and determining an application required to execute the particular task. In response to determining that the particular task requires an application to execute, determining a target mainframe where the application is installed. A method further includes validating the environment of the target mainframe to confirm that the particular task can be executed using the target mainframe, and upon validating the target mainframe, redirecting the particular task to the target mainframe for execution. A method also includes monitoring the particular task being executed at the target mainframe and returning the results of the particular task from the target mainframe to the source mainframe.