Multithreading in distributed-memory systems and simulation: Design, implementation, and experiments
Abstract
This dissertation focuses on design and implementation issues of a multithreaded parallel programming paradigm for distributed-memory systems. One of the features of the multithreaded model is a thread migration capability, primarily used to balance loads across processors and increase data locality of reference. We have implemented two prototype multithreaded packages: one is realized through a set of functions containing minimal assembly code and another is based mainly on compile-time program transformations. Since the latter can transform a thread's physical states into logical forms, it makes thread migration in heterogeneous distributed environments feasible. A process-oriented simulation system has been designed and implemented based on the threads libraries. We have proposed two efficient algorithms for the simulation of round-robin and processor sharing simulation disciplines. A novel mobile-process approach has also been proposed for parallelizing process-oriented simulation systems. This approach entails the migration of a requesting process with its timestamp to the remote site hosting the requested passive object. As a result, the migrant process can make subsequent accesses of the object locally and continue execution transparently, as if on its original host.
Degree
Ph.D.
Advisors
Rego, Purdue University.
Subject Area
Computer science
Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server.