Preloading enhanced application startup
First Claim
1. A system comprising:
- a memory and a processor on a host;
a first copy of an executable program loaded in the memory at a first time, executing in a server mode on the processor to;
receive, by a first local socket associated with the first copy of the executable program, a first instruction to launch a second copy of the executable program, wherein the first copy of the executable program executing in the server mode preloads a plurality of shared libraries associated with the executable program to the memory and awaits instructions to launch additional copies of the executable program over the first local socket;
clone the first copy of the executable program to launch the second copy of the executable program, wherein the second copy of the executable program launches in an active mode, with a memory address space that includes the preloaded plurality of shared libraries, and the second copy of the executable program in the active mode performs processing tasks using the preloaded plurality of shared libraries;
launch, at a second time after the first time, a third copy of the executable program in the server mode, the third copy of the executable program being associated with a second local socket;
determine that the third copy of the executable program is running in the server mode; and
responsive to determining that the third copy of the executable program is running in the server mode, terminate the first copy of the executable program, wherein the third copy of the executable program executes to preload shared libraries of the plurality of shared libraries to different memory addresses from the first copy of the executable program,wherein the executable program is at least a part of one of a hypervisor and a compiler.
1 Assignment
0 Petitions
Accused Products
Abstract
Preloading enhanced application startup is disclosed. For example, a first local socket associated with a first copy of an executable program loaded in a memory receives a first instruction to launch a second copy of the executable program. The executable program executes in one of two modes, a server mode and an active mode, and the first copy of the executable program executes in the server mode. The first copy of the executable program is cloned to launch the second copy of the executable program, which is launched in the active mode. A third copy of the executable program associated with a second local socket is launched in the server mode. The third copy of the executable program is determined to be actively running, after which the first copy of the executable program is terminated.
34 Citations
19 Claims
-
1. A system comprising:
-
a memory and a processor on a host; a first copy of an executable program loaded in the memory at a first time, executing in a server mode on the processor to; receive, by a first local socket associated with the first copy of the executable program, a first instruction to launch a second copy of the executable program, wherein the first copy of the executable program executing in the server mode preloads a plurality of shared libraries associated with the executable program to the memory and awaits instructions to launch additional copies of the executable program over the first local socket; clone the first copy of the executable program to launch the second copy of the executable program, wherein the second copy of the executable program launches in an active mode, with a memory address space that includes the preloaded plurality of shared libraries, and the second copy of the executable program in the active mode performs processing tasks using the preloaded plurality of shared libraries; launch, at a second time after the first time, a third copy of the executable program in the server mode, the third copy of the executable program being associated with a second local socket; determine that the third copy of the executable program is running in the server mode; and responsive to determining that the third copy of the executable program is running in the server mode, terminate the first copy of the executable program, wherein the third copy of the executable program executes to preload shared libraries of the plurality of shared libraries to different memory addresses from the first copy of the executable program, wherein the executable program is at least a part of one of a hypervisor and a compiler. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19)
-
-
17. A method comprising:
-
receiving, by a first local socket associated with a first copy of an executable program loaded in a memory, a first instruction to launch a second copy of the executable program, wherein the first copy of the executable program executes in a server mode, and the first copy of the executable program is loaded in the memory at a first time, and wherein the first copy of the executable program executing in the server mode preloads a plurality of shared libraries associated with the executable program to the memory and awaits instructions to launch additional copies of the executable program over the first local socket; cloning the first copy of the executable program to launch the second copy of the executable program, wherein the second copy of the executable program launches in an active mode, with a memory address space that includes the preloaded plurality of shared libraries, and the second copy of the executable program in the active mode performs processing tasks using the preloaded plurality of shared libraries; in response to at least one of an elapsed time and a quantity of instructions handled by the first copy of the executable program, launching, at a second time after the first time, a third copy of the executable program in the server mode, the third copy of the executable program being associated with a second local socket; determining that the third copy of the executable program is running in the server mode; and responsive to determining that the third copy of the executable program is running in the server mode, terminating the first copy of the executable program, wherein the third copy of the executable program executes to preload shared libraries of the plurality of shared libraries to different memory addresses from the first copy of the executable program.
-
-
18. A computer-readable non-transitory storage medium storing executable instructions, which when executed by a computer system, cause the computer system to:
-
receive, by a first local socket associated with a first copy of an executable program loaded in a memory, a first instruction to launch a second copy of the executable program, wherein the first copy of the executable program executes in a server mode, and the first copy of the executable program is loaded in the memory at a first time, and wherein the first copy of the executable program executing in the server mode preloads a plurality of shared libraries associated with the executable program to the memory and awaits instructions to launch additional copies of the executable program over the first local socket; clone the first copy of the executable program to launch the second copy of the executable program, wherein the second copy of the executable program launches in an active mode, with a memory address space that includes the preloaded plurality of shared libraries, and the second copy of the executable program in the active mode performs processing tasks using the preloaded plurality of shared libraries; launch, at a second time after the first time, a third copy of the executable program in the server mode, the third copy of the executable program being associated with a second local socket; determine that the third copy of the executable program is running in the server mode; and responsive to determining that the third copy of the executable program is running in the server mode, terminate the first copy of the executable program, wherein the third copy of the executable program executes to preload shared libraries of the plurality of shared libraries to different memory addresses from the first copy of the executable program, wherein the executable program is at least a part of one of a hypervisor and a compiler.
-
Specification