-
Travis Desell,
Nathan Cole,
Malik Magdon-Ismail,
Heidi Newberg,
Boleslaw Szymanski,
and Carlos A. Varela.
Distributed and Generic Maximum Likelihood Evaluation.
In 3rd IEEE International Conference on e-Science and Grid Computing (eScience2007),
Bangalore, India,
pages 337-344,
December 2007.
Note: Best paper (finalist) award.
Keyword(s): distributed computing,
scientific computing,
grid computing,
supercomputing,
internet computing,
distributed computing,
scientific computing,
middleware,
grid computing.
Abstract:
This paper presents GMLE 1, a generic and distributed framework for maximum likelihood evaluation. GMLE is currently being applied to astroinformatics for determining the shape of star streams in the Milky Way galaxy, and to particle physics in a search for theory-predicted but yet unobserved sub-atomic particles. GMLE is designed to enable parallel and distributed executions on platforms ranging from supercomputers and high-performance homogeneous computing clusters to more heterogeneous Grid and Internet computing environments. GMLE's modular implementation seperates concerns of developers into the distributed evaluation frameworks, scientific models, and search methods, which interact through a simple API. This allows us to compare the benefits and drawbacks of different scientific models using different search methods on different computing environments. We describe and compare the performance of two implementations of the GMLE framework: an MPI version that more effectively uses homogeneous environments such as IBM's BlueGene, and a SALSA version that more easily accommodates heterogeneous environments such as the Rensselaer Grid. We have shown GMLE to scale well in terms of computation as well as communication over a wide range of environments. We expect that scientific computing frameworks, such as GMLE, will help bridge the gap between scientists needing to analyze ever larger amounts of data and ever more complex distributed computing environments. |
@inproceedings{desell-gmle-escience-2007,
author = "Travis Desell and Nathan Cole and Malik Magdon-Ismail and Heidi Newberg and Boleslaw Szymanski and Carlos A. Varela",
title = "Distributed and Generic Maximum Likelihood Evaluation",
booktitle = "3rd IEEE International Conference on e-Science and Grid Computing (eScience2007)",
year = "2007",
pages = "337--344",
address = "Bangalore, India",
month = "December",
keywords = "distributed computing, scientific computing, grid computing, supercomputing, internet computing",
note = {Best paper (finalist) award},
pdf = {http://wcl.cs.rpi.edu/papers/e-science2007.pdf},
keywords = {distributed computing, scientific computing, middleware, grid computing},
abstract = {This paper presents GMLE 1, a generic and distributed framework for maximum likelihood evaluation. GMLE is currently being applied to astroinformatics for determining the shape of star streams in the Milky Way galaxy, and to particle physics in a search for theory-predicted but yet unobserved sub-atomic particles. GMLE is designed to enable parallel and distributed executions on platforms ranging from supercomputers and high-performance homogeneous computing clusters to more heterogeneous Grid and Internet computing environments. GMLE's modular implementation seperates concerns of developers into the distributed evaluation frameworks, scientific models, and search methods, which interact through a simple API. This allows us to compare the benefits and drawbacks of different scientific models using different search methods on different computing environments. We describe and compare the performance of two implementations of the GMLE framework: an MPI version that more effectively uses homogeneous environments such as IBM's BlueGene, and a SALSA version that more easily accommodates heterogeneous environments such as the Rensselaer Grid. We have shown GMLE to scale well in terms of computation as well as communication over a wide range of environments. We expect that scientific computing frameworks, such as GMLE, will help bridge the gap between scientists needing to analyze ever larger amounts of data and ever more complex distributed computing environments.}
}
-
Kaoutar El Maghraoui,
Travis Desell,
Boleslaw K. Szymanski,
and Carlos A. Varela.
Dynamic Malleability in Iterative MPI Applications.
In Proceedings of Seventh IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2007), Rio de Janeiro, Brazil,
pages 591-598,
May 2007.
IEEE Computer Society.
Note: Best paper award nominee.
Keyword(s): concurrent programming,
distributed computing,
middleware,
grid computing.
Abstract:
Malleability enables a parallel application's execution system to split or merge processes modifying granularity. While process migration is widely used to adapt applications to dynamic execution environments, it is limited by the granularity of the application's processes. Malleability empowers process migration by allowing the application's processes to expand or shrink following the availability of resources. We have implemented malleability as an extension to the PCM (process checkpointing and migration) library, a user-level library for iterative MPI applications. PCM is integrated with the Internet operating system (IOS), a framework for middleware-driven dynamic application reconfiguration. Our approach requires minimal code modifications and enables transparent middleware- triggered reconfiguration. Experimental results using a two-dimensional data parallel program that has a regular communication structure demonstrate the usefulness of malleability. |
@InProceedings{elmaghraoui-mpi-malleability-2007,
author = {Kaoutar El Maghraoui and Travis Desell and Boleslaw K. Szymanski and Carlos A. Varela},
title = {Dynamic Malleability in Iterative MPI Applications},
booktitle = {Proceedings of Seventh IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2007), Rio de Janeiro, Brazil},
year = {2007},
month = {May},
publisher = {IEEE Computer Society},
pages = {591--598},
note = {Best paper award nominee},
pdf = {http://wcl.cs.rpi.edu/papers/ccgrid07.pdf},
keywords = {concurrent programming, distributed computing, middleware, grid computing},
abstract = {Malleability enables a parallel application's execution system to split or merge processes modifying granularity. While process migration is widely used to adapt applications to dynamic execution environments, it is limited by the granularity of the application's processes. Malleability empowers process migration by allowing the application's processes to expand or shrink following the availability of resources. We have implemented malleability as an extension to the PCM (process checkpointing and migration) library, a user-level library for iterative MPI applications. PCM is integrated with the Internet operating system (IOS), a framework for middleware-driven dynamic application reconfiguration. Our approach requires minimal code modifications and enables transparent middleware- triggered reconfiguration. Experimental results using a two-dimensional data parallel program that has a regular communication structure demonstrate the usefulness of malleability.}
}
-
Boleslaw Szymanski,
Travis Desell,
and Carlos A. Varela.
The Effect of Heterogeneity on Asynchronous Panmictic Genetic Search.
In Proc. of the Seventh International Conference on Parallel Processing and Applied Mathematics (PPAM'2007),
LNCS,
Gdansk, Poland,
pages 457-468,
September 2007.
Keyword(s): distributed computing,
concurrent programming,
scientific computing.
Abstract:
Research scientists increasingly turn to large-scale heterogeneous environments such as computational grids and the Internet based facilities to satisfy their rapidly growing computational needs. The increasing complexity of the scientific models and rapid collection of new data are drastically outpacing the advances in processor speed while the cost of supercomputing environments remains relatively high. However, the heterogeneity and unreliability of these environments, especially the Internet, make scalable and fault tolerant search methods indispensable to effective scientific model verification. An effective search method for these types of environments is asynchronous genetic search, where a population continuously evolves based on asynchronously generated and received results. However, it is unclear what effect heterogeneity has on this type of search. For example, results received from slower workers may turn out to be obsolete or less beneficial than results calculated by faster workers. This paper examines the effect of heterogeneity on asynchronous panmictic (single population) genetic search for two different scientific applications, one used by astronomers to model the Milky Way galaxy and another by particle physicists to determine the existence of theory predicted, yet unobserved particles such as missing baryons. Results show that for both applications results received from slower workers while overall less beneficial are still useful. Additionally, a modification of asynchronous genetic search shows that different parameter generation strategies change their effectiveness over the course of the search. |
@InProceedings{szymanski-ags-ppam-2007,
author = {Boleslaw Szymanski and Travis Desell and Carlos A. Varela},
title = {The Effect of Heterogeneity on Asynchronous Panmictic Genetic Search},
booktitle = {Proc. of the Seventh International Conference on Parallel Processing and Applied Mathematics (PPAM'2007)},
year = 2007,
pages = {457--468},
series = {LNCS},
address = {Gdansk, Poland},
month = {September},
pdf = {http://wcl.cs.rpi.edu/papers/ppam07.pdf},
keywords = {distributed computing, concurrent programming, scientific computing},
abstract = {Research scientists increasingly turn to large-scale heterogeneous environments such as computational grids and the Internet based facilities to satisfy their rapidly growing computational needs. The increasing complexity of the scientific models and rapid collection of new data are drastically outpacing the advances in processor speed while the cost of supercomputing environments remains relatively high. However, the heterogeneity and unreliability of these environments, especially the Internet, make scalable and fault tolerant search methods indispensable to effective scientific model verification. An effective search method for these types of environments is asynchronous genetic search, where a population continuously evolves based on asynchronously generated and received results. However, it is unclear what effect heterogeneity has on this type of search. For example, results received from slower workers may turn out to be obsolete or less beneficial than results calculated by faster workers. This paper examines the effect of heterogeneity on asynchronous panmictic (single population) genetic search for two different scientific applications, one used by astronomers to model the Milky Way galaxy and another by particle physicists to determine the existence of theory predicted, yet unobserved particles such as missing baryons. Results show that for both applications results received from slower workers while overall less beneficial are still useful. Additionally, a modification of asynchronous genetic search shows that different parameter generation strategies change their effectiveness over the course of the search.}
}
-
C. A. Varela,
G. Agha,
W. Wang,
T. Desell,
K. E. Maghraoui,
J. LaPorte,
and A. Stephens.
The SALSA Programming Language: 1.1.2 Release Tutorial.
Technical report 07-12,
Dept. of Computer Science, R.P.I.,
February 2007.
Keyword(s): concurrent programming,
internet programming languages.
Abstract:
With the emergence of Internet and mobile computing, a wide range of Internet applications have introduced new demands for openness, portability, highly dynamic reconfiguration, and the ability to adapt quickly to changing execution environments. Current programming languages and systems lack support for dynamic reconfiguration of applications, where application entities get moved to different processing nodes at run-time. Java has provided support for dynamic web content through applets, network class loading, bytecode verification, security, and multi-platform compatibility. Moreover, Java is a good framework for distributed Internet programming because of its standardized representation of objects and serialization support. Some of the important libraries that provide support for Internet computing are: java.rmi for remote method invocation, java.reflection for run-time introspection, java.io for serialization, and java.net for sockets, datagrams, and URLs. SALSA (Simple Actor Language, System and Architecture) is an actororiented programming language designed and implemented to introduce the benefits of the actor model while keeping the advantages of object-oriented programming. Abstractions include active objects, asynchronous message passing, universal naming, migration, and advanced coordination constructs for concurrency. SALSA is pre-processed into Java and preserves many of Java’s useful object oriented conceptsmainly, encapsulation, inheritance, and polymorphism. SALSA abstractions enable the development of dynamically reconfigurable applications. A SALSA program consists of universal actors that can be migrated around distributed nodes at runtime. |
@TechReport{varela-salsa-2007,
author = {C. A. Varela and G. Agha and W. Wang and T. Desell and K. E. Maghraoui and J. LaPorte and A. Stephens},
title = {The {SALSA} Programming Language: 1.1.2 Release Tutorial},
institution = "Dept. of Computer Science, R.P.I.",
number = "{07-12}",
year = 2007,
month = feb,
pdf = {http://wcl.cs.rpi.edu/papers/b4.pdf},
keywords = {concurrent programming, internet programming languages},
abstract = {With the emergence of Internet and mobile computing, a wide range of Internet applications have introduced new demands for openness, portability, highly dynamic reconfiguration, and the ability to adapt quickly to changing execution environments. Current programming languages and systems lack support for dynamic reconfiguration of applications, where application entities get moved to different processing nodes at run-time. Java has provided support for dynamic web content through applets, network class loading, bytecode verification, security, and multi-platform compatibility. Moreover, Java is a good framework for distributed Internet programming because of its standardized representation of objects and serialization support. Some of the important libraries that provide support for Internet computing are: java.rmi for remote method invocation, java.reflection for run-time introspection, java.io for serialization, and java.net for sockets, datagrams, and URLs. SALSA (Simple Actor Language, System and Architecture) is an actororiented programming language designed and implemented to introduce the benefits of the actor model while keeping the advantages of object-oriented programming. Abstractions include active objects, asynchronous message passing, universal naming, migration, and advanced coordination constructs for concurrency. SALSA is pre-processed into Java and preserves many of Java’s useful object oriented conceptsmainly, encapsulation, inheritance, and polymorphism. SALSA abstractions enable the development of dynamically reconfigurable applications. A SALSA program consists of universal actors that can be migrated around distributed nodes at runtime.}
}
-
Wei-Jen Wang and Carlos A. Varela.
A Non-Blocking Reference Listing Algorithm for Mobile Active Object Garbage Collection.
Technical report 07-05,
Dept. of Computer Science, R.P.I.,
February 2007.
Keyword(s): distributed computing,
grid computing,
internet programming languages.
Abstract:
Automatic garbage collection (GC) gives abstraction to distributed application development, promoting code quality and improving resource management. Unreachability of active objects or actors from the root set is not a sufficient condition to collect actor garbage, making passive object GC algorithms unsafe when directly used on actor systems. In practical actor languages, all actors have references to the root set since they can interact with users, e.g., through standard input or output streams. This feature makes every unblocked actor live, and thus we call it the live unblocked actor principle. Following this idea, we introduce pseudo-roots: a dynamic set of actors that can be viewed as the root set. Pseudo-roots use protected (undeletable) references to ensure that no actors are erroneously collected even with messages in transit. The pseudoroot approach simplifies distributed actor garbage collection by representing in-transit messages in the actor reference graph even if both application and system messages are unordered (nonFIFO) and communication is asynchronous. Our algorithm also supports systems not following the live unblocked actor principle and therefore, is applicable to more traditional actor garbage collection. We formalize the computing model of the pseudo-root approach and provide proofs of correctness. Furthermore, we summarize empirical results on the performance and scalability of distributed GC using a particle physics maximum likelihood evaluation fitter on a 72-processor cluster environment. |
@techreport{wang-varela-reference-listing-2007,
author = {{Wei-Jen} Wang and Carlos A. Varela},
title = "A Non-Blocking Reference Listing Algorithm for Mobile Active Object Garbage Collection",
institution = "Dept. of Computer Science, R.P.I.",
number = "{07-05}",
month = feb,
year = 2007,
pdf = {http://wcl.cs.rpi.edu/papers/toplasCS.pdf},
keywords = {distributed computing, grid computing, internet programming languages},
abstract = {Automatic garbage collection (GC) gives abstraction to distributed application development, promoting code quality and improving resource management. Unreachability of active objects or actors from the root set is not a sufficient condition to collect actor garbage, making passive object GC algorithms unsafe when directly used on actor systems. In practical actor languages, all actors have references to the root set since they can interact with users, e.g., through standard input or output streams. This feature makes every unblocked actor live, and thus we call it the live unblocked actor principle. Following this idea, we introduce pseudo-roots: a dynamic set of actors that can be viewed as the root set. Pseudo-roots use protected (undeletable) references to ensure that no actors are erroneously collected even with messages in transit. The pseudoroot approach simplifies distributed actor garbage collection by representing in-transit messages in the actor reference graph even if both application and system messages are unordered (nonFIFO) and communication is asynchronous. Our algorithm also supports systems not following the live unblocked actor principle and therefore, is applicable to more traditional actor garbage collection. We formalize the computing model of the pseudo-root approach and provide proofs of correctness. Furthermore, we summarize empirical results on the performance and scalability of distributed GC using a particle physics maximum likelihood evaluation fitter on a 72-processor cluster environment.}
}