Results 1 - 10
of
20
A Bytecode Translator for Distributed Execution of "Legacy" Java Software
, 2001
"... This paper proposes a system named Addistant, which enables the distributed execution of "legacy" Java bytecode. Here "legacy" means the software originally developed to be executed on a single Java virtual machine (JVM). For adapting legacy software to distributed execution on multiple JVM, develop ..."
Abstract
-
Cited by 44 (5 self)
- Add to MetaCart
This paper proposes a system named Addistant, which enables the distributed execution of "legacy" Java bytecode. Here "legacy" means the software originally developed to be executed on a single Java virtual machine (JVM). For adapting legacy software to distributed execution on multiple JVM, developers using Addistant have only to specify the host where instances of each class are allocated and how remote references are implemented. According to that specification, Addistant automatically transforms the bytecode at load time. A technical contribution by Addistant is that it covers a number of issues for implementing distributed execution in the real world. In fact, Addistant can adapt a legacy program written with the Swing library so that Swing objects are executed on a local JVM while the rest of objects are on a remote JVM.
Bayanihan: Building and Studying Web-Based Volunteer Computing Systems Using Java
, 1999
"... Project Bayanihan is developing the idea of volunteer computing , which seeks to enable people to form very large parallel computing networks very quickly by using ubiquitous and easy-to-use technologies such as web browsers and Java. By utilizing Java's object-oriented features, we have built a fle ..."
Abstract
-
Cited by 42 (2 self)
- Add to MetaCart
Project Bayanihan is developing the idea of volunteer computing , which seeks to enable people to form very large parallel computing networks very quickly by using ubiquitous and easy-to-use technologies such as web browsers and Java. By utilizing Java's object-oriented features, we have built a flexible software framework that makes it easy for programmers to write different volunteer computing applications, while allowing researchers to study and develop the underlying mechanisms behind them. In this paper, we show how we have used this framework to write master-worker style applications, and to develop approaches to the problems of programming interface, adaptive parallelism, fault-tolerance, computational security, scalability, and user interface design. Key words: metacomputing, parallel and distributed computing, network of workstations, heterogeneous computing, Java 1 Introduction Bayanihan (pronounced "buy-uh-nee-hun") is the name of an old Filipino countryside tradition wh...
Implementing Asynchronous Remote Method Invocation in Java
, 1999
"... Java's Remote Method Invocation is an example of a synchronous communication mechanism with a well defined protocol. Many software systems require more flexibility in their communication mechanisms, including asynchronous communication and delayed referencing of objects (Futures). This paper intr ..."
Abstract
-
Cited by 22 (2 self)
- Add to MetaCart
Java's Remote Method Invocation is an example of a synchronous communication mechanism with a well defined protocol. Many software systems require more flexibility in their communication mechanisms, including asynchronous communication and delayed referencing of objects (Futures). This paper introduces a novel mechanism allowing Java remote objects to use extended communication protocols without changes to the underlying wire or serialisation protocols. These extensions can be utilised by standard remote objects without additional coding changes and can be incorporated with standard Java clients. This paper explores the possibilities of implementing client controlled versus server controlled asynchronous communication and dynamic selection of protocols through the use of a precompiler for the remote object classes. A discussion of the possibility of integrating Futures and Batched Futures, and any required programming abstractions, into this mechanism is conducted. It is prop...
Ninflet: a Migratable Parallel Objects Framework using Java
- In Proceedings of the ACM 1998 Workshop on Java for High-Performance Network Computing
, 1998
"... Ninflet isaJava-based global computing system that builds on our experiences with the Ninf system which facilitated RPC-based computing of numerical tasks in a wide-area network. The goal of Ninflet is to become a new generation of concurrent object-oriented system which harness abundant idle comput ..."
Abstract
-
Cited by 20 (0 self)
- Add to MetaCart
Ninflet isaJava-based global computing system that builds on our experiences with the Ninf system which facilitated RPC-based computing of numerical tasks in a wide-area network. The goal of Ninflet is to become a new generation of concurrent object-oriented system which harness abundant idle computing powers, and also seamlessly integrate global as well as local network parallel computing. Ninflet is designed to make use of Java features to implement important features in global computing, such as resource allocation, interNinflet communication, security,checkpointing, object migration, and easy server management via HTTP. 1 Introduction World-wide computer networks have made it possible to delegate tasks to the computers on opposite sides of the globe, allowing us to make use of powers of idle computers. Furthermore, PCs and workstations are becoming increasingly employed in a clustered manner, sometimes with gigabit-capable local-area networks (LAN). The clusters could be some ded...
An adaptive, fault-tolerant implementation of BSP for Java-based volunteer computing systems
- In Proceedings of IPPS Workshop on Java for Parallel and Distributed Computing, volume 1586 of Lecture Notes in Computer Science
, 1999
"... Abstract. In recent years, there has been a surge of interest in Javabased volunteer computing systems, which aim to make it possible to build very large parallel computing networks very quickly by enabling users to join a parallel computation by simply visiting a web page and running a Java applet ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
Abstract. In recent years, there has been a surge of interest in Javabased volunteer computing systems, which aim to make it possible to build very large parallel computing networks very quickly by enabling users to join a parallel computation by simply visiting a web page and running a Java applet on a standard browser. A key research issue in implementing such systems is that of choosing an appropriate programming model. While traditional models such as MPI-like message-passing can and have been ported to Java-based systems, they are not generally well-suited to the heterogeneous and dynamic structure of volunteer computing systems, where nodes can join and leave a computation at any time. In this paper, we present an implementation of the Bulk Synchronous Parallel (BSP) model, which provides programmers with familiar message-passing and remote memory primitives while remaining exible enough to be used in dynamic environments. We show howwe have implemented this model using the Bayanihan software framework to enable programmers to port the growing base of BSP-based parallel applications to Java while achieving adaptive parallelism and protection against both the random faults and intentional sabotage that are possible in volunteer computing systems. 1
Grid-based Asynchronous Migration of Execution Context in Java Virtual Machines
- Proceedings of EuroPar 2000
, 2000
"... Abstract. Previous research efforts for building thread migration systems have concentrated on the development of frameworks dealing with a small local environment controlled by a single user. Computational Grids provide the opportunity to utilize a large-scale environment controlled over different ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
Abstract. Previous research efforts for building thread migration systems have concentrated on the development of frameworks dealing with a small local environment controlled by a single user. Computational Grids provide the opportunity to utilize a large-scale environment controlled over different organizational boundaries. Using this class of large-scale computational resources as part of a thread migration system provides a significant challenge previously not addressed by this community. In this paper we present a framework that integrates Grid services to enhance the functionality of a thread migration system. To accommodate future Grid services, the design of the framework is both flexible and extensible. Currently, our thread migration system contains Grid services for authentication, registration, lookup, and automatic software installation. In the context of distributed applications executed on a Grid-based infrastructure, the asynchronous migration of an execution context can help solve problems such as remote execution, load balancing, and the development of mobile agents. Our prototype is based on the migration of Java threads, allowing asynchronous and heterogeneous migration of the execution context of the running code. 1
Noncooperative Migration of Execution Context in Java Virtual Machines
- In Proc. of the First Annual Workshop on Java for High-Performance Computing (in conjunction with ACM ICS'99
, 1999
"... The migration of the execution context has been applied to remote execution and mobile agents, and noncooperative migration can be applied to even more applications, such as load balancing. We have therefore designed a system for the migration of Java threads, one that allows noncooperative and h ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
The migration of the execution context has been applied to remote execution and mobile agents, and noncooperative migration can be applied to even more applications, such as load balancing. We have therefore designed a system for the migration of Java threads, one that allows noncooperative and heterogeneous migration of the execution context of the running code. This paper describes an overview of the system, the problems we have faced in designing its facilities, and the results of preliminary evaluations of it performance.
Metacomputing on Commodity Computers
, 1999
"... To my family and friends who made my graduate school years enjoyable. iii Acknowledgements ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
To my family and friends who made my graduate school years enjoyable. iii Acknowledgements
Charlotte: Metacomputing on the Web
, 1996
"... Parallel computing on local area networks is generally based on mechanisms that specifically target the properties of the local area network environment. However, those mechanisms do not effectively extend to wide area networks due to issues such as heterogeneity, security, and administrative bounda ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Parallel computing on local area networks is generally based on mechanisms that specifically target the properties of the local area network environment. However, those mechanisms do not effectively extend to wide area networks due to issues such as heterogeneity, security, and administrative boundaries. We present a system which enables application programmers to write parallel programs in Java and allows Java-capable browsers to execute parallel tasks. It comprises a virtual machine model which isolates the program from the execution environment, and a runtime system realizing this virtual machine on the Web. Load balancing and fault masking are transparently provided by the runtime system. Keywords: Metacomputing, Parallel Computing, Fault Tolerance, Load Balancing, World Wide Web 1 Introduction Because the Web has been growing connecting millions of mostly idle machines, its potential for utilization in novel settings, including its use as a huge parallel metacomputer, is increa...
A Class-Object Model for Program Transformations
, 2002
"... The recent expert pro) ammers who have been fo rcedto develo large and co plicated proU ams have str o g desire to write"go o dco des" fr the viewpo intso f bo th runtime e#ciency and understandability, and they expect a translato to generate ago o dco de justto fit theiro wn needs if p o sible. Thi ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The recent expert pro) ammers who have been fo rcedto develo large and co plicated proU ams have str o g desire to write"go o dco des" fr the viewpo intso f bo th runtime e#ciency and understandability, and they expect a translato to generate ago o dco de justto fit theiro wn needs if p o sible. This fitting usually requires co plicated custo izatio o f the translato which co ld o ly be do ne by the experienced co piler experts, and the proU ammers canno t reflect their ideas o the translato s so easily, especially when the proU ammer's demandsto the qualityo f practical proC amming to o are severe. These situatio s lead usto the necessityto develo a mo re flexible appro ach by which the specificpro grammers can reflect their experience and kno wledge o the translato s by themselves. The techno lo+ that enables the reuseo f larger s o tware co po nents have beco e available with the emergence o theo bject-o iented paradigm, which have widened the applicabilityo f reusable co de pieces. Ho wever, the class-basedo bjecto iented mo dularizatio canno t always encapsulate every design decisio s perfectly; especially when they cr o scut the mo dule structure o a proC am, co de pieces cr o scutting a pro) am tangle with oz er co des and scattero ver the entire proU am; hence, class-based mo dularizatio is eventually vioCCCS . This kind o vioUNLN( may happen mo dern netwo k proS amming invo lving distributio no r security issues. This thesis addresses ho w to so lve these cro sscuttingpro blems witho ut lo ing o ject-o iented framewo rk's appearance o runtime perfo rmance. To co e with bo th o these two pr o lems, transfo rmatio al system is to be used to embed the cr o scuttingco de am o g the entire proS am au to atically and hide the scattered co de fro m the appearance. Ru...

