Browse Prior Art Database

Distributed Execution Context for Providing a Thread with a Scalable Address Space

IP.com Disclosure Number: IPCOM000248451D
Publication Date: 2016-Nov-30
Document File: 4 page(s) / 53K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method of distributed data processing by a virtual machine having an original virtual address range and being operable on a first computer.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 36% of the total text.

Page 01 of 4

Distributed Execution Context for Providing a Thread with a Scalable Address Space

Moore's law appears to be losing its effect in recent years [1], yet a need remains for ever larger software systems to be built. Distributed applications are being deployed in cloud environments [2] to spread workloads across multiple computers. Processes designed to run on separate nodes can exchange data via distributed shared memory schemes [3]. However, most distributed applications must be built from the ground up

with the distribution scheme in mind, often atop a platform that is specialized for distributed applications [e.g., 4] and that requires specific training [5] and skill [6], [7].

Although some systems exist that allow a conventional multithreaded program to be distributed, unbeknownst to it, by arranging for separate threads of execution to automatically run on separate computing nodes [8], the prior art is nevertheless missing several important aspects.

A system and method are needed that:


• Allow for a single-threaded process to automatically run on multiple nodes in parallel for the purpose of scaling beyond the memory (and other resources) available on a single node


• Provide an address range that appears consistent to all threads of a multithreaded process and that scales across nodes


• Synchronize node behavior in the context of distributing execution of a single thread, without significantly impacting the thread's performance either standalone or in conjunction with other threads and processes

The novel contribution is a method of distributed data processing by a virtual machine having an original virtual address range and being operable on a first computer.

The solution determines an extended virtual address range to be made available to an original instance of the virtual machine. It allocates virtual memory on a second computer to accommodate the extended virtual address range. This creates, on the second computer, a clone instance of the virtual machine having the extended virtual address range and being otherwise similar to the original instance of the virtual machine. The implemented system can determine that a thread executing on the original instance of the virtual machine requires access to the extended virtual address range. In response to the determination, the system can halt execution of the thread on the original instance of the virtual machine and initiate execution of an equivalent thread on the clone instance of the virtual machine.

In addition, the method includes determining that the equivalent thread on the clone instance of the virtual machine requires access to the original virtual address range. In response to the determination, the system halts execution of the equivalent thread on the clone instance of the virtual machine, copies state data from the second computer to the first computer, and resumes execution of the thread on the original instance of the virtual machine.

Further, the method incl...