In this paper we present a global semaphores mechanism, and ported on various parallel programming environments. The whole mechanism is available as a library for the C programming language and some additional include...
详细信息
ISBN:
(纸本)3540636978
In this paper we present a global semaphores mechanism, and ported on various parallel programming environments. The whole mechanism is available as a library for the C programming language and some additional include files. The parallel applications programmer uses these functions in order to construct transparent synchronization schemes in a wide variety of parallel processing systems.
The importance of high-performance computing (HPC) motivates an increasing number of students to study parallel programming. However, a major obstacle for students to learn parallel programming is the lack of large-sc...
详细信息
ISBN:
(纸本)9781538665220
The importance of high-performance computing (HPC) motivates an increasing number of students to study parallel programming. However, a major obstacle for students to learn parallel programming is the lack of large-scale computing resources and feedback for their programs. In this paper, we design and implement an online HPC educational programming system, which provides free computing resources for students and the support of multiple HPC programming languages. The students can easily write HPC programs on our platform and submit to the Tianhe-2 supercomputer for execution. The execution results will be returned and displayed on the front-end web browser of users. In addition, our system also supports code evaluation and feedback debugging via integrating mpiP and TAU into our system kernel. The evaluation results and feedback allow students to look into the execution details of their programs and further optimize their submitted programs.
This paper presents AssistConf, a graphical user interface designed to configure an ASSIST program and to run it on a Grid platform. ASSIST (A Software development System based upon Integrated Skeleton Technology) is ...
详细信息
ISBN:
(纸本)0769518753
This paper presents AssistConf, a graphical user interface designed to configure an ASSIST program and to run it on a Grid platform. ASSIST (A Software development System based upon Integrated Skeleton Technology) is a new programming environment for the development of parallel and distributed high-performance applications. The main goals of ASSIST are allowing high-level programmability and software productivity for complex multidisciplinary applications, and performance portability across different platforms, including homogenous parallel machines and cluster/Beowulf systems, heterogeneous clusters, and computational Grids. AssistConf is used to configure the ASSIST program and establish a mapping between the program modules and the most suitable machines in the Grid candidate to execute them. It simplifies the creation of the XML ASSIST configuration file, giving users a graphical view of the XML file produced by the ASSIST compilation phase, and permitting an easy identification of the machines to be used for execution. Finally, the configuration file produced by AssistConf is used as input to the assistrun command, which drives the execution of the ASSIST program over the Grid.
The CO2P3S parallel programming system uses design patterns and object-oriented programming to reduce the complexities of parallel programming. The system generates correct frameworks from pattern template specificati...
详细信息
ISBN:
(纸本)1880446359
The CO2P3S parallel programming system uses design patterns and object-oriented programming to reduce the complexities of parallel programming. The system generates correct frameworks from pattern template specifications and provides a layered programming model to address both the problems of correctness and openness. This paper describes the highest level of abstraction in CO2P3S, using two example programs to demonstrate the programming model and the supported patterns. Further, we introduce phased parallel design patterns, a new class of patterns that allow temporal phase relationships in a parallel program to be specified, and provide two patterns in this class. Our results show that the frameworks can be used to quickly implement parallel programs, reusing sequential code where possible. The resulting parallel programs provide substantial performance gains over their sequential counterparts.
This paper advocates a configuration approach to parallel programming for distributed memory multicomputers, in particular, arrays of transputers. The configuration approach prescribes the rigorous separation of the l...
详细信息
In this work, the implementation of an efficient multi-threading algorithm for calculating the power flow in electricity distribution networks is carried out using recursion and parallel programming. With the integrat...
详细信息
ISBN:
(纸本)9798350387032;9798350387025
In this work, the implementation of an efficient multi-threading algorithm for calculating the power flow in electricity distribution networks is carried out using recursion and parallel programming. With the integration of renewable energy, energy storage systems and distributed generation, the ability of power flow simulations becomes a crucial factor in finding the best solution in the shortest possible time. We propose the direct use of graph theory to represent distribution network topologies. In this data structure, the traversal algorithms are inherently recursive, thus enabling the development of algorithms with parallel programming to obtain the power flow calculation faster and more efficiently. Results under a 809 buses test system show that the implementation provides additional computation efficiency of 32% with recursion techniques and 27% with parallel programming, due the expense of threads' allocation the combined gain reaches 50%.
parallel programming represents the next turning point in how software engineers write software. Multicore processors can be found today in the heart of supercomputers, desktop computers and laptops. Consequently, app...
详细信息
ISBN:
(纸本)9780769534329
parallel programming represents the next turning point in how software engineers write software. Multicore processors can be found today in the heart of supercomputers, desktop computers and laptops. Consequently, applications will increasingly need to be parallelized to fully exploit multicore processors throughput gains now becoming available. Unfortunately, writing parallel code is more complex than writing serial code. This is where the Threading Building Blocks (TBB) approach enters the parallel computing picture. TBB helps developers create multithreaded applications more easily by using high-level abstractions to hide much of the complexity of parallel programming. We study the programmability and performance of TBB by evaluating several practical applications. The results show very promising performance but parallel programming with TBB is still tedious and error-prone.
Concurrent programming tools strive to exploit hardware resources as much as possible. Nonetheless, the lack of high level abstraction of such tools often require from the user a reasonable amount of knowledge in orde...
详细信息
ISBN:
(纸本)9781467386210
Concurrent programming tools strive to exploit hardware resources as much as possible. Nonetheless, the lack of high level abstraction of such tools often require from the user a reasonable amount of knowledge in order to achieve satisfactory performance requirements as well as they do not prevent error prone situations. In this paper we present Kanga, a framework based on the abstractions of skeletons to provide a generic tool that encapsulate many common parallel patterns. Through two case studies we validate the framework implementation.
This paper proposes a data parallel programming model suitable for loosely synchronous, irregular applications. At the core of the model are distributed objects that express non-trivial data parallelism. Sequential ob...
详细信息
ISBN:
(纸本)0769517455
This paper proposes a data parallel programming model suitable for loosely synchronous, irregular applications. At the core of the model are distributed objects that express non-trivial data parallelism. Sequential objects express independent computations. The goal is to use objects to fold synchronization into data accesses and thus, free the user from concurrency aspects. Distributed objects encapsulate large data partitioned across multiple address spaces. The system classifies accesses to distributed objects as read and write. Furthermore, it uses the access patterns to maintain information about dependences across partitions. The system guarantees inter-object consistency using a relaxed update scheme. Typical access patterns uncover dependences for data on the border between partitions. Experimental results show that this approach is highly usable and efficient.
暂无评论