Network


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

Hotspot


Dive into the research topics where John Werth is active.

Publication


Featured researches published by John Werth.


IEEE Transactions on Software Engineering | 1990

Experimental evaluation of a reusability-oriented parallel programming environment

James C. Browne; Taejae Lee; John Werth

Reports on the initial experimental evaluation of ROPE (reusability-oriented parallel programming environment), a software component reuse system. ROPE helps the designer find and understand components by using a new classification method called structured relational classification. ROPE is part of a development environment for parallel programs which uses a declarative/hierarchical graphical programming interface. This interface allows use of components with different levels of abstraction, ranging from design units to actual code modules. ROPE supports reuse of all the component types defined in the development environment. Programs developed with the aid of ROPE were found to have error rates far less than those developed without ROPE. >


IEEE Transactions on Parallel and Distributed Systems | 1997

Heuristics for scheduling I/O operations

Ravi Jain; Kiran Somalwar; John Werth; James C. Browne

The I/O bottleneck in parallel computer systems has recently begun receiving increasing interest. Most attention has focused on improving the performance of I/O devices using fairly low level parallelism in techniques such as disk striping and interleaving. Widely applicable solutions, however, will require an integrated approach which addresses the problem at multiple system levels, including applications, systems software, and architecture. We propose that within the context of such an integrated approach, scheduling parallel I/O operations will become increasingly attractive and can potentially provide substantial performance benefits. We describe a simple I/O scheduling problem and present approximate algorithms for its solution. The costs of using these algorithms in terms of execution time, and the benefits in terms of reduced time to complete a batch of I/O operations, are compared with the situations in which no scheduling is used, and in which an optimal scheduling algorithm is used. The comparison is performed both theoretically and experimentally. We have found that, in exchange for a small execution time overhead, the approximate scheduling algorithms can provide substantial improvements in I/O completion times.


Journal of Parallel and Distributed Computing | 1992

Scheduling parallel I/O operations in multiple bus systems

Ravi Jain; Kiran Somalwar; John Werth; James C. Browne

Abstract The I/O subsystem was one of the first areas of computer system design to incorporate parallelism. However, enhancement of the parallelism of I/O systems has received little attention in parallel system design. There has been almost no study of the benefit of scheduling parallel I/O operations to increase the multiprocessor system performance. An I/O transfer typically requires a processor or memory, a channel, and an external memory device simultaneously. Parallel I/O thus requires scheduling multiple resources simultaneously, rather than a single resource serially. This paper presents an algorithm for optimal scheduling of batched parallel I/O requests for a common class of shared memory multiprocessors. The algorithm is essentially an optimal k-coloring of a bipartite graph with arbitrary edge weights, where the vertices represent processors and memories and the edges represent I/O transfers. The best previously known k-coloring algorithm has running time O(n5). We show a series of improvements to obtain an algorithm with a running time O(n3(log n + log K)), where n is the number of vertices and K is the maximum edge weight, i.e., the length of the longest I/O transfer. We conclude with an experimental study of the performance of the algorithms.


international conference on communications | 1997

Scheduling on airdisks: efficient access to personalized information services via periodic wireless data broadcast

Veena Gondhalekar; Ravi Jain; John Werth

There has been considerable interest in delivering information to distributed mobile clients via wireless broadcast. Information transmitted periodically over wireless media can be regarded as a virtual disk, which we call an airdisk, analogous to a standard magnetic disk. Airdisks offer an efficient mechanism for delivering personalized information services to mobile clients with portable or laptop computers by broadcasting data and allowing clients to filter out the items of interest to them. We study the problem of scheduling the order in which data items are broadcast so as to minimize the access time of the clients, focusing on the case where the server inserts an index at the start of the broadcast period. We observe that the problem is analogous to that of determining how data should be laid out on the disk, and show that the problem is in general NP-complete. We develop a branch-and-bound procedure for solving the problem optimally, and then develop a fast, simple heuristic. The results of our simulation experiments show that the heuristic runs substantially faster than the branch-and-bound procedure, and yet produces schedules that are only slightly longer.


Archive | 2011

Input/Output in Parallel and Distributed Computer Systems

Ravi Jain; John Werth; James C. Browne

Input/Output in Parallel and Distributed Computer Systems has attracted increasing attention over the last few years, as it has become apparent that input/output performance, rather than CPU performance, may be the key limiting factor in the performance of future systems. This I/O bottleneck is caused by the increasing speed mismatch between processing units and storage devices, the use of multiple processors operating simultaneously in parallel and distributed systems, and by the increasing I/O demands of new classes of applications, like multimedia. It is also important to note that, to varying degrees, the I/O bottleneck exists at multiple levels of the memory hierarchy. All indications are that the I/O bottleneck will be with us for some time to come, and is likely to increase in importance. Input/Output in Parallel and Distributed Computer Systems is based on papers presented at the 1994 and 1995 IOPADS workshops held in conjunction with the International Parallel Processing Symposium. This book is divided into three parts. Part I, the Introduction, contains four invited chapters which provide a tutorial survey of I/O issues in parallel and distributed systems. The chapters in Parts II and III contain selected research papers from the 1994 and 1995 IOPADS workshops; many of these papers have been substantially revised and updated for inclusion in this volume. Part II collects the papers from both years which deal with various aspects of system software, and Part III addresses architectural issues. Input/Output in Parallel and Distributed Computer Systems is suitable as a secondary text for graduate level courses in computer architecture, software engineering, and multimedia systems, and as a reference for researchers and practitioners in industry.


