Bala Swaminathan - Academia.edu (original) (raw)

Uploads

Papers by Bala Swaminathan

Research paper thumbnail of Hierarchical Correctness Proofs for Recursive Distributed Algorithms using Dynamic Process Creation

We present a new proof methodology that uses dynamic process creation to capture the structure of... more We present a new proof methodology that uses dynamic process creation to capture the structure of recutsive distributed algorithms> Each recursive invocation of a distributed algorithm is modeled as a separate process, encouraging local reasoning about the individual recursive invocations and making explicit the communicatino that takes place among the concurrently executing invocations. Our methodology involves the construction of hierarchical correctness proofs in which the state of each individual call in a refined algorithm is mapped to the state of a corresponding call in a simpler or more abstract algorithm. Algorithm optimizations that result in the creation of fewer... Read complete abstract on page 2.

Research paper thumbnail of Dynamic reconfiguration with I/O abstraction

Proceedings.Seventh IEEE Symposium on Parallel and Distributed Processing

Dynamic reconfiguration is explored in the context of I/O abstraction, a new programming model th... more Dynamic reconfiguration is explored in the context of I/O abstraction, a new programming model that defines the communication structure of a system in terms of connections among well-defined data interfaces for the modules in the system. The properties of I/O abstraction, particularly the clear separation of computation from communication and the availability of a module's state information, help simplify the reconfiguration strategy. Both logical and physical reconfiguration are discussed, with an emphasis on a new module migration mechanism that (1) takes advantage of the underlying I/O abstraction model, (2) avoids the expense and complication of state extraction techniques, (3)..

Research paper thumbnail of Dynamic Reconnguration with I/o Abstraction Dynamic Reconnguration with I/o Abstraction

Dynamic reconnguration is explored in the context of I/O abstraction, a new programming model tha... more Dynamic reconnguration is explored in the context of I/O abstraction, a new programming model that deenes the communication structure of a system in terms of connections among well-deened data interfaces for the modules in the system. The properties of I/O abstraction, particularly the clear separation of computation from communication and the availability of a module's state information, help simplify the reconnguration strategy. Both logical and physical reconnguration are discussed, with an emphasis on a new module migration mechanism that (1) takes advantage of the underlying I/O abstraction model, (2) avoids the expense and complication of state extraction techniques, (3) minimizes the amount of code required for migration and connnes that code to a separate section of the program, and (4) is designed to permit migration across heterogeneous hosts and to allow replacement of one implementation by another, even if the new implementation is written in another programming lang...

Research paper thumbnail of An Incremental Distributed Algorithm for Computing Biconnected Components

Research paper thumbnail of Data handles and virtual connections: high-level support for anonymous reconfiguration

Proceedings of the 3rd International Conference on Configurable Distributed Systems, Feb 1, 1996

Data handles and virtual connections are presented as a solution to the problem of supporting app... more Data handles and virtual connections are presented as a solution to the problem of supporting application-driven reconfiguration without sacrificing the separation of communication and computation. The solution supports anonymous reconfiguration, meaning that the module performing the reconfiguration and the modules affected by the reconfiguration need not be aware of each other's presence in the system. The solution allows modules to reconfigure the system within the limits of a specified communication structure while retaining support for dynamic end-user reconfiguration. The work is presented in the context of I/O abstraction, a programming model that defines the communication structure of a distributed system in terms of connections among narrow data interfaces of encapsulated modules. I/O abstraction supports dynamic end-user reconfiguration of distributed applications by separating the communication structure from the module definitions.

Research paper thumbnail of An incremental distributed algorithm for computing biconnected components

Lecture Notes in Computer Science, 1994

Research paper thumbnail of The programmers' playground

Proceedings of the third ACM international conference on Multimedia - MULTIMEDIA '95, 1995

Abstract We demonstrate The Programmers' Playground, a programming environment that supports... more Abstract We demonstrate The Programmers' Playground, a programming environment that supports end-user construction of distributed multimedia applications. Features include separation of communication and computation, dynamic end-user configuration of ...

