BACK TO INDEX

Publications of year 2004
Articles in journal, book chapters
  1. Gul Agha and Carlos A. Varela. Worldwide Computing Middleware. In M. Singh, editor, Practical Handbook on Internet Computing. CRC Press, 2004. Note: Invited book chapter. Keyword(s): distributed computing, grid computing, middleware.
    Abstract:
    Widely distributed applications using Internet resources for computing require complex resource naming, discovery, coordination, and management policies. Software complexity is dealt with by developers with middleware, software layers dealing with distribution issues, such as naming, mobility, security, load balancing, and fault-tolerance. Middleware enables application developers to concentrate on their domain of expertise, reducing code and complexity by orders of magnitude. We discuss different aspects of middleware infrastructures and we present the WorldWide Computer, our own worldwide computing infrastructure with naming, mobility, and coordination middleware layers, facilitating Internet-based distributed systems development.

    @InCollection{agha-varela-wwcmiddleware-2004,
    author = {Gul Agha and Carlos A. Varela},
    title = {Worldwide Computing Middleware},
    booktitle = {Practical Handbook on Internet Computing},
    publisher = {CRC Press},
    year = 2004,
    editor = {M. Singh},
    note = {invited book chapter},
    ps = {http://wcl.cs.rpi.edu/papers/chmiddleware.ps},
    pdf = {http://wcl.cs.rpi.edu/papers/chmiddleware.pdf},
    keywords = {distributed computing, grid computing, middleware},
    abstract = {Widely distributed applications using Internet resources for computing require complex resource naming, discovery, coordination, and management policies. Software complexity is dealt with by developers with middleware, software layers dealing with distribution issues, such as naming, mobility, security, load balancing, and fault-tolerance. Middleware enables application developers to concentrate on their domain of expertise, reducing code and complexity by orders of magnitude. We discuss different aspects of middleware infrastructures and we present the WorldWide Computer, our own worldwide computing infrastructure with naming, mobility, and coordination middleware layers, facilitating Internet-based distributed systems development.} 
    }
    


Conference articles
  1. Travis Desell, H. Iyer, Abe Stephens, and Carlos A. Varela. OverView: A Framework for Generic Online Visualization of Distributed Systems. In Proceedings of the European Joint Conferences on Theory and Practice of Software (ETAPS 2004), eclipse Technology eXchange (eTX) Workshop, volume 17, Barcelona, Spain, pages 87-101, March 2004. Keyword(s): distributed computing, distributed systems visualization, software agents, middleware.
    Abstract:
    Visualizing, testing and debugging distributed systems is a challenging task that is not well ad- dressed by conventional software tools. OverView, an event-based Eclipse plug-in that provides runtime visualization of systems running on distributed Java virtual machines is presented. In the same way that the coding and debugging tools in Eclipse make writing software more accessible by visually representing both a program's static components: packages, classes, and interfaces, as well as a program's dynamic components: objects, threads, and invocation stacks; OverView in- tends to make distributed systems more accessible to programmers by creating an analogous visual workspace with appropriate abstractions for distributed component naming, state, location, remote communication, and migration. Overview is a generic visualization framework that uses an Entity Specification Language (ESL) to enable developers to map high-level concurrency and distribution abstractions into lower-level Java threads, network connections and objects.

    @InProceedings{desell-overview-2004,
    author = {Travis Desell and H. Iyer and Abe Stephens and Carlos A. Varela},
    title = {{OverView}: A Framework for Generic Online Visualization of Distributed Systems},
    booktitle = {Proceedings of the European Joint Conferences on Theory and Practice of Software (ETAPS 2004), eclipse Technology eXchange (eTX) Workshop},
    year = 2004,
    volume = {17},
    pages = {87--101},
    address = {Barcelona, Spain},
    month = {March},
    pdf = {http://wcl.cs.rpi.edu/papers/etaps2004.pdf},
    keywords = {distributed computing, distributed systems visualization, software agents, middleware},
    abstract = {Visualizing, testing and debugging distributed systems is a challenging task that is not well ad- dressed by conventional software tools. OverView, an event-based Eclipse plug-in that provides runtime visualization of systems running on distributed Java virtual machines is presented. In the same way that the coding and debugging tools in Eclipse make writing software more accessible by visually representing both a program's static components: packages, classes, and interfaces, as well as a program's dynamic components: objects, threads, and invocation stacks; OverView in- tends to make distributed systems more accessible to programmers by creating an analogous visual workspace with appropriate abstractions for distributed component naming, state, location, remote communication, and migration. Overview is a generic visualization framework that uses an Entity Specification Language (ESL) to enable developers to map high-level concurrency and distribution abstractions into lower-level Java threads, network connections and objects.} 
    }
    


  2. Travis Desell, Kaoutar El Maghraoui, and Carlos A. Varela. Load Balancing of Autonomous Actors over Dynamic Networks. In Proceedings of the Hawaii International Conference on System Sciences, HICSS-37 Software Technology Track, pages 1-10, January 2004. Keyword(s): distributed computing, grid computing, software agents, middleware.
    Abstract:
    The Internet is constantly growing as a ubiquitous platform for high-performance distributed computing. In this paper, we propose a new software framework for distributed computing over large scale dynamic and heterogeneous systems. Our framework wraps computation into autonomous actors, self organizing computing entities, which freely roam over the network to find their optimal target execution environments. We introduce the architecture of our worldwide computing framework, which consists of an actor-oriented programming language (SALSA), a distributed run time environment (WWC), and a middleware infrastructure for autonomous reconfiguration and load balancing (IO). Load balancing is completely transparent to application programmers. The middleware triggers actor migration based on profiling resources in a completely decentralized manner. Our infrastructure also allows for the dynamic addition and removal of nodes from the computation, while continuously balancing the load given the changing resources. To balance computational load, we introduce three variations of random work stealing: load-sensitive (RS), actor topology-sensitive (ARS), and network topology-sensitive (NRS) random stealing. We evaluated RS and ARS with several actor interconnection topologies in a local area network. While RS performed worse than static round-robin (RR) actor placement, ARS outperformed both RS and RR in the sparse connectivity and hypercube connectivity tests, by a full order of magnitude

    @InProceedings{desell-ios-hicss-2004,
    author = {Travis Desell and Kaoutar El Maghraoui and Carlos A. Varela},
    title = {Load Balancing of Autonomous Actors over Dynamic Networks},
    booktitle = {Proceedings of the Hawaii International Conference on System Sciences, HICSS-37 Software Technology Track},
    pages = {1--10},
    year = 2004,
    month = {January},
    pdf = {http://wcl.cs.rpi.edu/papers/desel04.pdf},
    url = {http://doi.ieeecomputersociety.org/10.1109/HICSS.2004.10046},
    keywords = {distributed computing, grid computing, software agents, middleware},
    abstract = {The Internet is constantly growing as a ubiquitous platform for high-performance distributed computing. In this paper, we propose a new software framework for distributed computing over large scale dynamic and heterogeneous systems. Our framework wraps computation into autonomous actors, self organizing computing entities, which freely roam over the network to find their optimal target execution environments. We introduce the architecture of our worldwide computing framework, which consists of an actor-oriented programming language (SALSA), a distributed run time environment (WWC), and a middleware infrastructure for autonomous reconfiguration and load balancing (IO). Load balancing is completely transparent to application programmers. The middleware triggers actor migration based on profiling resources in a completely decentralized manner. Our infrastructure also allows for the dynamic addition and removal of nodes from the computation, while continuously balancing the load given the changing resources. To balance computational load, we introduce three variations of random work stealing: load-sensitive (RS), actor topology-sensitive (ARS), and network topology-sensitive (NRS) random stealing. We evaluated RS and ARS with several actor interconnection topologies in a local area network. While RS performed worse than static round-robin (RR) actor placement, ARS outperformed both RS and RR in the sparse connectivity and hypercube connectivity tests, by a full order of magnitude} 
    }
    


Internal reports
  1. J. Field and C. A. Varela. Transactors: A Programming Model for Maintaining Globally Consistent Distributed State in Unreliable Environments. Technical report 15, Rensselaer Polytechnic Institute Department of Computer Science, Troy, NY, December 2004. Note: Includes proofs of theorems in POPL'05 paper. Keyword(s): distributed computing, concurrent programming, coordination models.
    Abstract:
    We introduce transactors, a fault-tolerant programming model for composing loosely-coupled distributed components running in an unreliable environment such as the internet into systems that reliably maintain globally consistent distributed state. The transactor model incorporates certain elements of traditional transaction processing, but allows these elements to be composed in different ways without the need for central coordination, thus facilitating the study of distributed fault-tolerance from a semantic point of view. We formalize our approach via the Ï„-calculus, an extended lambda-calculus based on the actor model, and illustrate its usage through a number of examples. The Ï„-calculus incorporates constructs which distributed processes can use to create globally-consistent checkpoints. We provide an operational semantics for the Ï„-calculus, and formalize the following safety and liveness properties: first, we show that globally-consistent checkpoints have equivalent execution traces without any node failures or application-level failures, and second, we show that it is possible to reach globally-consistent checkpoints provided that there is some bounded failure-free interval during which checkpointing can occur.

    @TechReport{field-varela-transactors-tr-2004,
    author = {J. Field and C. A. Varela},
    title = {Transactors: A Programming Model for Maintaining Globally Consistent Distributed State in Unreliable Environments},
    institution = {Rensselaer Polytechnic Institute Department of Computer Science},
    year = 2004,
    number = 15,
    address = {Troy, NY},
    month = {December},
    note = {Includes proofs of theorems in POPL'05 paper},
    pdf = {http://wcl.cs.rpi.edu/papers/b8.pdf},
    keywords = {distributed computing, concurrent programming, coordination models},
    abstract = {We introduce transactors, a fault-tolerant programming model for composing loosely-coupled distributed components running in an unreliable environment such as the internet into systems that reliably maintain globally consistent distributed state. The transactor model incorporates certain elements of traditional transaction processing, but allows these elements to be composed in different ways without the need for central coordination, thus facilitating the study of distributed fault-tolerance from a semantic point of view. We formalize our approach via the Ï„-calculus, an extended lambda-calculus based on the actor model, and illustrate its usage through a number of examples. The Ï„-calculus incorporates constructs which distributed processes can use to create globally-consistent checkpoints. We provide an operational semantics for the Ï„-calculus, and formalize the following safety and liveness properties: first, we show that globally-consistent checkpoints have equivalent execution traces without any node failures or application-level failures, and second, we show that it is possible to reach globally-consistent checkpoints provided that there is some bounded failure-free interval during which checkpointing can occur.} 
    }
    


  2. Kaoutar El Maghraoui, Carlos A. Varela, Boleslaw K. Szymanski, Joseph E. Flaherty, and James D. Teresco. A Middleware Framework for Dynamically Reconfigurable MPI Applications. Technical report CS-04-09, Williams College Department of Computer Science, 2004. Keyword(s): distributed computing, grid computing, middleware.
    Abstract:
    Computational grids are characterized by their dynamic, non-dedicated, and heterogeneous nature. Novel application-level and middleware-level techniques are needed to allow applications to reconfigure themselves and adapt automatically to their underlying execution environments to be able to benefit from computational grids’ resources. In this paper, we introduce a new software framework that enhances the Message Passing Interface (MPI) performance through process checkpointing, migration, and an adaptive middleware for load balancing. Fields as diverse as fluid dynamics, material science, biomechanics, and ecology make use of parallel adaptive computation where target architectures have traditionally been supercomputers and tightly coupled clusters. This framework is a first step in allowing these computations to use computational grids efficiently. Preliminary results demonstrate that application reconfiguration through middleware-triggered process migration achieved performance improvement in the range of 33\% to 79\%.

    @TechReport{elmaghraoui-salsampi-2004,
    author = {Kaoutar El Maghraoui and Carlos A. Varela and Boleslaw K. Szymanski and Joseph E. Flaherty and James D. Teresco},
    title = {A Middleware Framework for Dynamically Reconfigurable MPI Applications},
    institution = {Williams College Department of Computer Science},
    year = 2004,
    number = {CS-04-09},
    pdf = {http://wcl.cs.rpi.edu/papers/b9.pdf},
    keywords = {distributed computing, grid computing, middleware},
    abstract = {Computational grids are characterized by their dynamic, non-dedicated, and heterogeneous nature. Novel application-level and middleware-level techniques are needed to allow applications to reconfigure themselves and adapt automatically to their underlying execution environments to be able to benefit from computational grids’ resources. In this paper, we introduce a new software framework that enhances the Message Passing Interface (MPI) performance through process checkpointing, migration, and an adaptive middleware for load balancing. Fields as diverse as fluid dynamics, material science, biomechanics, and ecology make use of parallel adaptive computation where target architectures have traditionally been supercomputers and tightly coupled clusters. This framework is a first step in allowing these computations to use computational grids efficiently. Preliminary results demonstrate that application reconfiguration through middleware-triggered process migration achieved performance improvement in the range of 33\% to 79\%.} 
    }
    


Miscellaneous
  1. Terrell Holmes. Software Version Control in Open Distributed Systems. Master's thesis, Rensselaer Polytechnic Institute, June 2004. Keyword(s): software agents.
    @MastersThesis{holmes-vc-2004,
    author = {Terrell Holmes},
    title = {Software Version Control in Open Distributed Systems},
    school = {Rensselaer Polytechnic Institute},
    year = 2004,
    month = {June},
    keywords = {software agents},
    abstract = {} 
    }
    


  2. Shailesh Kelkar. A Generic Framework for Distributed Computation. Master's thesis, Rensselaer Polytechnic Institute, July 2004. Keyword(s): distributed computing, grid computing.
    Abstract:
    With the increase in bandwidth and interconnection of computers, there has been an increasing adoption of the distributed computing paradigm to solve computationally intensive problems that would normally take a long time if solved on a single computer. However, the development of programming languages and libraries specifically developed for distributed programming tasks such as efficient work distribution, network setup, load balancing, and dynamic reconfiguration has been slow. This results in inefficient implementations and considerable time spent in developing distributed computing specific parts, rather than actual application development. The issues that were identified earlier in distributed application development span programming languages, library support, and run-time systems. This thesis addresses these issues mainly at the library level, with some programming language level and runtime level support. This thesis identifies and develops abstractions, to enable designing and developing generic components, and libraries for distributed computations. It uses a Generic Software Design Methodology to design these abstractions and to enable maximum reuse, flexibility, and efficiency. A Generic Framework for Distributed Computing - GFDC developed in this thesis can be used in a broad range of distributed applications implemented using different technologies and programming languages. Java has emerged as a platform of choice for developing distributed applications. This thesis provides an implementation of GFDC in Java, as a set of generic libraries. For a class of problems, which need reconfiguration and migration, researchers in the Worldwide Computing Laboratory at Rensselaer Polytechnic Institute are developing the SALSA programming language. The generic libraries that are developed in Java are transparently integrated with SALSA. GFDC and its implementation handle the distributed computing tasks and allow programmers to concentrate on the actual application development. This results in a flexible and efficient implementation along with reduced development time for the distributed applications. The programmers who have little or no knowledge of distributed computing issues should be able to develop applications using GFDC. At the same time, GFDC and its implementation is extensible to enable advanced programmers to customize and enhance it, to tackle specific distributed computing issues.

    @MastersThesis{kelkar-gfdc-2004,
    author = {Shailesh Kelkar},
    title = {A Generic Framework for Distributed Computation},
    school = {Rensselaer Polytechnic Institute},
    year = 2004,
    month = {July},
    pdf = {http://wcl.cs.rpi.edu/theses/gfdc/Shailesh_MS_Thesis.pdf},
    keywords = {distributed computing, grid computing},
    abstract = {With the increase in bandwidth and interconnection of computers, there has been an increasing adoption of the distributed computing paradigm to solve computationally intensive problems that would normally take a long time if solved on a single computer. However, the development of programming languages and libraries specifically developed for distributed programming tasks such as efficient work distribution, network setup, load balancing, and dynamic reconfiguration has been slow. This results in inefficient implementations and considerable time spent in developing distributed computing specific parts, rather than actual application development. The issues that were identified earlier in distributed application development span programming languages, library support, and run-time systems. This thesis addresses these issues mainly at the library level, with some programming language level and runtime level support. This thesis identifies and develops abstractions, to enable designing and developing generic components, and libraries for distributed computations. It uses a Generic Software Design Methodology to design these abstractions and to enable maximum reuse, flexibility, and efficiency. A Generic Framework for Distributed Computing - GFDC developed in this thesis can be used in a broad range of distributed applications implemented using different technologies and programming languages. Java has emerged as a platform of choice for developing distributed applications. This thesis provides an implementation of GFDC in Java, as a set of generic libraries. For a class of problems, which need reconfiguration and migration, researchers in the Worldwide Computing Laboratory at Rensselaer Polytechnic Institute are developing the SALSA programming language. The generic libraries that are developed in Java are transparently integrated with SALSA. GFDC and its implementation handle the distributed computing tasks and allow programmers to concentrate on the actual application development. This results in a flexible and efficient implementation along with reduced development time for the distributed applications. The programmers who have little or no knowledge of distributed computing issues should be able to develop applications using GFDC. At the same time, GFDC and its implementation is extensible to enable advanced programmers to customize and enhance it, to tackle specific distributed computing issues.} 
    }
    



BACK TO INDEX




Disclaimer:

This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All person copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.

Les documents contenus dans ces répertoires sont rendus disponibles par les auteurs qui y ont contribué en vue d'assurer la diffusion à temps de travaux savants et techniques sur une base non-commerciale. Les droits de copie et autres droits sont gardés par les auteurs et par les détenteurs du copyright, en dépit du fait qu'ils présentent ici leurs travaux sous forme électronique. Les personnes copiant ces informations doivent adhérer aux termes et contraintes couverts par le copyright de chaque auteur. Ces travaux ne peuvent pas être rendus disponibles ailleurs sans la permission explicite du détenteur du copyright.




Last modified: Wed Apr 3 16:12:48 2024
Author: led2.


This document was translated from BibTEX by bibtex2html