Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Gregory D. Benson is active.

Publication


Featured researches published by Gregory D. Benson.


Lecture Notes in Computer Science | 2003

A Comparison of MPICH Allgather Algorithms on Switched Networks

Gregory D. Benson; Cho-Wai Chu; Qing Huang; Sadik G. Caglar

This study evaluates the performance of MPI_Allgather() in MPICH 1.2.5 on a Linux cluster. This implementation of MPICH improves on the performance of allgather compared to previous versions by using a recursive doubling algorithm. We have developed a dissemination allgather based on the dissemination barrier algorithm. This algorithm takes log2 p stages for any values of p. We experimentally evaluate MPICH allgather and our implementations on a Linux cluster of dual-processor nodes using both TCP over FastEthernet and GM over Myrinet. We show that on Myrinet, variations of the dissemination algorithm perform best for both large and small messages. However, when using TCP, the dissemination allgather algorithm performs poorly because data is not exchanged in a pair-wise fashion. Therefore, we recommend the dissemination allgather for low-latency switched networks.


Computer Languages, Systems & Structures | 2002

Fairness in shared invocation servicing

Ronald A. Olsson; Gregory D. Benson; Tingjian Ge; Aaron W. Keen

Invocation servicing is an important aspect of many concurrent programming languages. Some invocation handling mechanisms allow for multiway servicing by multiple processes. This paper addresses fairness with respect to choosing which invocation to service and fairness with respect to choosing which process to perform the servicing. It examines how these fairness issues have been resolved in the SR concurrent programming language. This paper presents a new approach that eliminates several key restrictions. The new approach has been implemented in JR, an extended Java that includes SR-like synchronization mechanisms. This paper discusses design and implementation issues and tradeoffs.


theorem proving in higher order logics | 1993

Mechanizing a Programming Logic for the Concurrent Programming Language microSR in HOL

Cui Zhang; Robert J. Shaw; Ronald A. Olsson; Karl N. Levitt; Myla Archer; Mark R. Heckman; Gregory D. Benson

This paper presents our current effort to formally derive, using HOL, a sound Hoare logic for the concurrent programming language microSR, a derivative of SR. Our methodology is built on Gordons work on mechanizing programming logics for a small sequential programming language. The constructs of microSR include those basic to common sequential programming languages, in addition to an asynchronous send statement, a synchronous receive statement, a guarded communication input statement, and a co statement for specifying concurrent execution. This language has the appearance of a high-level system programming language that supports distributed applications. The Hoare logic for microSR with concurrency features presented in this paper has been formally proven to be sound within HOL. The logic we derived allows one to reason and state formal assertions about concurrently executing processes that do not share any data objects, but communicate through shared channels.


Archive | 1996

The Design of Microkernel Support for the Sr Concurrent Programming Language

Gregory D. Benson; Ronald A. Olsson

In general, networked and distributed operating systems are still programmed using a sequential language like C, even though the underlying programming model is that of multithreaded programs that communicate using some form of message passing. In a distributed environment it is more natural to program using a distributed programming language. In addition, distributed languages do not map well to traditional operating systems. The new, minimal kernel, or micro-kernel, operating systems provide an opportunity to efficiently support distributed languages. This paper explores different ways to provide support for the SR concurrent programming language on the Mach microkemel.


international parallel and distributed processing symposium | 2008

State management for distributed Python applications

Gregory D. Benson

We present a novel state management mechanism that can be used to capture the complete execution state of distributed Python applications. This mechanism can serve as the foundation for a variety of dependability strategies including checkpointing, replication, and migration. Python is increasingly used for rapid prototyping parallel pro grams and, in some cases, used for high-performance application development using libraries such as NumPy. Building on Stackless Python and the River parallel and distributed programming environment, we have developed mechanisms for state capture at the language level. Our approach allows for migration and checkpointing of applications in heterogeneous environments. In addition, we allow for preemptive state capture so that programmers need not introduce explicit snapshot requests. Our mechanism can be extended to support application or domain-specific state capture. To our knowledge, this is the first general checkpointing scheme for Python. We describe our system, the implementation, and give some initial performance figures.


Lecture Notes in Computer Science | 1998

A Framework for Specializing Threads in Concurrent Run-Time Systems

Gregory D. Benson; Ronald A. Olsson

Many thread packages support only a limited number target configurations and are generally inflexible with respect to scheduling. Even configurable thread packages distance core thread operations and thread state from client code. In addition, most thread implementations duplicate some of the functionality found in concurrent language run-time systems. To address these limitations, we have developed the Mezcla thread framework. Unlike conventional thread packages, Mezcla enables a language implementor to generate specialized, light-weight thread systems based on the requirements of the run-time system and the functionality of the target platform. This paper presents several current techniques for implementing threads in concurrent run-time systems and evaluates their effectiveness. We then describe our experience with threads in the SR concurrent programming language. Finally, we present the design and implementation of the Mezcla thread framework with some preliminary performance results.


Lecture Notes in Computer Science | 2003

The Performance of Parallel Disk Write Methods for Linux Multiprocessor Nodes

Gregory D. Benson; Kai Long; Peter S. Pacheco

We experimentally evaluate several methods for implementing parallel computations that interleave a significant number of contiguous or strided writes to a local disk on Linux-based multiprocessor nodes. Using synthetic benchmark programs written with MPI and Pthreads, we have acquired detailed performance data for different application characteristics of programs running on dual processor nodes. In general, our results show that programs that perform a significant amount of I/O relative to pure computation benefit greatly from the use of threads, while programs that perform relatively little I/O obtain excellent results using only MPI. For a pure MPI approach, we have found that it is usually best to use two writing processes with mmap(). For Pthreads it is usually best to use two writing processes, write() for contiguous data, and writev() for strided data. Codes that use mmap() tend to benefit from periodic syncs of the data of the data to the disk, while codes that use write() or writev() tend to have better performance with few syncs. A straightforward use of ROMIO usually does not perform as well as these direct approaches for writing to the local disk.


Archive | 1997

A Portable Run-Time System for the SR Concurrent Programming Language

Gregory D. Benson; Ronald A. Olsson


parallel and distributed processing techniques and applications | 2007

Communication with Super Flexible Messaging.

Alexey S. Fedosov; Gregory D. Benson


parallel and distributed processing techniques and applications | 2007

Python-based Distributed Programming with Trickle

Gregory D. Benson; Alexey S. Fedosov

Collaboration


Dive into the Gregory D. Benson's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alexey S. Fedosov

University of San Francisco

View shared research outputs
Top Co-Authors

Avatar

Cui Zhang

University of California

View shared research outputs
Top Co-Authors

Avatar

Karl N. Levitt

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Myla Archer

University of California

View shared research outputs
Top Co-Authors

Avatar

Peter S. Pacheco

University of San Francisco

View shared research outputs
Top Co-Authors

Avatar

Koen Langendoen

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Aaron W. Keen

California Polytechnic State University

View shared research outputs
Top Co-Authors

Avatar

Cho-Wai Chu

University of San Francisco

View shared research outputs
Researchain Logo
Decentralizing Knowledge