Research paper thumbnail of The Programmers' Playground: I/O abstraction for user-configurable distributed applications

IEEE Transactions on Software Engineering, 1995

Abstract I/O abstraction is offered as a new high-level approach to interprocess communication. F... more Abstract I/O abstraction is offered as a new high-level approach to interprocess communication. Functional components of a distributed system are written as encapsulated modules that act upon local data structures, some of which may be published for external ...

Research paper thumbnail of The Programmers' Playground: I/O abstraction for heterogeneous distributed systems

System Sciences, 1994. …, 1994

component of a distributed system as an encapsulated program that acts upon a set of local data s... more component of a distributed system as an encapsulated program that acts upon a set of local data structures, some of which may be published for external use. The functional components are separately configured by establishing logical connections among the published data structures. In order to illustrate this approach, we describe the The Programmers' Playground, a high-level language "veneer" and protocol designed to support I/O abstraction in heterogeneous computing environment. Support for communication among programs written... Read complete Read complete

Research paper thumbnail of An Incremental Distributed Algorithm for Computing Biconnected Components in Dynamic Graphs

Algorithmica, 1998

This paper describes a distributed algorithm for computing the biconnected components of a dynami... more This paper describes a distributed algorithm for computing the biconnected components of a dynamically changing graph. Our algorithm has a worst-case communication complexity of O(b+c) messages for an edge insertion and O(b + c) messages for an edge removal, and a worst-case time complexity of O(c) for both operations, where c is the maximum number of biconnected components in any of the connected components during the operation, b is the number of nodes in the biconnected component containing the new edge, and b is the number of nodes in the biconnected component just before the deletion. The algorithm is presented in two stages. First, a serial algorithm is presented in which topology updates occur one at a time. Then, building on the serial algorithm, an algorithm is presented in which concurrent update requests are serialized within each connected component. The problem is motivated by the need to implement causal ordering of messages efficiently in a dynamically changing communication structure.

Research paper thumbnail of Hierarchical Correctness Proofs for Recursive Distributed Algorithms using Dynamic Process Creation

We present a new proof methodology that uses dynamic process creation to capture the structure of... more We present a new proof methodology that uses dynamic process creation to capture the structure of recutsive distributed algorithms> Each recursive invocation of a distributed algorithm is modeled as a separate process, encouraging local reasoning about the individual recursive invocations and making explicit the communicatino that takes place among the concurrently executing invocations. Our methodology involves the construction of hierarchical correctness proofs in which the state of each individual call in a refined algorithm is mapped to the state of a corresponding call in a simpler or more abstract algorithm. Algorithm optimizations that result in the creation of fewer... Read complete abstract on page 2.

Research paper thumbnail of Dynamic reconfiguration with I/O abstraction

Proceedings.Seventh IEEE Symposium on Parallel and Distributed Processing

Dynamic reconfiguration is explored in the context of I/O abstraction, a new programming model th... more Dynamic reconfiguration is explored in the context of I/O abstraction, a new programming model that defines the communication structure of a system in terms of connections among well-defined data interfaces for the modules in the system. The properties of I/O abstraction, particularly the clear separation of computation from communication and the availability of a module's state information, help simplify the reconfiguration strategy. Both logical and physical reconfiguration are discussed, with an emphasis on a new module migration mechanism that (1) takes advantage of the underlying I/O abstraction model, (2) avoids the expense and complication of state extraction techniques, (3)..

Research paper thumbnail of Dynamic Reconnguration with I/o Abstraction Dynamic Reconnguration with I/o Abstraction

