Results 1 - 10
of
18
JPVM: Network Parallel Computing in Java
- In ACM 1998 Workshop on Java for High-Performance Network Computing
, 1997
"... The JPVM library is a software system for explicit message-passing based parallel programming in Java. The library supports an interface similar to the C and Fortran interface of the Parallel Virtual Machine (PVM) system, with modifications to better suit Java programming styles. The similarity b ..."
Abstract
-
Cited by 60 (0 self)
- Add to MetaCart
The JPVM library is a software system for explicit message-passing based parallel programming in Java. The library supports an interface similar to the C and Fortran interface of the Parallel Virtual Machine (PVM) system, with modifications to better suit Java programming styles. The similarity between JPVM and the widely used PVM system supports a quick learning curve for experienced PVM programmers. At the same time, JPVM offers novel features not found in standard PVM such as thread safety, multiple communication end-points per task, and default-case direct message routing. JPVM is implemented entirely in Java, and is thus highly portable among platforms supporting the Java Virtual Machine. This feature opens up the possibility of utilizing resources commonly excluded from network parallel computing systems such as Macintosh and Windows based workstations. Initial applications performance results achieved with a prototype JPVM system indicate that the Java-implemented appr...
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...
The Computational and Storage Potential of Volunteer Computing
, 2006
"... Abstract – “Volunteer computing ” uses Internetconnected computers, volunteered by their owners, as a source of computing power and storage. This paper studies the potential capacity of volunteer computing. We analyzed measurements of about 200,000 hosts participating in a volunteer computing projec ..."
Abstract
-
Cited by 39 (6 self)
- Add to MetaCart
Abstract – “Volunteer computing ” uses Internetconnected computers, volunteered by their owners, as a source of computing power and storage. This paper studies the potential capacity of volunteer computing. We analyzed measurements of about 200,000 hosts participating in a volunteer computing project. These measurements include processing power, memory, disk space, network throughput, host availability, userspecified limits on resource usage, and host churn. We show that volunteer computing can support applications that are significantly more data-intensive, or have high memory and storage requirements, than those in current projects. 1
Trustless grid computing in ConCert
- Grid Computing – Grid 2002 Third International Workshop
, 2002
"... Abstract. We believe that fundamental to the establishment of a grid computing framework where all (not just large organizations) are able to effectively tap into the resources available on the global network is the establishment of trust between grid application developers and resource donors. Reso ..."
Abstract
-
Cited by 25 (8 self)
- Add to MetaCart
Abstract. We believe that fundamental to the establishment of a grid computing framework where all (not just large organizations) are able to effectively tap into the resources available on the global network is the establishment of trust between grid application developers and resource donors. Resource donors must be able to trust that their security, safety, and privacy policies will be respected by programs that use their systems. In this paper, we present a novel solution based on the notion of certified code that upholds safety, security, and privacy policies by examining intrinsic properties of code. Certified code complements authentication and provides a foundation for a safe, secure, and efficient framework that executes native code. We describe the implementation of such a framework known as the ConCert software. 1 Introduction In recent years, numerous organizations have been vying for donated resources for their grid applications. Potential resource donors are inundated with worthwhile grid projects such as discovering a cure for AIDS, finding large prime numbers, and searching for extraterrestrial intelligence. Part of the difficulty in obtaining resources is establishing trust between the grid application developer and the resource donors. Because resource donors often receive little or no direct reward for their contributions, they demand assurances of safety, security, and privacy to protect themselves from malicious as well as simply unreliable software. In an ideal grid framework, as proposed in Legion [18], users are provided the abstraction of a single virtual machine that automatically distributes work and gathers results. In such a framework, this issue is even more salient because the exchange of code happens automatically.
Javelin++: Scalability Issues in Global Computing
- In ACM 1999 Java Grande Conference
, 1999
"... Javelin is a Java-based infrastructure for global computing. This paper presents Javelin++, an extension of Javelin, intended to support a much larger set of computational hosts. First, Javelin++'s switch from Java applets to Java applications is explained. Then, two scheduling schemes are presented ..."
Abstract
-
Cited by 25 (0 self)
- Add to MetaCart
Javelin is a Java-based infrastructure for global computing. This paper presents Javelin++, an extension of Javelin, intended to support a much larger set of computational hosts. First, Javelin++'s switch from Java applets to Java applications is explained. Then, two scheduling schemes are presented: a probabilistic work-stealing scheduler and a deterministic scheduler. The deterministic scheduler also implements eager scheduling, as well as another fault-tolerance mechanism for hosts that have failed or retreated. A Javelin ++ API is sketched, then illustrated on a raytracing application. Performance results for the two schedulers are reported, indicating that Javelin++, with its broker network, scales better than the original Javelin. 1 Introduction Our goal is to harness the Internet's vast, growing, computational capacity for ultra-large, coarse-grained parallel applications. Some other research projects based on a similar vision include CONDOR [21, 13], Legion [18], and GLOBUS [...
Towards Bayanihan: Building an Extensible Framework for Volunteer Computing Using Java
- In ACM Workshop on Java for Science and Engineering Computation
, 1998
"... . Project Bayanihan seeks to develop the idea of volunteer computing , which allows people to very easily pool together their computers ' processing power and cooperate in solving parallel problems. While the idea of volunteer computing o#ers many exciting new prospects in global supercomputing ..."
Abstract
-
Cited by 22 (3 self)
- Add to MetaCart
. Project Bayanihan seeks to develop the idea of volunteer computing , which allows people to very easily pool together their computers ' processing power and cooperate in solving parallel problems. While the idea of volunteer computing o#ers many exciting new prospects in global supercomputing and collaboration, its realization involves many challenging research issues that need to be addressed. In this paper, we present a #exible object-oriented framework using Java and HORB that allows programmers to experiment with di#erent approaches to these issues by simply extending and interconnecting basic library components. We also present results from a distributed web-crawling application written using the framework. 1 Introduction Bayanihan is a Filipino word meaning a community spirit of unity and cooperation that makes seemingly impossible tasks possible through the concerted e#ort of many people working together on a common goal. Project Bayanihan seeks to bring the bayani...
Javelin: Parallel Computing on the Internet
- Future Generation Computer Systems
, 1999
"... Java offers the basic infrastructure needed to integrate computers connected to the Internet into a seamless distributed computational resource: an infrastructure for running coarse-grained parallel applications on numerous, anonymous machines. First, we sketch such a resource's essential technica ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
Java offers the basic infrastructure needed to integrate computers connected to the Internet into a seamless distributed computational resource: an infrastructure for running coarse-grained parallel applications on numerous, anonymous machines. First, we sketch such a resource's essential technical properties. Then, we present a prototype of Javelin, an infrastructure for global computing. The system is based on Internet software that is interoperable, increasingly secure, and ubiquitous: Java-enabled Web technology. Ease of participation is seen as a key property for such a resource to realize the vision of a multiprocessing environment comprising thousands of computers. Javelin's architecture and implementation require participants to have access to only a Java-enabled Web browser. Experimental results are given in the form of a Mersenne Prime application and a ray-tracing application that run on a heterogeneous network of several parallel machines, workstations, and PCs. Tw...
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
Market-Based Massively Parallel Internet Computing
- In Third Working Conf. on Massively Parallel Programming Models
, 1997
"... Recent advances in Internet connectivity and implementations of safer distributed computing through languages such as Java provide the foundation for transforming computing resources into tradable commodities. We have developed Javelin, a Java-based prototype of a globally distributed, heterogeneous ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Recent advances in Internet connectivity and implementations of safer distributed computing through languages such as Java provide the foundation for transforming computing resources into tradable commodities. We have developed Javelin, a Java-based prototype of a globally distributed, heterogeneous, high-performance computational infrastructure that conveniently enables rapid execution of massively parallel applications. Our infrastructure consists of three entities: Hosts, clients, and brokers. Our goal is to allow users to buy and sell computational power, using supply and demand, and market mechanisms to marshal computational power far beyond what can be achieved via conventional techniques. Several research issues must be worked out to make this vision a reality: allocating resources between computational objects via market mechanisms; expressing and enforcing scheduling and quality of service constraints; modeling programming in a global computing ecosystem; supporting heterogene...
Designing a runtime system for volunteer computing
- IEEE Computer
, 2006
"... Volunteer computing is a form of distributed computing in which the general public volunteers processing and storage to scientific research projects. BOINC, a middleware system for volunteer computing, is currently used by about 20 projects, to which over 600,000 volunteers and 1,000,000 computers s ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Volunteer computing is a form of distributed computing in which the general public volunteers processing and storage to scientific research projects. BOINC, a middleware system for volunteer computing, is currently used by about 20 projects, to which over 600,000 volunteers and 1,000,000 computers supply 350 TeraFLOPS of processing power. A BOINC client program runs on the volunteered hosts and manages the execution of applications. Together with a library linked to applications, it implements a runtime system providing process management, graphics control, checkpointing, file access, and other functions. This runtime system must handle widely varying applications, must provide features and properties desired by volunteers, and must work on many platforms. This paper describes the problems in designing a runtime system having these properties, and how these problems are solved in BOINC. 1.

