Sampling technique to adjust application sampling rate

US10108522B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10108522-B1
Application numberUS-201715605574-A
CountryUS
Kind codeB1
Filing dateMay 25, 2017
Priority dateMay 25, 2017
Publication dateOct 23, 2018
Grant dateOct 23, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

One embodiment provides a method, including: identifying an application executing across a plurality of processors, wherein the application generates communication messages between the plurality of processors; collecting, using a profiler, a plurality of samples of the messages, wherein the plurality of samples are collected at a predetermined sampling rate and wherein the collecting comprises interrupting the execution of the application to collect a sample; determining, using an adaptive sampling technique, if the sampling rate comprises a sampling rate that is sufficiently low while meeting a predetermined quality threshold; adjusting, based upon the sampling rate not comprising a sampling rate that is sufficiently low, the sampling rate, and then collecting samples until the sampling rate comprises the sampling rate that is sufficiently low while meeting a predetermined quality threshold; and building, using the collected samples, an output performance profile of the application.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: utilizing at least one processor to execute computer code that performs the steps of: identifying an application executing across a plurality of processors, wherein the application generates communication messages between a subset of the plurality of processors during execution; collecting, using a profiler, a plurality of samples of the communication messages, wherein the plurality of samples are collected at a sampling rate and wherein the collecting comprises interrupting the execution of the application to collect a sample; determining, using an adaptive sampling technique, if the sampling rate comprises a sampling rate that is sufficiently low to reduce the interruptions to the execution of the application, while meeting a predetermined quality threshold, wherein the adaptive sampling techniques comprises a tensor adaptation technique comprising: generating a tensor comprising the collected plurality of samples, the generated tensor comprises a plurality of missing values, filling the plurality of missing values in the generated tensor by applying a tensor factorization technique to reconstruct the tensor, and comparing a quality of the reconstructed tensor to the predetermined quality threshold; adjusting, based upon the sampling rate not comprising a sampling rate that is sufficiently low to reduce the interruptions while meeting the predetermined quality threshold, the sampling rate, and then collecting samples until the sampling rate comprises the sampling rate that is sufficiently low while meeting the predetermined quality threshold; and building, using the collected plurality of samples and the samples collected using the adjusted sampling rate, an output performance profile of the application. 2. The method of claim 1 , wherein the adjusting the sampling rate and collecting samples comprises iteratively performing the steps of: the collecting a plurality of samples, the determining, and the adjusting the sampling rate. 3. The method of claim 1 , wherein the adaptive sampling technique comprises a lightweight adaptive sampling technique comprising: using a message predictor to make a plurality of predictions regarding information of a plurality of future messages; and determining an prediction rate associated with the plurality of predictions by verifying, after the future message has been sent, the predicted information regarding the future message. 4. The method of claim 3 , wherein the lightweight adaptive sampling technique comprises classifying the application as regular based upon determining the prediction rate is above a predetermined threshold; and wherein the adjusting the sampling rate comprises lowering the sampling rate based upon the application being classified as regular. 5. The method of claim 3 , wherein the lightweight adaptive sampling technique comprises classifying the application as irregular based upon determining the prediction rate is below a predetermined threshold; and wherein the adjusting the sampling rate comprises raising the sampling rate based upon the application being classified as irregular. 6. The method of claim 1 , wherein the tensor adaptation technique comprises determining the quality of reconstruction is below the predetermined quality threshold; and wherein the adjusting the sampling rate comprises increasing the sampling rate. 7. The method of claim 1 , wherein the tensor adaptation technique comprises determining the quality of reconstruction is above the predetermined quality threshold; and wherein the adjusting the sampling rate comprises decreasing the sampling rate. 8. The method of claim 1 , wherein the building an output performance profile of the application comprises stitching together (i) the collected plurality of samples and (ii) the samples collected using the adjusted sampling rate. 9. The method of claim 1 , wherein the determining and the adjusting the sampling rate are triggered when the application transfers to a new function within the application. 10. An apparatus, comprising: at least one processor; and a computer readable storage medium having computer readable program code embodied therewith and executable by the at least one processor, the computer readable program code comprising: computer readable program code that identifies an application executing across a plurality of processors, wherein the application generates communication messages between a subset of the plurality of processors during execution; computer readable program code that collects, using a profiler, a plurality of samples of the communication messages, wherein the plurality of samples are collected at a sampling rate and wherein the collecting comprises interrupting the execution of the application to collect a sample; computer readable program code that determines, using an adaptive sampling technique, if the sampling rate comprises a sampling rate that is sufficiently low to reduce the interruptions to the execution of the application, while meeting a predetermined quality threshold, wherein the adaptive sampling techniques comprising a tensor adaptation technique comprising: generating a tensor comprising the collected plurality of samples, the generated tensor comprises a plurality of missing values, filling the plurality of missing values in the generated tensor by applying a tensor factorization technique to reconstruct the tensor, and comparing a quality of the reconstructed tensor to the predetermined quality threshold; computer readable program code that adjusts, based upon the sampling rate not comprising a sampling rate that is sufficiently low to reduce the interruptions while meeting the predetermined quality threshold, the sampling rate, and then collecting samples until the sampling rate comprises the sampling rate that is sufficiently low while meeting the predetermined quality threshold; and computer readable program code that builds, using the collected plurality of samples and the samples collected using the adjusted sampling rate, an output performance profile of the application. 11. A computer program product, comprising: a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code executable by a processor and comprising: computer readable program code that identifies an application executing across a plurality of processors, wherein the application generates communication messages between a subset of the plurality of processors during execution; computer readable program code that collects, using a profiler, a plurality of samples of the communication messages, wherein the plurality of samples are collected at a sampling rate and wherein the collecting comprises interrupting the execution of the application to collect a sample; computer readable program code that determines, using an adaptive sampling technique, if the sampling rate comprises a sampling rate that is sufficiently low to reduce the interruptions to the execution of the application, while meeting a predetermined quality threshold, wherein the adaptive sampling techniques comprises a tensor adaptation technique comprising: generating a tensor comprising the collected plurality of samples, the generated tensor comprises a plurality of missing values, filling the plurality of missing values in the generated tensor by applying a tensor factorization technique to reconstruct the tensor, and comparing a quality of the reconstructed tensor to the predetermined quality threshold; computer readable program code that adjusts, based upon the sampling rate not comprising a sampling rate that is sufficiently low to reduce t

Assignees

Inventors

Classifications

  • where the computing system component is a software system · CPC title

  • for performance assessment · CPC title

  • Analysis of software for verifying properties of programs (testing of software G06F11/3668) · CPC title

  • Monitoring of software · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10108522B1 cover?
One embodiment provides a method, including: identifying an application executing across a plurality of processors, wherein the application generates communication messages between the plurality of processors; collecting, using a profiler, a plurality of samples of the messages, wherein the plurality of samples are collected at a predetermined sampling rate and wherein the collecting comprises …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3409. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 23 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).