Dynamic reconnguration is explored in the context of I/O abstraction, a new programming model tha... more Dynamic reconnguration is explored in the context of I/O abstraction, a new programming model that deenes the communication structure of a system in terms of connections among well-deened data interfaces for the modules in the system. The properties of I/O abstraction, particularly the clear separation of computation from communication and the availability of a module's state information, help simplify the reconnguration strategy. Both logical and physical reconnguration are discussed, with an emphasis on a new module migration mechanism that (1) takes advantage of the underlying I/O abstraction model, (2) avoids the expense and complication of state extraction techniques, (3) minimizes the amount of code required for migration and connnes that code to a separate section of the program, and (4) is designed to permit migration across heterogeneous hosts and to allow replacement of one implementation by another, even if the new implementation is written in another programming lang...

Research paper thumbnail of An Incremental Distributed Algorithm for Computing Biconnected Components

Research paper thumbnail of Data handles and virtual connections: high-level support for anonymous reconfiguration

Proceedings of the 3rd International Conference on Configurable Distributed Systems, Feb 1, 1996

Data handles and virtual connections are presented as a solution to the problem of supporting app... more Data handles and virtual connections are presented as a solution to the problem of supporting application-driven reconfiguration without sacrificing the separation of communication and computation. The solution supports anonymous reconfiguration, meaning that the module performing the reconfiguration and the modules affected by the reconfiguration need not be aware of each other's presence in the system. The solution allows modules to reconfigure the system within the limits of a specified communication structure while retaining support for dynamic end-user reconfiguration. The work is presented in the context of I/O abstraction, a programming model that defines the communication structure of a distributed system in terms of connections among narrow data interfaces of encapsulated modules. I/O abstraction supports dynamic end-user reconfiguration of distributed applications by separating the communication structure from the module definitions.

Research paper thumbnail of An incremental distributed algorithm for computing biconnected components

Lecture Notes in Computer Science, 1994

Research paper thumbnail of The programmers' playground

Proceedings of the third ACM international conference on Multimedia - MULTIMEDIA '95, 1995

Abstract We demonstrate The Programmers' Playground, a programming environment that supports... more Abstract We demonstrate The Programmers' Playground, a programming environment that supports end-user construction of distributed multimedia applications. Features include separation of communication and computation, dynamic end-user configuration of ...

Research paper thumbnail of The Programmers' Playground: I/O abstraction for user-configurable distributed applications

IEEE Transactions on Software Engineering, 1995

Abstract I/O abstraction is offered as a new high-level approach to interprocess communication. F... more Abstract I/O abstraction is offered as a new high-level approach to interprocess communication. Functional components of a distributed system are written as encapsulated modules that act upon local data structures, some of which may be published for external ...

Research paper thumbnail of The Programmers' Playground: I/O abstraction for heterogeneous distributed systems

System Sciences, 1994. …, 1994

component of a distributed system as an encapsulated program that acts upon a set of local data s... more component of a distributed system as an encapsulated program that acts upon a set of local data structures, some of which may be published for external use. The functional components are separately configured by establishing logical connections among the published data structures. In order to illustrate this approach, we describe the The Programmers' Playground, a high-level language "veneer" and protocol designed to support I/O abstraction in heterogeneous computing environment. Support for communication among programs written... Read complete Read complete

Research paper thumbnail of An Incremental Distributed Algorithm for Computing Biconnected Components in Dynamic Graphs

Algorithmica, 1998

This paper describes a distributed algorithm for computing the biconnected components of a dynami... more This paper describes a distributed algorithm for computing the biconnected components of a dynamically changing graph. Our algorithm has a worst-case communication complexity of O(b+c) messages for an edge insertion and O(b + c) messages for an edge removal, and a worst-case time complexity of O(c) for both operations, where c is the maximum number of biconnected components in any of the connected components during the operation, b is the number of nodes in the biconnected component containing the new edge, and b is the number of nodes in the biconnected component just before the deletion. The algorithm is presented in two stages. First, a serial algorithm is presented in which topology updates occur one at a time. Then, building on the serial algorithm, an algorithm is presented in which concurrent update requests are serialized within each connected component. The problem is motivated by the need to implement causal ordering of messages efficiently in a dynamically changing communication structure.