Patent ID: 9471375
Filing Date: 2016-10-18
CPC Classification: G06F

Claim Text:
1. A method of identifying resource bottleneck in multi-stage workflow processing, comprising: identifying, by a computer processor, dependencies between logical stages and physical resources in a computing system to determine which logical stage involves what set of the physical resources; for each of the identified dependencies, determining, by the computer processor, a relationship between a usage level of a physical resource comprising one or more physical nodes and a concurrency level of a logical stage; estimating, by the computer processor, consumption of the physical resources by each of the logical stages based on the relationship determined for each of the logical stages, the estimating comprising obtaining a distribution of service times for the logical stage over different jobs, a service time measuring amount of processor cycles on physical node n consumed by job i in logical stage s; and performing, by the computer processor, a predictive modeling based on the estimated consumption to determine a bottleneck concurrency level at which said each of the logical stages and corresponding physical resources will become bottleneck, wherein the physical resources are scaled based on the predictive modeling to achieve a desired throughput level, wherein the identifying comprises: obtaining for each of the logical stages, concurrency levels in said each of the logical stages over a given time; obtaining utilization levels over the given time for each of the physical resources; and for each of the logical stages, identifying the physical resources having the utilization levels that correlate with a change in the concurrency levels of a logical stages by computing a cross-correlation coefficient between a concurrency level over the given time of a logical stage and a utilization level over the given time of a resource for each of the physical resources, the concurrency level of the logical stage representing a number of jobs that are executing that stage at the given time.