Today parallel computing is essential for the success of many real-world applications and software systems. Nonetheless, most computer science undergraduate courses teach students how to think and program sequentially...
详细信息
ISBN:
(纸本)9781538655559
Today parallel computing is essential for the success of many real-world applications and software systems. Nonetheless, most computer science undergraduate courses teach students how to think and program sequentially. Further, software professionals have complained about the computer science curriculum's lag behind industry in their failing to cover modern programming technologies such as parallel programming. The emphasis on parallel programming has become even more important due to the increasing adoption of horizontal scaling approaches to cope with massive datasets. In order to help students coming from a serial curriculum comprehend parallel concepts, we used an innovative approach that utilized active learning, visualizations, examples, discussions, and practical exercises. Further, we conducted an experiment to examine the effect of active learning on students' understanding of parallel programming. Results indicate that the students that were actively engaged with the material performed better in terms of understanding parallel programming concepts than other students.
The use of key parallel-programming patterns has proved to be extremely helpful for mastering difficult concurrent and parallel programming concepts and the associated syntactical constructs. The method suggested here...
详细信息
ISBN:
(数字)9783319751788
ISBN:
(纸本)9783319751788;9783319751771
The use of key parallel-programming patterns has proved to be extremely helpful for mastering difficult concurrent and parallel programming concepts and the associated syntactical constructs. The method suggested here consists of a substantial change of more traditional teaching and learning approaches to teach programming According to our approach, students are first introduced to concurrency problems through a selected set of preliminar program code-patterns. Each pattern also has a series of tests with selected samples to enable students to discover the most common cases that cause problems and then the solutions to be applied. In addition, this paper presents the results obtained from an informal assessment realized by the students of a course on concurrent and real-time programming that belongs to the computer engineering (CE) degree. The obtained results show that students feel now to be more actively involved in lectures, practical lessons, and thus students make better use of their time and gain a better understanding of concurrency topics that would not have been considered possible before the proposed method was implemented at our University.
This paper deals with the use of Beowulf clusters in higher education. The study and evaluation of a Beowulf cluster at the Department of Electronics Engineering of the Technological Educational Institute of Athens is...
详细信息
ISBN:
(纸本)142440049X
This paper deals with the use of Beowulf clusters in higher education. The study and evaluation of a Beowulf cluster at the Department of Electronics Engineering of the Technological Educational Institute of Athens is described. The design methodologies, the performance measurements and the experiments will be discussed. This work enabled undergraduate and postgraduate students to study parallel systems and formed a perspective to introduce a parallel computing module in the undergraduate curriculum.
In this paper, we present GASPARD (Graphical Arra ray Specification for parallel and Distributed computing) which is our visual programming environment devoted to the development of parallel applications. Task and dat...
详细信息
ISBN:
(纸本)0769517315
In this paper, we present GASPARD (Graphical Arra ray Specification for parallel and Distributed computing) which is our visual programming environment devoted to the development of parallel applications. Task and data parallelism paradigm of parallel computing are mixed in GASPARD to achieve a simple programming interface. We use the printed circuit metaphor The programmer specifies tasks and instantiates by plugging them into a slot (task parallelism). Data parallelism is achieved by specifying the data the task uses. By mixing textual and visual programming, we achieve convenient interface useful for scientific programming. The interface is also well suited for meta-computing deployment. This kind of programming is very useful for numerical simulation.
Since the appearance of parallel processors and their rapid diversification across a broad spectrum, developers must phrase algorithms in a parallel manner using originally imperative and thus inappropriate high-level...
详细信息
ISBN:
(纸本)9781479986705
Since the appearance of parallel processors and their rapid diversification across a broad spectrum, developers must phrase algorithms in a parallel manner using originally imperative and thus inappropriate high-level languages. Language extensions as well as highly complex debugging methods (e.g., profilers) to handle concurrent and non-deterministic execution are therefore continuously developed. Most tools, however, suffer from inflexibility and platform dependencies. Moreover, binary-instrumenting profilers involve high overhead, influencing and thus deforming the runtime behavior. This may even hide critical behavior, thus developers still rely on their experience and often manually include measures in their software-code (in-line profiling). In this work, we propose a platform independent abstraction layer enabling a unified parallelization and runtime-flexible choice of the actual parallelization framework (e.g., OpenMP, TBB). Based on a source-code aware point of view, we further introduce an automated in-line profiling methodology in order to allow an objective rating of the parallelization success. Moreover, we automatically extract runtime influencing aspects and exemplarily apply these methodologies to implementations of two different video-based driver-assistance algorithms considering two different processor types.
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%.
Contingency studies such as branch outage and generator outage are among important studies of energy management centers operations. Branch outage modeling, on the other hand, is one of the basic steps of post-outage s...
详细信息
ISBN:
(纸本)9781424468232
Contingency studies such as branch outage and generator outage are among important studies of energy management centers operations. Branch outage modeling, on the other hand, is one of the basic steps of post-outage state estimation of an electrical power system. Real time implementation of the problem brings the necessity of using high speed methods while providing a reasonable accuracy. This paper presents simulated annealing based solution of the branch outage event, which is formulated as a local optimization problem. To speed up the solution procedure, the distributed computing toolbox of Matlab is used as a parallel programming tool. The results of the proposed method are compared to those of full AC method and are discussed both from the point of accuracy and solution speed.
作者:
Dennis, Jack B.MIT
Comp Sci & Artificial Intelligence Lab Cambridge MA 02139 USA
The Fresh Breeze Project concerns the architecture and design of a multicore chip that can achieve superior performance while supporting composability of parallel programs. The requirements of composability imply that...
详细信息
ISBN:
(纸本)9781424416936
The Fresh Breeze Project concerns the architecture and design of a multicore chip that can achieve superior performance while supporting composability of parallel programs. The requirements of composability imply that the management of processor allocation and memory management must be sufficiently flexible to permit reassignment of resources according to the current needs of computations. The Fresh Breeze programming model combines the spawn/join threading model of Cilk[4] with a write-once memory model based on fixed-size chunks that are allocated and freed by efficient hardware mechanisms. This model supports computing jobs by many users, each consisting of a hierarchy of function activations. The model satisfies all six principles for supporting modular program construction[3]. Within this programming model, it is possible for any parallel program to be used, without change, as a component in building larger parallel programs.
parallelNuscaS is an object-oriented package for parallel finite elemt modeling, developed at the Technical University of Czestochowa. This paper is devoted to the investigation of the package performance on the ACCOR...
详细信息
ISBN:
(纸本)3540437924
parallelNuscaS is an object-oriented package for parallel finite elemt modeling, developed at the Technical University of Czestochowa. This paper is devoted to the investigation of the package performance on the ACCORD cluster, which this year was built in the Institute of Mathematics and Computer Science of this University. At present, ACCORD contains 18 Pentium III 750 MHz processors, or 9 SNIP nodes, connected both by the fast MYRINET network and standard Fast Ethernet, as well as 8 SMP nodes with 16 AMD Athlon MP 1.2 GHZ processors. We discuss the implementation and performance of parallel FEM computations not only for the message-passing model of parallel programming, but also for the hybrid model, which is a mixture of multithreading inside SMP nodes and message passing between them.
暂无评论