×

Migration of executing processes

  • US 10,042,621 B2
  • Filed: 08/08/2013
  • Issued: 08/07/2018
  • Est. Priority Date: 08/08/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method of live migration in a datacenter, wherein the method is performed under control of at least one hardware processor that is configured to execute instructions stored in a memory, the method comprising:

  • executing a process on a source instruction set architecture;

    just-in-time (JIT) compiling the process,wherein the JIT compiling includes;

    performing a first JIT compilation of the process on the source instruction set architecture to generate a thin binary of the process, source variables, and function stacks of functions utilized by the thin binary on the source instruction set architecture;

    storing, in accordance with the source instruction set architecture, the source variables and the function stacks of functions utilized by the thin binary on the source instruction set architecture;

    performing a second JIT compilation of the process on a destination instruction set architecture to generate destination variables and function stacks of functions utilized by the thin binary on the destination instruction set architecture;

    storing, in accordance with the destination instruction set architecture, the destination variables and the function stacks of functions utilized by the thin binary on the destination instruction set architecture; and

    mapping the source and destination variables and address stacks of the thin binary from both the source instruction set architecture and the destination instruction set architecture into a labeled form by performing;

    indirection dereferencing of source function addresses, from the function stacks of functions for the thin binary that executes on the source instruction set architecture, into a first lower level dictionary of the source instruction set architecture;

    indirection dereferencing of source variable addresses, from the source variables for the thin binary that executes on the source instruction set architecture, into the first lower level dictionary of the source instruction set architecture;

    indirection dereferencing of destination function addresses, from the function stacks of functions for the thin binary that executes on the destination instruction set architecture, into a second lower level dictionary stored on the destination instruction set architecture;

    indirection dereferencing of destination variable addresses, from the destination variables for the thin binary that executes on the destination instruction set architecture, into the second lower level dictionary stored on the destination instruction set architecture; and

    mapping, into the labeled form, the source function addresses and the source variable addresses to equivalent destination function addresses and destination variable addresses, and storing the mapped labeled form in a live migrator; and

    migrating the thin binary between the source instruction set architecture and the destination instruction set architecture using the mapped labeled form,wherein the mapping the source and destination variables and the address stacks of the thin binary facilitates transfer of state of the process, from the source instruction set architecture to the destination instruction set architecture, for migration of the thin binary between the source instruction set architecture and the destination instruction set architecture, using the mapped labeled form.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×