Thread Migration in the Presence of Pointers

Dynamic migration of lightweight threads supports both data locality and load balancing. However, migrating threads that contain pointers referencing data in both the stack and heap remains an open problem. In this paper we describe a technique by which threads with pointers referencing both stack a...

Full description

Bibliographic Details
Main Authors: David Cronk, Matthew Haines, Piyush Mehrotra
Other Authors: The Pennsylvania State University CiteSeerX Archives
Format: Text
Language:English
Published: IEEE 1997
Subjects:
Online Access:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.807
Description
Summary:Dynamic migration of lightweight threads supports both data locality and load balancing. However, migrating threads that contain pointers referencing data in both the stack and heap remains an open problem. In this paper we describe a technique by which threads with pointers referencing both stack and non-shared heap data can be migrated such that the pointers remain valid after migration. As a result, threads containing pointers can now be migrated between processors in a homogeneous distributed memory environment. This work was supported by the National Aeronautics and Space Administration under NASA contract No. NAS119480 while the authors were in residence at the Institute for Computer Applications in Science and Engineering (ICASE), NASA Langley Research Center, Hampton, VA 23681-0001. i 1 Introduction. A thread as a straightforward concept is a single independent sequential flow of control. A normal Unix process can generally be thought of as a single thread. Within a thread.