An environment for the design and performance analysis of distributed systems
Rajive L. Bagrodia
Abstract
Rajive L. Bagrodia
Abstract
Efficient distributed systems may be developed by incorporating performance evaluation as an integral part of the software development cycle. This research proposes a methodology to integrate the development of distributed systems with its testing and performance evaluation. A small language fragment is proposed to implement the methodology. The language fragment uses the basic notions of entities (or classes), messages and clock to construct distributed software or their message-based simulation models. The fragment may be implemented in any sequential programming language to yield an object-oriented environment for developing distributed software. The environment allows an analyst to express distributed programs at different levels of detail. At an intermediate level, the program may be executed in a simulation environment to study the expected performance of the system or to test it for correctness. The same program, with minor modifications may be executed on a distributed network to function as a distributed program. Programs at an intermediate level are refined using step-wise refinement. The refinements either include more detail in the representation of a module or replace simulation statements by programming code. The refinement process is repeated iteratively to eventually yield the distributed software with the desired performance. A tool-box approach to evaluating distributed systems is supported by providing library facilities for hardware modeling, report generation and statistics collection. In the area of distributed algorithms, the thesis describes a test-bed for the performance evaluation of distributed algorithms. The dissertation also proposes two new distributed algorithms. The first algorithm implements the generalized alternative command of CSP. We show that this algorithm uses fewer messages than existing algorithms for this problem. The second algorithm implements synchronous communication among an arbitrary number of asynchronous processes. This algorithm is used to illustrate the applicability of the methodology and the test-bed in the development and evaluation of distributed systems.
OpenAlex reports 7 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Efficient distributed systems may be developed by incorporating performance evaluation as an integral part of the software development cycle. This research proposes a methodology to integrate the development of distributed systems with its testing and performance evaluation. A small language fragment is proposed to implement the methodology. The language fragment uses the basic notions of entities (or classes), messages and clock to construct distributed software or their message-based simulation models. The fragment may be implemented in any sequential programming language to yield an object-oriented environment for developing distributed software. The environment allows an analyst to express distributed programs at different levels of detail. At an intermediate level, the program may be executed in a simulation environment to study the expected performance of the system or to test it for correctness. The same program, with minor modifications may be executed on a distributed network to function as a distributed program. Programs at an intermediate level are refined using step-wise refinement. The refinements either include more detail in the representation of a module or replace simulation statements by programming code. The refinement process is repeated iteratively to eventually yield the distributed software with the desired performance. A tool-box approach to evaluating distributed systems is supported by providing library facilities for hardware modeling, report generation and statistics collection. In the area of distributed algorithms, the thesis describes a test-bed for the performance evaluation of distributed algorithms. The dissertation also proposes two new distributed algorithms. The first algorithm implements the generalized alternative command of CSP. We show that this algorithm uses fewer messages than existing algorithms for this problem. The second algorithm implements synchronous communication among an arbitrary number of asynchronous processes. This algorithm is used to illustrate the applicability of the methodology and the test-bed in the development and evaluation of distributed systems.
Key concepts: Computer science, Correctness, Distributed design patterns, Distributed computing, Distributed Computing Environment, Distributed algorithm, Distributed object, Software