Memory coherence in shared virtual memory systems
ACM Transactions on Computer Systems (TOCS)
PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
Using and designing massively parallel computers for artificial neural networks
Journal of Parallel and Distributed Computing - Special issue on neural computing on massively parallel processing
Using MPI: portable parallel programming with the message-passing interface
Using MPI: portable parallel programming with the message-passing interface
Cluster computing: the commodity supercomputer
Software—Practice & Experience
An evaluation of Java implementations of message-passing
Software—Practice & Experience
JESSICA: Java-enabled single-system-image computing architecture
Journal of Parallel and Distributed Computing - Special Issue on Java on Clusters
High Performance Cluster Computing: Architectures and Systems
High Performance Cluster Computing: Architectures and Systems
Software Agents for Future Communication Systems
Software Agents for Future Communication Systems
A Distributed Parallel Programming Framework
IEEE Transactions on Software Engineering
Fundamentals of Parallel Processing
Fundamentals of Parallel Processing
JMPI: Implementing the Message Passing Standard in Java
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
MPJ: A Proposed Java Message Passing API and Environment for High Performance Computing
IPDPS '00 Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing
Communication with Threads in Software DSMs
CLUSTER '01 Proceedings of the 3rd IEEE International Conference on Cluster Computing
An Agent-Based Infrastructure for Parallel Java on Heterogeneous Clusters
CLUSTER '02 Proceedings of the IEEE International Conference on Cluster Computing
JESSICA2: A Distributed Java Virtual Machine with Transparent Thread Migration Support
CLUSTER '02 Proceedings of the IEEE International Conference on Cluster Computing
CEJVM: "Cluster Enabled Java Virtual Machine"
CLUSTER '02 Proceedings of the IEEE International Conference on Cluster Computing
M-JavaMPI: A Java-MPI Binding with Process Migration Support
CCGRID '02 Proceedings of the 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid
Process Migration Based on Gobelins Distributed Shared Memory
CCGRID '02 Proceedings of the 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid
Shared memory computing on clusters with symmetric multiprocessors and system area networks
ACM Transactions on Computer Systems (TOCS)
Cluster computing environment supporting single system image
CLUSTER '04 Proceedings of the 2004 IEEE International Conference on Cluster Computing
Timing analysis of keystrokes and timing attacks on SSH
SSYM'01 Proceedings of the 10th conference on USENIX Security Symposium - Volume 10
Computer Languages, Systems and Structures
A new technique for data privatization in user-level threads and its use in parallel applications
Proceedings of the 2010 ACM Symposium on Applied Computing
On the evaluation of java symphony for heterogeneous multi-core clusters
Euro-Par 2010 Proceedings of the 2010 conference on Parallel processing
Advances in Engineering Software
A2-VM: a cooperative Java VM with support for resource-awareness and cluster-wide thread scheduling
OTM'11 Proceedings of the 2011th Confederated international conference on On the move to meaningful internet systems - Volume Part I
Preserving the original MPI semantics in a virtualized processor environment
Science of Computer Programming
Hi-index | 0.00 |
Clusters, composed of symmetric multiprocessor (SMP) machines and heterogeneous machines, have become increasingly popular for high-performance computing. Message-passing libraries, such as message-passing interface (MPI) and parallel virtual machine (PVM), are de facto parallel programming libraries for clusters that usually consist of homogeneous and uni-processor machines. For SMP machines, MPI is combined with multithreading libraries like POSIX Thread and OpenMP to take advantage of the architecture. In addition to existing parallel programming libraries that are in C-C++ and FORTRAN programming languages, the Java programming language presents itself as another alternative with its object-oriented framework, platform neutral byte code, and ever-increasing performance. This paper presents a new parallel programming model and a library, VCluster, which implements this model. VCluster is based on migrating virtual threads instead of processes to support clusters of SMP machines more efficiently. The implementation uses thread migration, which can be used in dynamic load balancing. VCluster was developed in pure Java, utilizing the portability of Java to support clusters of heterogeneous machines. Several applications are developed to illustrate the use of this library and compare the usability and performance of VCluster with other approaches. Copyright © 2007 John Wiley & Sons, Ltd.