John K. Bennett
University of Colorado Boulder
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by John K. Bennett.
symposium on operating systems principles | 1991
John B. Carter; John K. Bennett; Willy Zwaenepoel
Munin is a distributed shared memory (DSM) system that allows shared memory parallel programs to be executed efficiently on distributed memory multiprocessors. Munin is unique among existing DSM systems in its use of multiple consistency protocols and in its use of release consistency. In Munin, shared program variables are annotated with their expected access pattern, and these annotations are then used by the runtime system to choose a consistency protocol best suited to that access pattern. Release consistency allows Munin to mask network latency and reduce the number of messages required to keep memory consistent. Munins multiprotocol release consistency is implemented in software using a delayed update queue that buffers and merges pending outgoing writes. A sixteen-processor prototype of Munin is currently operational. We evaluate its implementation and describe the execution of two Munin programs that achieve performance within ten percent of message passing implementations of the same programs. Munin achieves this level of performance with only minor annotations to the shared memory programs.
acm sigplan symposium on principles and practice of parallel programming | 1990
John K. Bennett; John B. Carter; Willy Zwaenepoel
We are developing Munin, a system that allows programs written for shared memory multiprocessors to be executed efficiently on distributed memory machines. Munin attempts to overcome the architectural limitations of shared memory machines, while maintaining their advantages in terms of ease of programming. Our system is unique in its use of loosely coherent memory, based on the partial order specified by a shared memory parallel program, and in its use of type-specific memory coherence. Instead of a single memory coherence mechanism for all shared data objects, Munin employs several different mechanisms, each appropriate for a different class of shared data object. These type-specific mechanisms are part of a runtime system that accepts hints from the user or the compiler to determine the coherence mechanism to be used for each object. This paper focuses on the design and use of Munins memory coherence mechanisms, and compares our approach to previous work in this area.
ACM Transactions on Computer Systems | 1995
John B. Carter; John K. Bennett; Willy Zwaenepoel
Distributed shared memory (DSM) is an abstraction of shared memory on a distributed-memory machine. Hardware DSM systems support this abstraction at the architecture level; software DSM systems support the abstraction within the runtime system. One of the key problems in building an efficient software DSM system is to reduce the amount of communication needed to keep the distributed memories consistent. In this article we present four techniques for doing so: software release consistency; multiple consistency protocols; write-shared protocols; and an update-with-timeout mechanism. These techniques have been implemented in the Munin DSM system. We compare the performance of seven Munin application programs: first to their performance when implemented using message passing, and then to their performance when running on a conventional software DSM system that does not embody the preceding techniques. On a 16-processor cluster of workstations, Munins performance is within 5% of message passing for four out of the seven applications. For the other three, performance is within 29 to 33%. Detailed analysis of two of these three applications indicates that the addition of a function-shipping capability would bring their performance to within 7% of the message-passing performance. Compared to a conventional DSM system, Munin achieves performance improvements ranging from a few to several hundred percent, depending on the application.
Molecular Breeding | 1997
Behzad Ghareyazie; Faramarz Alinia; Corazon A. Menguito; Leila G. Rubia; Justina M. de Palma; Evelyn Liwanag; Michael B. Cohen; G. S. Khush; John K. Bennett
Rice cultivars of isozyme group V include high-quality, aromatic rices that are difficult to improve by traditional methods because of the loss of quality characters upon sexual hybridization. Their low-tillering plant type predisposes them to economic loss from attack by stem borers, a group of insects to which they are susceptible. We report here the enhancement of stem borer resistance in cv. Tarom Molaii through transformation by microprojectile bombardment. Embryogenic calli derived from mature seeds were bombarded with gold particles coated with plasmid pCIB4421, carrying a synthetic truncated toxin gene based on the cryIA(b) gene from Bacillus thuringiensis, and plasmid pHygII, carrying the hygromycin phosphotransferase (hpt) selectable marker gene. Inclusion of 50 mg/l hygromycin B in culture media from bombardment through to rooting of plantlets eliminated escapes. The procedure generated three independent hpt transformants of which two also contained the cryIA(b) gene. One such line (No. 827) produced truncated (67 kDa) CryIA(b) protein equivalent to about 0.1% of total soluble protein. The cryIA(b) gene was controlled by the promoter of the maize C4 PEP carboxylase gene and was expressed in leaf blades but was not expressed to a detectable level in dehulled mature grain. Line 827 contained about 3 copies of the cryIA(b) gene which segregated as a single dominant Mendelian locus in the second (T1) and third (T2) generations and co-segregated with enhanced resistance to first-instar larvae of striped stem borer (Chilo suppressalis) and yellow stem borer (Scirpophaga incertulas). T2 line 827-6 homozygous for the cryIA(b) gene showed no dead hearts or whiteheads after infestation with stem borers, whereas T2 line 827-25 lacking the gene averaged 7 dead hearts per plant and 2.25 whiteheads per plant. These results establish that transformation of high-quality rices of group V is a feasible alternative to sexual hybridization.
conference on object oriented programming systems languages and applications | 1987
John K. Bennett
Distributed Smalltalk (DS) is an implementation of Smalltalk that allows objects on different machines to send and respond to messages. It also provides some capability for sharing objects among users. The distributed aspects of the system are largely user transparent and preserve the reactive quality of Smalltalk objects. Distributed Smalltalk is currently operational on a network of Sun workstations. The implementation includes an incremental distributed garbage collector and support for remote debugging, access control, and object mobility. This paper concentrates on the important design issues encountered and some of the more interesting implementation details. Performance measurements of the current implementation are included.
international conference on supercomputing | 1999
Evan Speight; Hazim Abdel-Shafi; John K. Bennett
The Virtual Interface (VI) Architecture provides pr otected userlevel communication with high delivered bandwidth a nd low permessage latency, particularly for small messages. The VI Architecture attempts to reduce latency by eliminat ing user/kernel transitions on routine data transfers and by allowi ng direct use of user memory for network buffering. This results in significantly lower latencies than those achieved by network prot ocols such as TCP/IP and UDP. In this paper we examine the low-le vel performance of two VI implementations, one implemen ted in hardware, the other implemented in device driver so ftware. Using a set of low-level benchmarks, we measure bandwidth , la ency, and processor utilization as a function of message siz for the GigaNet cLAN and Tandem ServerNet VI implementation s. We report that both VI implementations offer significa nt performance advantage relative to the corresponding UDP impleme ntation on the same hardware. We also investigate the problem s associated with delivering this performance to distributed app lications running on clustered multiprocessor workstations. Using an existing MPI library implemented using UDP as a bas eline, we explore several performance and implementation issu es that arise when adapting this library to use VI instead of UDP . Among these issues are memory registration costs, polling vs. blocking, reliability of delivery, and memory-to-memory copyi ng. By eliminating explicit acknowledgements, reducing mem ory-tomemory copying, and choosing the most appropriate synchronization primitives, we reduced the message l tency seen by user applications by an average of 55% across al l message sizes. We also identify several areas that offer t h potential for further performance enhancement.
information and communication technologies and development | 2012
Leslie L. Dodson; S. Revi Sterling; John K. Bennett
This paper examines forty articles published in the journal Information Technologies & International Development between 2003 and 2010 in an effort to identify commonalities among projects that failed to meet some or all of their development objectives. We considered whether the selected papers articulated clear development objectives, and whether baseline data was used to inform project design. We then considered two factors associated with how development objectives are implemented: the development perspective (top-down vs. bottom-up), and the project focus (the technology vs. the community). Our goal was not to find fault with our colleagues or their work, rather to advance the debate about the effectiveness of ICTD initiatives at a particularly important point in the history of the discipline. We conclude that top-down, technology-centric, goal-diffuse approaches to ICTD contribute to unsatisfactory development results. Careful consideration of development objectives, perspective and focus is essential in all phases of an ICTD project, from design to deployment. Honest and comprehensive reporting of failure (and success) helps ICTD researchers and practitioners focus on best practices in meeting critical development needs.
IEEE Transactions on Robotics | 2008
Brian Shucker; Todd D. Murphey; John K. Bennett
Stability analysis of decentralized control mechanisms for networked coordinating systems has generally focused on specific controller implementations, such as nearest-neighbor and other types of proximity graph control laws. This approach often misses the need for the addition of other control structures to improve global characteristics of the network. An example of such a situation is the use of a Gabriel graph, which is essentially a nearest-neighbor rule modified to ensure global connectivity of the network if the agents are pairwise connected through their sensor inputs. We present a method of ensuring provable stability of decentralized switching systems by employing a hysteresis rule that uses a zero-sum consensus algorithm. We demonstrate the application of this result to several special cases, including nearest-neighbor control laws, Gabriel graph rules, diffuse target tracking, and hierarchical heterogeneous systems.
Archive | 2007
Brian Shucker; John K. Bennett
This paper describes a control mechanism by which large numbers of inexpensive robots can be deployed as a distributed remote sensing instrument, and in which the desired large-scale properties of the sensing instrument emerge from the simple pair-wise interactions of its component robots. Such sensing instruments are called distributed robotic macrosensors. Robots in the macrosensor interact with their immediate neighbors using a virtual spring mesh abstraction, which is governed by a simple physics model. By carefully defining the nature of the spring mesh and the associated physics model, it is possible to create a number of desirable global behaviors without any global control or configuration. Properties of the resulting macrosensor include arbitrary scalability, the ability to function in complex environments, sophisticated target tracking ability, and natural fault tolerance. We describe the control mechanisms that yield these results, and the simulation results that demonstrate their efficacy.
high-performance computer architecture | 1998
Evan Speight; John K. Bennett
This paper examines the performance benefits of employing multicast communication and application-level multithreading in the Brazos software distributed shared memory (DSM) system. Application-level multithreading in Brazos allows programs to transparently take advantage of available local multiprocessing. Brazos uses multicast communication to reduce the number of consistency-related messages, and employs two adaptive mechanisms that reduce the detrimental side effects of using multicast communication. We compare three software DSM systems running on identical hardware: (1) a single-threaded point-to-point system, (2) a multithreaded point-to-point system, and (3) Brazos, which incorporates both multithreading and multicast communication. For the six applications studied, multicast and multithreading improve speedup on eight processors by an average of 38%.