Information Processing Letters | 1995

Analysis of approximate algorithms for edge-coloring bipartite graphs

Ravi Jain; John Werth

The problem of edge-coloring a bipartite graph is to color the edges so that adjacent edges receive different colors. An optimal algorithm uses the minimum number of colors to color the edges. We consider several approximation algorithms for edge-coloring bipartite graphs and show tight bounds on the number of colors they use in the worst case. We also present results on the constrained edge-coloring problem where each color may be used to color at most k edges.


Computer Science and Operations Research#R##N#New Developments in their Interfaces | 1992

A GRAPH-THEORETIC MODEL FOR THE SCHEDULING PROBLEM AND ITS APPLICATION TO SIMULTANEOUS RESOURCE SCHEDULING

Ravi Jain; John Werth; James C. Browne; Galen H. Sasaki

ABSTRACT As computer and communications systems become more complex, system designers are broadening their concern from the scheduling of individual resources to scheduling tasks which require multiple resources simultaneously. However there are relatively few published results for simultaneous resource scheduling problems. Equally importantly, although there are algorithms for special instances of these problems in different application areas, there is no general model that provides a framework for applying results across application boundaries. In this paper we present a graph-theoretic model for formally specifying scheduling problems. We apply the model to several simultaneous resource scheduling problems, drawn from the increasingly important application area of scheduling input/ouput (I/O) tasks in a parallel computer system. The model is thus used to specify the I/O scheduling problem for parallel computers with tree architectures, parallel I/O in the presence of a class of mutual exclusion constraints, and scheduling parallel I/O for computers with multiple I/O bus architectures. We use the model for recognition of the similarity between scheduling problems, the transformation of one scheduling problem to a different scheduling problem, and the decomposition of a problem into subproblems. We thus obtain an optimal algorithm for parallel I/O in tree architectures, an optimal algorithm for scheduling parallel I/O in the presence of limited mutual exclusion constraints, and an improved heuristic for parallel I/O in multiple bus architectures.


ACM Sigarch Computer Architecture News | 1993

Scheduling parallel I/O operations

Ravi Jain; Kiran Somalwar; John Werth; James C. Browne

The I/O bottleneck in parallel computer systems has recently begun receiving increasing interest. Most attention has focused on improving the performance of I/O devices using fairly low-level parallelism in techniques such as disk striping and interleaving. Widely applicable solutions, however, will require an integrated approach which addresses the problem at multiple system levels, including applications, systems software, and architecture. We propose that within the context of such an integrated approach, scheduling parallel I/O operations will become increasingly attractive and can potentially provide substantial performance benefits.We describe a simple I/O scheduling problem and present approximate algorithms for its solution. The costs of using these algorithms in terms of execution time, and the benefits in terms of reduced time to complete a batch of I/O operations, are compared with the situations in which no scheduling is used, and in which an optimal scheduling algorithm is used. The comparison is performed both theoretically and experimentally. We have found that, in exchange for a small execution time overhead, the approximate scheduling algorithms can provide substantial improvements in I/O completion times.


international conference on software engineering | 1991

Directions in software engineering education

John Werth; Laurie Honour Werth

The authors briefly review the history and literature of computing education. The goal is to point out resources for those who would like to gain a perspective on these issues. The authors consider broader issues of software engineering education. Four of these issues are: (a) the definition of software engineering and its relationship to other disciplines; (b) the content of software engineering programs; (c) the organization of computing education at the university; and (d) the relationship of computing education with the applications of computing. These issues are discussed.<<ETX>>


european conference on object oriented programming | 1994

A Specification Language for Object-Oriented Analysis and Design

Ted L. Briggs; John Werth

This paper introduces and illustrates the use of ObjLog, an algebraic specification language for Object-Oriented Analysis and Design. ObjLog is fully abstract, i.e., it specifies the message-passing and instantiation of objects without explicit use of state. Object behavior is abstractly defined by traces composed of message send and response events, including instantiation requests. ObjLog extends equational algebraic specification techniques to specify these traces and to reason about state dependent transitions in objects. Unlike most existing specification languages, ObjLog is sufficiently expressive to specify the full range of value-based message-passing and instantiation behavior exhibited by sequential object-oriented programming languages. In this paper, ObjLog is used to specify a simple example which is difficult to fully specify using other specification languages. The resulting ObjLog specification is then refined in three different ways: subtyping by extension, specialization, and aggregation.

Collaboration


Dive into the John Werth's collaboration.

Top Co-Authors

Avatar

Ravi Jain

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

James C. Browne

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Laurie Honour Werth

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Taejae Lee

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Kiran Somalwar

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Peter Newton

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Bart Longenecker

University of South Alabama

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

David L. Feinstein

University of South Alabama

View shared research outputs
Top Co-Authors

Avatar

David Van Brackle

University of Central Florida

View shared research outputs
Researchain Logo
Decentralizing Knowledge