As computers with multi-core CPUs become the norm, software development professionals must confront the challenge of developing software that takes advantage of this hardware trend. API providers, in turn, must provid...
详细信息
ISBN:
(纸本)9780769536019
As computers with multi-core CPUs become the norm, software development professionals must confront the challenge of developing software that takes advantage of this hardware trend. API providers, in turn, must provide useful parallel programming libraries. PLINQ, a parallel version of Microsoft's LINQ-to-Objects, is one such API aimed at providing a simple, functional style programming model for parallelism. At Microsoft, we have multiple testing strategies for the software components we develop. We present in this paper one approach to testing PLINQ using an automated test generation, execution, and evaluation strategy named SLUG (Systematic LINQ Unit-test Generator). This approach enables us to not only generate unit tests, but performance, stress, and security tests as well. We show that by using this approach to testing, we can achieve high code coverage;we analyze how SLUG allowed us to gain a higher confidence in the quality of our code.
parallel programming is commonly done through a library approach, as in the Message Passing Interface (MPI), directives, as in OpenMP, language extensions, as in High Performance Fortran (HPF), or whole new languages,...
详细信息
A parallel logic programming language GHC, proposed by Ueda (1985), is now playing a very important role in the Fifth Generation Computer Project. It is a successor of Relational Language (Clark and Gregory 1981), Con...
详细信息
In recent years, with the continuous improvement of high performance computing hardware platform,the application of high performance for a wide range of high-performance, traditional parallel programming environment t...
详细信息
This paper presents a programming environment called CNET we have developed for the reconfigurable SuperNode multiprocessor. It allows the implementation of variable-topology programs that are referred to as phase-rec...
详细信息
The increased presence of parallel computing platforms brings concerns to the general purpose domain that were previously prevalent only in the specific niche of high-performance computing. As parallel programming tec...
详细信息
ISBN:
(纸本)9781450332170
The increased presence of parallel computing platforms brings concerns to the general purpose domain that were previously prevalent only in the specific niche of high-performance computing. As parallel programming technologies become more prevalent in the form of new emerging programming languages and extensions of existing languages, additional safety concerns arise as part of the paradigm shift from sequential to parallel behaviour. In this paper, we propose various syntax extensions to the Ada language, which provide mechanisms whereby the compiler is given the necessary semantic information to enable the implicit and explicit parallelization of code. The model is based on earlier work, which separates parallelism specification from concurrency implementation, but proposes an updated syntax with additional mechanisms to facilitate the development of safer parallel programs. Copyright 2014 ACM.
作者:
Mohr, BerndForschungszentrum Jülich
John-von-Neumann Institute Computing Virtual Institute for High-Productivity Supercomputing Jülich Germany
The number of processor cores available in highperformance computing systems is steadily increasing. A major factor is the current trend to use multi-core and many-core processor chip architectures. In the latest list...
详细信息
ISBN:
(纸本)9783540754152
The number of processor cores available in highperformance computing systems is steadily increasing. A major factor is the current trend to use multi-core and many-core processor chip architectures. In the latest list of the TOP500 Supercomputer Sites [1], 63% of the systems listed have more than 1024 processor cores and the average is about 2400. While this promises ever more compute power and memory capacity to tackle today's complex simulation problems, it forces application developers to greatly enhance the scalability of their codes to be able to exploit it. This often requires new algorithms, methods or parallelization schemes to be developed as many well-known and accepted techniques stop working at these large scales. It starts with simple things like opening a file per process to save checkpoint information, or collecting simulation results of the whole program via a gather operation on a single process, or previously unimportant order O(n2)-type operations which quickly dominate the execution. Unfortunately many of these performance problems only show up when executing with very high numbers of processes and cannot be easily diagnosed or predicted from measurements at lower numbers. Detecting and diagnosing these performance and scalability bottlenecks requires sophisticated performance instrumentation, measurement and analysis tools. Simple tools typically scale very well but the information they provide proves to be less and less useful at these high scales. It is clear that tool developers face exactly the same problems as application developers when enhancing their tools to handle and support highly scalable applications. In this talk we discuss the major limitations of currently used state-of-the-art performance measurement, analysis and visualisation methods and tools. We give an overview about experiments, new approaches and first results of performance tool projects which try to overcome these limits. This includes new scalable and enhanced result
We are currently studying the implementation of a C++-based parallel programming library to simplify parallel programming and efficiently execute parallel programs on a locally distributed computers with nonuniform pe...
详细信息
The parallel Pipes and Filters pattern is an architectural pattern for parallel programming, used when a problem can be understood in terms of functional parallelism. It is an extension with aspects of parallelism of ...
详细信息
ISBN:
(纸本)9783879408054
The parallel Pipes and Filters pattern is an architectural pattern for parallel programming, used when a problem can be understood in terms of functional parallelism. It is an extension with aspects of parallelism of the original Pipes and Filters pattern presented in the PatternOriented Software Architecture book, by Buschmann, Meunier, Rohnert, Sommerland, and Stal. The parallel Pipes and Filters pattern proposes a solution in which different operations are actually simultaneously performed on different ordered pieces of data, that "flow" through the operations. Operations carried out by each component depend only on the availability of results from preceding components.
Over the last three decades, computer architects have been able to achieve an increase in performance for single processors by, e.g., increasing clock speed, introducing cache memories and using instruction level para...
详细信息
暂无评论