This paper proposes a data race prevention scheme, which can prevent data races in the View-Oriented parallel programming (VOPP) model. VOPP is a novel shared-memory data-centric parallel programming;model, which uses...
详细信息
ISBN:
(纸本)9781424452910
This paper proposes a data race prevention scheme, which can prevent data races in the View-Oriented parallel programming (VOPP) model. VOPP is a novel shared-memory data-centric parallel programming;model, which uses views to bundle mutual exclusion with data access. We have implemented the data race prevention scheme with a memory protection mechanism. Experimental results show that the extra overhead of memory protection is trivial in our applications. We also present a new VOPP implementation-Maotai 2.0, which has advanced features such as deadlock avoidance, producer/consumer view and system queues, in addition to the data race prevention scheme. The performance of Maotai 2.0 is evaluated and compared with modern programming models such as OpenMP and Cilk.
Water quality assessment and prediction of Lake Michigan are becoming major challenges in Northwest Indiana, USA. Traditionally, mechanistic simulation models are employed for water quality modeling and prediction. Ho...
详细信息
ISBN:
(纸本)9781509055074
Water quality assessment and prediction of Lake Michigan are becoming major challenges in Northwest Indiana, USA. Traditionally, mechanistic simulation models are employed for water quality modeling and prediction. However, given the complicate nature of Lake Michigan in Northwestern Indiana, the detailed simulation model is extremely simple in comparison and, at some point, additional detail exceeds our ability to simulate and predict with reasonable error levels. In this regard, my project applied data mining technologies, as an innovative alternative, to develop an easy and more accurate approach for water quality assessment and prediction. The drawback of the data mining modeling is that the execution takes quite long time, especially when we employ a better accuracy but more time consuming algorithm in clustering. Therefore, we applied the High Performance Computing System of the Northwest Indiana Computational Grid to deal with this problem. Up to now, the pilot experiments have achieved very promising preliminary results. The visualized water quality assessment and prediction obtained from this project would be published in an interactive website so that the public and the environmental managers could use the information for their decision making.
A new parallel programming framework for DNA sequence alignment in homogeneous multi-core processor architectures is proposed. Contrasting with traditional coarse-grained parallel approaches, that divide the considere...
详细信息
ISBN:
(纸本)9780769539676
A new parallel programming framework for DNA sequence alignment in homogeneous multi-core processor architectures is proposed. Contrasting with traditional coarse-grained parallel approaches, that divide the considered database in several smaller subsets of complete sequences to be aligned with the query sequence, the presented methodology is based on a slicing procedure of both the query and the database sequence under consideration in several tiles/chunks that are concurrently processed by the several cores available in the multi-core processor. The obtained experimental results have proven that significant accelerations of traditional biological sequence alignment algorithms can be obtained, reaching a speedup that is linear with the number of available processing cores and very close to the theoretical maximum.
Pattern-oriented programming has been used in parallel code development for many years now. During this time, several tools (mainly frameworks and libraries) proposed the use of patterns based on programming primitive...
详细信息
ISBN:
(纸本)9783642409226;9783642409219
Pattern-oriented programming has been used in parallel code development for many years now. During this time, several tools (mainly frameworks and libraries) proposed the use of patterns based on programming primitives or templates. The implementation of patterns using those tools usually requires human expertise to correctly set up communication/synchronization among processes. In this work, we propose the use of a Domain Specific Language to create pattern-oriented parallel programs (DSL-POPP). This approach has the advantage of offering a higher programming abstraction level in which communication/synchronization among processes is hidden from programmers. We compensate the reduction in programming flexibility offering the possibility to use combined and/or nested parallel patterns (i.e., parallelism in levels), allowing the design of more complex parallel applications. We conclude this work presenting an experiment in which we develop a parallel application exploiting combined and nested parallel patterns in order to demonstrate the main properties of DSL-POPP.
This paper presents experience using a research-infused teaching approach towards an undergraduate parallel programming course. The research-teaching nexus is applied at various levels, first by using research-led tea...
详细信息
ISBN:
(纸本)9781479941162
This paper presents experience using a research-infused teaching approach towards an undergraduate parallel programming course. The research-teaching nexus is applied at various levels, first by using research-led teaching of core parallel programming concepts, as well as teaching the latest developments from the affiliated research group. The bulk of the course, however, focuses more on the student-driven research-based and research-tutored teaching approaches, where students actively participate in groups on research projects;students are fully immersed in the learning activity of their respective project, while at the same time participating in discussions of wider parallel programming topics across other groups. This intimate affiliation between the undergraduate course and the research group results in a wide range of benefits for all those involved.
EFL is an embedded language, which allows parallel programs to be written using the new Flexible Algorithms' approach to parallel programming, which has an imperative programming style, and ensures lock-free deter...
详细信息
ISBN:
(纸本)9781538649275
EFL is an embedded language, which allows parallel programs to be written using the new Flexible Algorithms' approach to parallel programming, which has an imperative programming style, and ensures lock-free determinism. Hammock cost techniques have been proven useful in project management, reducing much of projects' costs and resources' use - close to one billion Euros were saved in the Westerscheldetunnel project. Much more, Hammock activities are useful in many other implementations of project management like sub-projects and outsourcing issues. In this research, we are proposing to implement the intrinsically parallel Hammock cost techniques by using EFL's parallel programming paradigm. We believe that this will allow better project overall performance.
The Moore's law has reached its limitation since the integration and economic issues of CPU. Therefore, the trend of chip design is moving to the increase of the number of cores rather than stressing the density o...
详细信息
ISBN:
(纸本)9781538643426
The Moore's law has reached its limitation since the integration and economic issues of CPU. Therefore, the trend of chip design is moving to the increase of the number of cores rather than stressing the density of circuits. Consequently, the parallel programming is attracting interests. In this trend, functional languages are getting popular for parallel programming since they have inherent parallelism. This paper aims to compare and analyze two Haskell programming models for many-core environment. We developed applications based on a Haskell parallel programming model named Eval monad and Cloud Haskell, respectively to compare the performance of them. We test the application on both 32 cores and 120 cores CPU. The experimental result shows that on 32 cores, the performances are similar, but on the 120 cores, Cloud Haskell performs 32% faster on run-time, and 123% better on scalability. This result implies that Cloud Haskell is more appropriate for a large number of cores than Eval monad, and the latter is more suitable for simple parallelism involving just tens of cores.
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 command line. We are building on these proven to...
详细信息
ISBN:
(纸本)9798350364613;9798350364606
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 command 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.
parallel computing is now become a widely used solution of the complex problem in science and engineer fields. On the same time, it brings about two big challenges: I) how to simplify the sophisticate job of coding pa...
详细信息
ISBN:
(纸本)3540219889
parallel computing is now become a widely used solution of the complex problem in science and engineer fields. On the same time, it brings about two big challenges: I) how to simplify the sophisticate job of coding parallel program II) how to find an exact way to change the sequential code to parallel code. This article tries to face these challenges by coming out a new idea: User guided parallelized policy.
The Python programming language has established itself as a popular alternative for implementing scientific computing workflows. Its massive adoption across a wide spectrum of disciplines has created a strong communit...
详细信息
ISBN:
(数字)9783031238215
ISBN:
(纸本)9783031238208;9783031238215
The Python programming language has established itself as a popular alternative for implementing scientific computing workflows. Its massive adoption across a wide spectrum of disciplines has created a strong community that develops tools for solving complex problems in science and engineering. In particular, there are several parallel programming libraries for Python codes that target multicore processors. We aim at comparing the performance and scalability of a subset of three popular libraries (Multiprocessing, PyMP, and Torcpy). We use the Particle-in-cell (PIC) method as a benchmark. This method is an attractive option for understanding physical phenomena, specially in plasma physics. A pre-existing PIC code implementation was modified to integrate Multiprocessing, PyMP, and Torcpy. The three tools were tested on a manycore and on a multicore processor by running different problem sizes. The results obtained consistently indicate that PyMP has the best performance, Multiprocessing showed a similar behavior but with longer execution times, and Torcpy did not properly scale when increasing the number of workers. Finally, a just-in-time (JIT) alternative was studied by using Numba, showing execution time reductions of up to 43%.
暂无评论