Heterogeneous applications often need to access diverse data from different computers and process the data in parallel. The software for such heterogeneous applications can be quite complex due to the need to manage t...
详细信息
Heterogeneous applications often need to access diverse data from different computers and process the data in parallel. The software for such heterogeneous applications can be quite complex due to the need to manage the low-level aspects of the computation. We discuss the issues of heterogeneity such as different programming languages, systems, architectures, networks, and mechanisms expressed in programming languages which should be transparent to application developers to provide an easy-to-code programming model. In this paper, we are proposing an approach to providing parallel processing support through multiparty interaction (MI) protocol without inventing a new programming language. A 4-layered interaction model will be presented to decouple the applications and their underlying middleware implementations including coordination by providing a set of generic interfaces to the applications. The decoupling of applications and middleware technologies by isolating computation, communication, coordination, and parallelism promotes reuse, improves comprehension, and eases maintenance due to software evolution.
This paper presents the work done in developing a Common LISP programming environment, to aid applications programmers solving large-scale numerical problems on hypercube architectures. The power of abstraction of Com...
详细信息
This paper presents the work done in developing a Common LISP programming environment, to aid applications programmers solving large-scale numerical problems on hypercube architectures. The power of abstraction of Common LISP along with the speed of C programming language have been combined to develop this environment. The inherent parallelism and asynchronous operation of data-flow graphs are put to use in instruction execution.< >
We introduce the HyperC language, a data parallel extension of C intended for portability over a wide range of architectures. We present the main topics of the language: the explicit parallelism through the data, the ...
详细信息
We introduce the HyperC language, a data parallel extension of C intended for portability over a wide range of architectures. We present the main topics of the language: the explicit parallelism through the data, the synchronous semantics and the parallel flow control that allows asynchronous execution, new function qualifiers to emphasize locality properties code and, finally, new communication techniques to allow overlap of communications and computations even for irregular computations. All these features are discussed with respect to portability and code reusability issues.< >
Understanding the performance behavior of parallel applications is important in many ways, but doing so is not easy. Most open source analysis tools are written for the com mand line. We are building on these proven t...
详细信息
ISBN:
(数字)9798350364606
ISBN:
(纸本)9798350364613
Understanding the performance behavior of parallel applications is important in many ways, but doing so is not easy. Most open source analysis tools are written for the com mand line. We are building on these proven tools to provide an interactive performance analysis experience within Jupyter Notebooks when developing parallel code with MPI, OpenMP, or both. Our solution makes it possible to measure the execution time, perform profiling and tracing, and visualize the results within the notebooks. For ease of use, it provides both a graphical JupyterLab extension and a C++ Api. The JupyterLab extension shows a dialog where the user can select the type of analysis and its parameters. Internally, this tool uses Score-P,Scalasca, and Cube to generate profiling and tracing data. This tight integration gives students easy access to profiling tools and helps them better understand concepts such as benchmarking, scalability and performance bottlenecks. In addition to the technical development, the article presents hands-on exercises from our well-established parallel programming course. We conclude with a qualitative and quantitative evaluation with 19 students, which shows a positive effect of the tools on the students' perceived competence.
We investigate the sample weighting effect on genetic parallel programming (GPP). GPP evolves parallel programs to solve the training samples in a training set. Usually, the samples are captured directly from a real-w...
详细信息
ISBN:
(纸本)0780378040
We investigate the sample weighting effect on genetic parallel programming (GPP). GPP evolves parallel programs to solve the training samples in a training set. Usually, the samples are captured directly from a real-world system. The distribution of samples in a training set can be extremely biased. Standard GPP assigns equal weights to all samples. It slows down evolution because crowded regions of samples dominate the fitness evaluation causing premature convergence. We present 4 sample weighting (SW) methods, i.e. equal SW, class-equal SW, static SW (SSW) and dynamic SW (DSW). We evaluate the 4 methods on 7 training sets (3 Boolean functions and 4 UCI medical data classification databases). Experimental results show that DSW is superior in performance on all tested problems. In the 5-input symmetry Boolean function experiment, SSW and DSW boost the evolutionary performance by 465 and 745 times respectively. Due to the simplicity and effectiveness of SSW and DSW, they can also be applied to different population-based evolutionary algorithms.
For better utilization of computing resources, it is important to consider parallel programming environments in which the number of available processors varies at runtime. In this paper, we discuss runtime support for...
详细信息
For better utilization of computing resources, it is important to consider parallel programming environments in which the number of available processors varies at runtime. In this paper, we discuss runtime support for data parallel programming in such an adaptive environment. Executing data parallel-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 runtime library to provide this support. We also present performance results for a multiblock Navier-Stokes solver run on a network of workstations using PVM for message passing. 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 computations.< >
The advantages of pattern-based programming have been well-documented in the sequential programming literature. However patterns have yet to make their way into mainstream parallel computing, even though several resea...
详细信息
The advantages of pattern-based programming have been well-documented in the sequential programming literature. However patterns have yet to make their way into mainstream parallel computing, even though several research tools support them. There are two critical shortcomings of pattern (or template) based systems for parallel programming: lack of extensibility and performance. This paper describes our approach for addressing these problems in the CO/sub 2/P/sub 3/S parallel programming system. CO/sub 2/P/sub 3/S supports multiple levels of abstraction, allowing the user to design an application with high-level patterns, but move to lower levels of abstraction for performance tuning. Patterns are implemented as parameterized templates, allowing the user the ability to customize the pattern to meet their needs. CO/sub 2/P/sub 3/S generates code that is specific to the pattern/parameter combination selected by the user. The MetaCO/sub 2/P/sub 3/S tool addresses extensibility by giving users the ability to design and add new pattern templates to CO/sub 2/P/sub 3/S. Since the pattern templates are stored in a system-independent format, they are suitable for storing in a repository to be shared throughout the user community.
The computing power provided by high performance and low cost PC-based clusters and grid computing platforms are attractive and they are equal or superior to supercomputers and mainframes. In parallel, discussions on ...
详细信息
ISBN:
(纸本)0780389328
The computing power provided by high performance and low cost PC-based clusters and grid computing platforms are attractive and they are equal or superior to supercomputers and mainframes. In parallel, discussions on how to obtain more computing power from these computing platforms become an interesting issue. The development of applications for these high-performance computing platforms is complicated for several reasons: the complexity of applications themselves, which combines aspects of super computing and distributed computing, and by the need to achieve higher performance. This paper describes the design rationale and implementation of a parallel programming Web-based toolkit, to ease the parallel programming learning process, with the use of Web-based interface. The toolkit has widely been used in MPI parallel programming courses (both in graduate and undergraduate levels) and industry trainings.
There are two popular parallel programming paradigms available to high performance computing users such as engineering and physics professionals: message passing and distributed shared memory. It is interesting to hav...
详细信息
There are two popular parallel programming paradigms available to high performance computing users such as engineering and physics professionals: message passing and distributed shared memory. It is interesting to have a comparative evaluation of these paradigms to choose the most adequate one. In this work, we present a performance comparison of these two programming paradigms using a computational physics problem as a case study. The self-gravitating ring model (Hamiltonian mean field model) for N particles is extensively studied in the literature as a simplified model for long range interacting systems in Physics. We parallelized and evaluated the performance of a simulation that uses the symplectic integrator to model an N particle system. From the obtained results it is possible to observe that message passing implementation of the symplectic integrator presents better results than distributed shared memory implementation.
Parallaxis is a machine-independent language for data-parallel programming, based on sequential Modula-2. programming in Parallaxis is done on a level of abstraction with virtual processors and virtual connections, wh...
详细信息
Parallaxis is a machine-independent language for data-parallel programming, based on sequential Modula-2. programming in Parallaxis is done on a level of abstraction with virtual processors and virtual connections, which may be defined by the application programmer. This paper describes Parallaxis-III, the current version of the language definition, together with a number of parallel sample algorithms.< >
暂无评论