Adaptive hardware configuration for data analytics

US2018314533A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018314533-A1
Application numberUS-201715581219-A
CountryUS
Kind codeA1
Filing dateApr 28, 2017
Priority dateApr 28, 2017
Publication dateNov 1, 2018
Grant date

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.

A computer-implemented method uses a predictive time-sequence model to adapt hardware configurations at run-time for an application including multiple stages of execution. At each stage a system monitor is started at the launch of a first task in a first run to collect performance data. The system monitor is stopped at the completion of a last task in the first run, then a predictive optimal configuration is computed and applied to the remaining runs in the stage.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer-implemented method for improving performance of applications by adapting a hardware configuration at run-time, the computer-implemented method comprising: receiving as input to a predictive time-sequence model, a run-time configuration for an application comprising multiple stages of execution, each stage comprising a plurality of runs of parallel tasks run by executor nodes; and for each stage: starting a system monitor at launch of a first task in a first run, wherein the system monitor collects performance data on hardware and software events using a performance monitoring tool; stopping the system monitor upon completion of a last task in the first run; obtaining a performance vector of hardware and software events from the system monitor; using prediction models, computing a predictive optimal configuration for remaining runs in the stage as a function of the run-time configuration and the performance vector; applying the predictive optimal configuration to dynamically adjust the run-time configuration for the remaining runs in the stage; and storing parameters for the predictive optimal configuration in a repository. 2 . The computer-implemented method of claim 1 wherein receiving the run-time configuration comprises receiving hardware metrics for simultaneous multi-threading and hardware prefetch within a cluster computing framework. 3 . The computer-implemented method of claim 1 further comprising: using training applications previously run on a sampling of hardware configurations, building the prediction models with machine learning algorithms and statistics from hardware performance counters. 4 . The computer-implemented method of claim 3 wherein building the prediction models comprises: applying performance vectors to the training applications with a plurality of hardware configurations to determine the hardware configuration that yields a fastest processing time; and using a machine learning algorithm, establishing the hardware configuration that yields a fastest processing time as a benchmark. 5 . The computer-implemented method of claim 1 further comprising inserting a first hook function at a scheduler node of a software stack on which the application is run to identify an executor node registered to run the first task. 6 . The computer-implemented method of claim 5 further comprising: once the executor node registered to run the first task is identified, inserting a second hook function for starting the system monitor in a background layer of the executor node; and as executor nodes for remaining tasks are identified, inserting a third hook function for stopping the system monitor. 7 . The computer-implemented method of claim 1 wherein applying the predictive optimal configuration to dynamically adjust the run-time configuration comprises binding an executor node to a processor core. 8 . The computer-implemented method of claim 7 further comprising maintaining high-performing executor nodes while shutting down lower-performing executor nodes. 9 . The computer-implemented method of claim 1 wherein the predictive time-sequence model is based on a limited state machine. 10 . An information processing system for improving performance of applications by adapting a hardware configuration, comprising: a processor device; and a memory operably coupled with the processor device and storing computer-executable instructions causing a computer to perform: receiving as input to a predictive time-sequence model, a run-time configuration for an application comprising multiple stages of execution, each stage comprising a plurality of runs of parallel tasks run by executor nodes; and for each stage: starting a system monitor at launch of a first task in a first run, wherein the system monitor collects performance data on hardware and software events using a performance monitoring tool; stopping the system monitor upon completion of a last task in the first run; obtaining a performance vector of hardware and software events from the system monitor; using prediction models, computing a predictive optimal configuration for remaining runs in the stage as a function of the run-time configuration and the performance vector; applying the predictive optimal configuration to dynamically adjust the run-time configuration for the remaining runs in the stage; and storing parameters for the predictive optimal configuration in a repository. 11 . The information processing system of claim 10 wherein the run-time configuration comprises hardware metrics for simultaneous multi-threading and hardware prefetch within a cluster computing framework. 12 . The information processing system of claim 10 wherein the prediction models are built with machine learning algorithms and statistics from hardware performance counters using training applications previously run on a sampling of hardware configurations. 13 . The information processing system of claim 12 further comprising: performance vectors applied to the training applications across a plurality of hardware configurations to determine the hardware configuration that yields a fastest processing time; and a machine learning algorithm used to establish the hardware configuration that yields the fastest processing time as a benchmark. 14 . The information processing system of claim 10 further comprising: a first hook function inserted at a scheduler node of the application to identify an executor node registered to run the first task. 15 . The information processing system of claim 14 further comprising: a second hook function for starting the system monitor, the second hook function inserted in a background layer of the executor node once the executor node registered to run the first task is identified; and a third hook function for stopping the system monitor, the third hook function inserted once the executor nodes for remaining tasks are identified. 16 . The information processing system of claim 15 wherein the computer-executable instructions further cause the computer to perform maintaining high-performing executor nodes while shutting down lower-performing executor nodes. 17 . The information processing system of claim 10 wherein applying the predictive optimal configuration to dynamically adjust the run-time configuration comprises binding an executor node to a processor core. 18 . The information processing system of claim 10 wherein the predictive time-sequence model is based on a limited state machine. 19 . A computer program product for improving performance of applications by adapting a hardware configuration at run-time, the computer program product comprising: a non-transitory computer readable storage medium readable by a processing device and storing instructions for execution by the processing device for performing a method comprising: receiving as input to a predictive time-sequence model, a run-time configuration for an application comprising multiple stages of execution, each stage comprising a plurality of runs of parallel tasks run by executor nodes; and for each stage: starting a system monitor at launch of a first task in a first run, wherein the system monitor collects performance data on hardware and software events using a performance monitoring tool; stopping the system monitor upon completion of a last task in the first run; obtaining a performance vector of hardware and software events from the system monitor; using prediction models, computing

Assignees

Inventors

Classifications

  • Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound · CPC title

  • involving simulating, designing, planning or modelling of a network · CPC title

  • Machine learning · CPC title

  • Benchmarking · CPC title

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · 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 US2018314533A1 cover?
A computer-implemented method uses a predictive time-sequence model to adapt hardware configurations at run-time for an application including multiple stages of execution. At each stage a system monitor is started at the launch of a first task in a first run to collect performance data. The system monitor is stopped at the completion of a last task in the first run, then a predictive optimal co…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/44505. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Nov 01 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).