UPC is a parallel programming language based on the concept of partitioned shared memory. There are now several UPC compilers available and several different parallel architectures that support one or more of these compilers. This paper is the first to compare the performance of most of the currently available UPC implementations on several commonly used… (More)
MuPC is a portable runtime system for Unified Parallel C (UPC). A modified version of the EDG C/C++ front end translates the user's UPC program into C and turns UPC-specific language features into calls to MuPC runtime functions. MuPC implements each UPC thread (process) as two Pthreads, one for the user program and private memory accesses, and the other… (More)
— Resource discovery is the process of locating shared resources on a computer network. Previously studied examples include efficiently finding files with a given title on a file sharing system. New developments in the application of networked computers raise the issue of dynamic resource discovery, the process of locating shared resources that are always… (More)
3 Multi-step majority logic decoding and the modified finite geometry designs. 39
Date To Mom, Dad, Omar and Mr. Pierre Chaoul – my high school math and computer science professor. Their love, support and knowledge made this work see light. I owe them what I am now.
Date To my parents and my wife
An important problem in computational biology is finding the longest common subsequence (LCS) of two nucleotide sequences. This paper examines the correctness and performance of a recently proposed parallel LCS algorithm that uses successor tables and pruning rules to construct a list of sets from which an LCS can be easily reconstructed. Counterexamples… (More)
There are several alternative MPI implementations available to parallel application developers. LAM MPI and MPICH are the most common. System vendors also provide their own implementations of MPI. Each version of MPI has options that can be tuned to best t the characteristics of the application and platform. The parallel application developer needs to know… (More)