A bridging model for parallel computation
Communications of the ACM
Data-parallel programming on MIMD computers
Data-parallel programming on MIMD computers
LogP: towards a realistic model of parallel computation
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Software support for heterogeneous computing
ACM Computing Surveys (CSUR)
IEEE Transactions on Parallel and Distributed Systems
Parallel application scheduling on networks of workstations
Journal of Parallel and Distributed Computing
Customized dynamic load balancing for a network of workstations
Journal of Parallel and Distributed Computing
The grid
Application-level scheduling on distributed heterogeneous networks
Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
Journal of Parallel and Distributed Computing
Matrix Multiplication on Heterogeneous Platforms
IEEE Transactions on Parallel and Distributed Systems
A Proposal for a Heterogeneous Cluster ScaLAPACK (Dense Linear Solvers)
IEEE Transactions on Computers
MPI: The Complete Reference
Scheduling parallel applications in distributed networks
Cluster Computing
IEEE Transactions on Parallel and Distributed Systems
IRREGULAR '98 Proceedings of the 5th International Symposium on Solving Irregularly Structured Problems in Parallel
A Dynamic Matching and Scheduling Algorithm for Heterogeneous Computing Systems
HCW '98 Proceedings of the Seventh Heterogeneous Computing Workshop
Dynamic, Competitive Scheduling of Multiple DAGs in a Distributed Heterogeneous Environment
HCW '98 Proceedings of the Seventh Heterogeneous Computing Workshop
Parallelism in random access machines
STOC '78 Proceedings of the tenth annual ACM symposium on Theory of computing
Static LU Decomposition on Heterogeneous Platforms
International Journal of High Performance Computing Applications
On performance analysis of heterogeneous parallel algorithms
Parallel Computing
Distributed Quasi-Monte Carlo Algorithm for Option Pricing on HNOWs Using mpC
ANSS '06 Proceedings of the 39th annual Symposium on Simulation
HeteroMPI: Towards a message-passing library for heterogeneous networks of computers
Journal of Parallel and Distributed Computing
Dynamic Load Balancing on Dedicated Heterogeneous Systems
Proceedings of the 15th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
International Journal of High Performance Computing Applications
Accurate and Efficient Estimation of Parameters of Heterogeneous Communication Performance Models
International Journal of High Performance Computing Applications
Parallel testing of distributed software
Information and Software Technology
PPAM'07 Proceedings of the 7th international conference on Parallel processing and applied mathematics
Pricing algorithms for financial derivatives
Algorithms and theory of computation handbook
HiPC'06 Proceedings of the 13th international conference on High Performance Computing
The grid-ireland deployment architecture
EGC'05 Proceedings of the 2005 European conference on Advances in Grid Computing
Heterogeneity of computing nodes for grid computing
EGC'05 Proceedings of the 2005 European conference on Advances in Grid Computing
Exploiting heterogeneous parallelism with the Heterogeneous Programming Library
Journal of Parallel and Distributed Computing
International Journal of Automation and Computing
Hi-index | 0.00 |
The paper presents a new advanced version of the mpC parallel language. The language was designed specially for programming high-performance parallel computations on heterogeneous networks of computers.The advanced version allows the programmer to define at runtime all the main features of the underlying parallel algorithm, which have an impact on the application execution performance, namely, the total number of participating parallel processes, the total volume of computations to be performed by each of the processes, the total volume of data to be transferred between each pair of the processes, and how exactly the processes interact during the execution of the algorithm. Such an abstraction of parallel algorithm is called a network type in mpC.Given a network type, the programmer can define a network object of this type and describe in details all the computations and communications to be performed on the network object. The mpC programming system uses the information extracted from the network-type definition together with information about the actual performance of the executing network to map the processes of the parallel program to this network in such a way that leads to its better execution time.In addition, the programmer can use a special operator, time of, which predicts the total time of the algorithm execution on the underlying hardware without its real execution. That feature allows the programmer to write such a parallel program that can follow different parallel algorithms to solve the same problem, making choice at runtime depending on the particular executing network and its actual performance.The paper describes both the language model of parallel algorithm and the model of executing parallel environment used by the mpC programming system. It also discusses principles of the implementation of mapping mpC network objects to the computing network.