A Grid Middleware for Aggregating Scientific Computing Libraries and Parallel Programming Environments

Author(s):  
Xiaolin Gui ◽  
Qingjiang Wang ◽  
Depei Qian
1997 ◽  
Vol 6 (2) ◽  
pp. 215-227 ◽  
Author(s):  
Guy Edjlali ◽  
Gagan Guyagrawal ◽  
Alan Sussman ◽  
Jim Humphries ◽  
Joel Saltz

For better utilization of computing resources, it is important to consider parallel programming environments in which the number of available processors varies at run-time. In this article, we discuss run-time support for data-parallel programming in such an adaptive environment. Executing programs in an adaptive environment requires redistributing data when the number of processors changes, and also requires determining new loop bounds and communication patterns for the new set of processors. We have developed a run-time library to provide this support. We discuss how the run-time library can be used by compilers of high-performance Fortran (HPF)-like languages to generate code for an adaptive environment. We present performance results for a Navier-Stokes solver and a multigrid template run on a network of workstations and an IBM SP-2. Our experiments show that if the number of processors is not varied frequently, the cost of data redistribution is not significant compared to the time required for the actual computation. Overall, our work establishes the feasibility of compiling HPF for a network of nondedicated workstations, which are likely to be an important resource for parallel programming in the future.


2018 ◽  
Vol 175 ◽  
pp. 09008
Author(s):  
Claudio Bonati ◽  
Enrico Calore ◽  
Simone Coscetti ◽  
Massimo D’Elia ◽  
Michele Mesiti ◽  
...  

Varying from multi-core CPU processors to many-core GPUs, the present scenario of HPC architectures is extremely heterogeneous. In this context, code portability is increasingly important for easy maintainability of applications; this is relevant in scientific computing where code changes are numerous and frequent. In this talk we present the design and optimization of a state-of-the-art production level LQCD Monte Carlo application, using the OpenACC directives model. OpenACC aims to abstract parallel programming to a descriptive level, where programmers do not need to specify the mapping of the code on the target machine. We describe the OpenACC implementation and show that the same code is able to target different architectures, including state-of-the-art CPUs and GPUs.


Author(s):  
A.G. Hoekstra ◽  
P.M.A. Sloot ◽  
F. van der Linden ◽  
M. van Muiswinkel ◽  
J.J.J. Vesseur ◽  
...  

2014 ◽  
Vol 22 (1) ◽  
pp. 37-51 ◽  
Author(s):  
Vladimiras Dolgopolovas ◽  
Valentina Dagienė ◽  
Saulius Minkevičius ◽  
Leonidas Sakalauskas

In this paper, we present the methodology for the introduction to scientific computing based on model-centered learning. We propose multiphase queueing systems as a basis for learning objects. We use Python and parallel programming for implementing the models and present the computer code and results of stochastic simulations.


2006 ◽  
Vol 35 (3) ◽  
pp. 227-244 ◽  
Author(s):  
Jacques M. Bahi ◽  
Sylvain Contassot-Vivier ◽  
Raphaël Couturier

2014 ◽  
Vol 22 (3) ◽  
pp. 223-237
Author(s):  
Jan H. Schönherr ◽  
Ben Juurlink ◽  
Jan Richling

While multicore architectures are used in the whole product range from server systems to handheld computers, the deployed software still undergoes the slow transition from sequential to parallel. This transition, however, is gaining more and more momentum due to the increased availability of more sophisticated parallel programming environments. Combined with the ever increasing complexity of multicore architectures, this results in a scheduling problem that is different from what it has been, because concurrently executing parallel programs and features such as non-uniform memory access, shared caches, or simultaneous multithreading have to be considered. In this paper, we compare different ways of scheduling multiple parallel applications on multicore architectures. Due to emerging parallel programming environments, we primarily consider applications where the parallelism degree can be changed on the fly. We propose TACO, a topology-aware scheduling scheme that combines equipartitioning and coscheduling, which does not suffer from the drawbacks of the individual concepts. Additionally, TACO is conceptually compatible with contention-aware scheduling strategies. We find that topology-awareness increases performance for all evaluated workloads. The combination with coscheduling is more sensitive towards the executed workloads and NUMA effects. However, the gained versatility allows new use cases to be explored, which were not possible before.


Sign in / Sign up

Export Citation Format

Share Document