EP1569112A2

System and method for dynamically and persistently tracking incremental profiling data in a process cloning application environment

Abstract

A system and method for dynamically and persistently tracking incremental profiling data in a process cloning application environment is presented. A master runtime system process is executed. A memory space of the master runtime system process is cloned as a child runtime system process responsive to a process request. The child runtime system process is executed. The execution of the child runtime system process is profiled by collecting profiling data incrementally. The child runtime system process profiles are fed back to the master runtime system process to benefit subsequent cloned child runtime system processes. In a further embodiment, the child runtime system process profiles are maintained in a persistent storage for use by the master runtime system process upon the next start up.

EP1569112A2, drawing sheet 1
Sheet 1 of 11

Term

Term ended

Projected expiry passed 21 December 2024, 1.8 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

22 claims: 4 independent, 18 dependent

  1. 1
    A system for dynamically and persistently tracking incremental profiling data in a process cloning application environment, comprising:a runtime environment to clone a memory space of an executing master runtime system process as a child runtime system process responsive to a process request and to execute the child runtime system process;and a collector to profile the execution of the child runtime system process by collecting profiling data incrementally.
  2. 2
    A system according to Claim 1, further comprising:a memory buffer defined in a memory space of the child runtime system process to store the profiling data transiently.
  3. 3
    A system according to Claim 2, wherein the runtime environment communicates the profiling data periodically from the memory buffer to an executing application manager process.
  4. 4
    A system according to Claim 3, further comprising:a profiling execution thread maintained in the child runtime system process, wherein the system is responsive to a data request from the application manager process to provide the profiling data via the profiling execution thread.
  5. 5
    A system according to Claim 4, wherein the profiling execution thread comprises an inter-process communication mechanism.
  6. 6
    A system according to any of Claims 3 to 5, wherein the profiling data is reset upon completing the communication to the application manager process.
  7. 8
    A system according to Claim 7, wherein the runtime environment communicates the profiling data from the file to an executing application manager process.
  8. 11
    A system according to Claim 10, further comprising:a file manager to store the master warmup program persistently in a file upon termination of the execution of an executing application manager process, wherein the runtime environment retrieves the master warmup program from the file, and interprets, instantiates and warms up the master warmup program into a memory space of an executing further master runtime system process.
  9. 12
    A system according to Claim 11, wherein the runtime environment clones the memory space of the further master runtime system process as a further child runtime system process responsive to a process request and executes the further child runtime system process.
  10. 13
    A system according to Claim 10, further comprising:an application manager program to dynamically update the master warmup program during execution of the master runtime system process, wherein the runtime environment interprets, instantiates and warms up the master warmup program into the memory space of the master runtime system process.
  11. 16
    A system according to any of Claims 1 to 14, further comprising:a copy-on-write process cloning mechanism to instantiate the child runtime system process by copying references to the memory space of the master runtime system process into a separate memory space for the child runtime system process, and to defer copying of the memory space of the master runtime system process until the child runtime system process needs to modify the referenced memory space of the master runtime system process.
  12. 20
    A system according to Claim 19, wherein the master runtime system process and the child runtime system process are Java virtual machines.
  13. 21
    A method for dynamically and persistently tracking incremental profiling data in a process cloning application environment, comprising:cloning within a runtime environment a memory space of an executing master runtime system process as a child runtime system process responsive to a process request;executing the child runtime system process within the runtime environment;and profiling within a collector the execution of the child runtime system process by collecting profiling data incrementally.