А.В. Баранов, Baranov A.V., П.Н. Телегин et al. · Международный журнал Программные продукты и системы · 2022
One of well-known problems in high-performance computing is optimal mapping of parallel program processes to supercomputer system nodes. A solution for this problem minimizes the overhead for information exchanges between the processes of a parallel program and thus increases the performance of calculations. When solving a mapping problem, both a supercomputer system and a parallel program are represented as graphs.
Cited by 2Open access
Loren Lee Ala-al, Rhea Joy Semblante · International Journal of Multidisciplinary Educational Research and Innovation · 2025
This study aimed to investigate the level of communication skills and teaching demonstration performance among graduating students of a teacher education program, while also exploring their lived experiences in communicating with learners. Addressing a gap in the literature specifically the limited focus on how communication skills influence teaching performance in localized settings such as Kapalong, Davao del Norte, the study employed a mixed-methods design using a parallel convergent approach. A total of 123 students were randomly selected for the quantitative phase, while 14 participants (seven for in-depth interviews and seven for focus group discussions) were purposively selected for the qualitative phase. Quantitative findings revealed a high level of communication competence, including fluency and accuracy, indicating that the participants were well-equipped to deliver effective instruction. Qualitative results uncovered diverse experiences that illustrated both the challenges and adaptive strategies pre-service teachers employed during teaching demonstrations. The findings also emphasized the positive perception and active engagement of students, underscoring their potential to contribute meaningfully to student learning outcomes. In conclusion, the integration of quantitative and qualitative data provides a comprehensive understanding of the role of communication in teaching effectiveness, offering valuable insights for enhancing teacher education practices and policies in the local context.
Cited by 0Open access
PEREIRA, Cláudio Márcio do Nascimento Abreu, MÓL, Antônio Carlos de Abreu, HEIMLICH, Adino et al. · Americanae (AECID Library) · 2014
Cited by 0Open access
Yunchun Li, Yun Li, Jinlei Wang · IEEE Conference Anthology · 2013
Obtaining performance data of parallel program and analyzing these data are the two basic steps for analysis of parallel program behavior and optimizing program design. With the rapid development of high-performance computers, unceasing expansion of the scale of parallel program, it will produce large scale performance data for each measurement. The problems that how to deal with and demonstrate these data to developers and how to assist the developers to find problems are more difficulty. Towards the profile performance data, this paper provides a visualization method based on clustering of function characteristics, which combines the function grouping with clustering of k-value optimization to process large scale performance data, so as to provide performance analysis support for developers.
Cited by 0
Andrew Shaw · 2007
this paper, we show some performance results from an implemention of a data-parallel programming language on the *T parallel computer [4]. The measure of performance used is the amount of overhead incurred by executing the parallel program in comparison to executing a sequential program with the same functionality. In this paper, we call this overhead "parallel overhead".
Cited by 0
Sekhar R. Sarukkai · 1993
While writing a good parallel program is hard, writing one which is efficient is harder still. Though compiler technology is improving, we cannot expect it to turn all inefficient parallel programs into efficient ones. This is due to the fact that parallel algorithms can fail in many more dramatic ways than sequential algorithms running on conventional hardware. Consequently, a powerful performance debugging system must be an integral part of a parallel program development environment.
Most of the existing parallel program debugging approaches have been ad-hoc and tailored to specific machines. In this work we develop a novel approach for developing portable and programmable performance debugging environments, which addresses a number of important issues including instrumentation, performance visualization and scalability studies. Central to the approach is the use of the program dependence graph and the treatment of the program performance data as a historical database. We demonstrate with the help of examples that a systematic application of program views can help in debugging the performance of programs. We also develop a method for reducing the perturbations introduced in a program execution, due to source level instrumentation, using event and time based analysis.
Cited by 3
Jeff Gilchrist Elytra, Key Words · 2008
A parallel implementation of the bzip2 block-sorting lossless compression program is described. The performance of the parallel implementation is compared to the sequential bzip2 program running on various shared memory parallel architectures.
Cited by 0
Kesavan Shanmugam · 2007
. Performance Extrapolation is the process of evaluating the performance of a parallel program in a target execution environment using performance information obtained for the same program in a different execution environment. Performance extrapolation techniques are suited for rapid performance tuning of parallel programs, particularly when the target environment is unavailable. This paper describes one such technique that was developed for data-parallel C++ programs written in the pC++ language. The technique uses high-level event tracing of a n-thread pC++ program run on a uniprocessor machine together with trace-driven simulation to predict the performance of the program run on an n-processor machine. Our results show that even with high-level events, performance extrapolation techniques are effective in isolating critical factors affecting a program's performance and for evaluating the influence of architectural and system parameters. Keywords: performance prediction, extrapolat...
Cited by 0
Zoltan Juhasz, Stephen Turner, Miklos Gerzson et al. · 2007
Developing parallel discrete event simulation programs is a complex task too often resulting in a disappointingly low runtime performance. Developers need performance prediction tools that are capable of providing information on the future performance of the parallel program during the design phase, prior to implementation. This paper describes such a prediction tool being developed for parallel discrete event simulation programs. Its unique feature is that it does not require the existence of the parallel program; it "simulates" the parallel execution from runtime trace information generated by a sequential simulation run. This enables one to determine, using a sequential simulation program, whether or not a parallel implementation is feasible, and if so, which approach is the best for the given simulation problem. The parallel version then only needs to be developed if proved to be successful. The paper describes the main features and structure of the analyser program.
Cited by 0
L. Li, Allen D. Malony · Concurrency and Computation Practice and Experience · 2006
Abstract Scientific parallel programs often undergo significant performance tuning before meeting their performance expectation. Performance tuning naturally involves a diagnostic process—locating performance bugs that make a program inefficient and explaining them in terms of high‐level program design. We present a systematic approach to generating performance knowledge for automatically diagnosing parallel programs. Our approach exploits program semantics and parallelism found in parallel programming patterns to search for and define bugs. The approach addresses how to extract the expert knowledge required for performance diagnosis from parallel patterns and represents this knowledge in a manner such that the diagnostic process can be automated. We demonstrate the effectiveness of our knowledge‐engineering approach through a case study. Our experience diagnosing divide‐and‐conquer programs shows that pattern‐based performance knowledge can provide effective guidance for locating and defining performance bugs at a high level of program abstraction. Copyright © 2006 John Wiley & Sons, Ltd.
Cited by 9
Alois Ferscha, Günter Haring · 2007
The development of parallel programs following the paradigm of communicating sequential processes to be executed on distributed memory multiprocessor systems is addressed. The key issue in programming parallel machines today is to provide computerized tools supporting the development of efficient parallel software, i.e. software effectively harnessing the power of parallel processing systems. The critical situations where a parallel programmer needs help is in expressing a parallel algorithm in a programming language, in getting a parallel program to work and in tuning it to get optimum performance (for example speedup). We show that the Petri net formalism is higly suitable as a performance modeling technique for asynchronous parallel systems, by introducing a model taking care of the parallel program, parallel architecture and mapping influences on overall system performance. PRM-net (Program-Resource-Mapping) models comprise a Petri net model of the multiple flows of control in a p...
Cited by 0
Pllana Sabri, Siegfried Benkner, Xhafa Fatos et al. · Advances in parallel computing · 2009
Performance is a key feature of parallel computing systems. However, the achieved performance when a certain parallel program is executed is significantly lower than the maximal theoretical performance of the parallel computing system. The model-based performance evaluation may be used to support the performance-oriented program development for parallel computing systems. In this book chapter we present a hybrid approach for performance modeling and prediction of parallel computing systems, which combines mathematical modeling and discrete-event simulation. We use mathematical modeling to develop parameterized performance models for components of the system. Thereafter, we use discrete-event simulation to describe the structure of system and the interaction among its components. As a result, we obtain a high-level performance model, which combines the evaluation speed of mathematical models with the structure awareness and fidelity of the simulation model. We evaluate empirically our approach with a real-world material science program that comprises more than 15,000 lines of code.
Cited by 1
Ying Huang, Xiao‐Yong Fang, Yihuang Zeng et al. · Recent Patents on Engineering · 2020
: Embedded multi-core systems often show special limitations in sharing resources and storage capacity, which will lead to the reduction of parallel efficiency due to bandwidth, data competition and other factors. In this paper, a run-time optimization framework is proposed to dynamically and adaptively adjust parallel strategies according to the structure of different parallel programs. On the one hand, the performance analysis model of a parallel program structure is established to get the number of threads during the best performance. On the other hand, in view of the load imbalance in parallel thread execution, an adaptive dynamic scheduling algorithm is proposed to dynamically select the size of the scheduling block. Experimental results show that the proposed dynamic scheduling strategy can improve program performance and achieve improvement of the performance of the embedded multi-core system. Background: Embedded multi-core systems often have special limitations in sharing resources and storage capacity. These limitations often lead to parallel programs running with lower parallel efficiency due to bandwidth, data competition and other factors. Objective: In order to improve the performance of embedded multi-core systems, parallel strategies can be adjusted dynamically and adaptively for different parallel program structures. Methods: A control mechanism of the thread count based on runtime information feedback is proposed, which enables the system to dynamically select the number of threads when the program runs best according to the structure characteristics of parallel programs. Then, an adaptive dynamic scheduling algorithm is proposed to solve the load imbalance in parallel program execution. Results: An optimization framework based on run-time architecture is presented, which consists of two parts: performance monitoring and control interface. It can take corresponding optimization strategies according to the running state of parallel programs. Conclusion: The performance of the embedded multi-core system is improved.
Cited by 0
Felician Alecu · 2008
Abstract: A grid is a collection of individual machines. The goal is to create the illusion of a powerful computer out of a large collection of connected systems sharing resources. Some resources may be used by all users of the grid while others may have specific restrictions. The most common resource is computing cycles provided by the processors. Grid computing represents unlimited opportunities in terms of business and technical aspects. The main reason of parallelization a sequential program is to run the program faster. The first criterion to be considered when evaluating the performance of a parallel program is the speedup used to express how many times a parallel program works faster than the corresponding sequential one used to solve the same problem. When running a parallel program on a real parallel system there is an overhead coming from processors load imbalance and from communication times needed for changing data between processors and for synchronization. This is the reason why the execution time of the program will be greater than the theoretical value. Key words: grid computing; grid network; parallel processing; performance analysis; parallel speedup; parallel efficiency The performance of parallel algorithms executed on multiprocessor systems The first criterion taken into consideration when the performances of the parallel systems are analyzed is the speedup used to express how many times a parallel program works faster than a sequential one, where both programs are solving the same problem. The most important reason of parallelization a sequential program is to run the program faster. The speedup formula is
Cited by 0
Yeh‐Ching Chung, Wu‐Hsun Ho, Chia‐Cheng Liu · Journal of the Chinese Institute of Engineers · 1995
Abstract Traditionally, to program a distributed memory multiprocessor, a programmer is responsible for partitioning an application program into modules or tasks, scheduling tasks on processors, inserting communication primitives, and generating parallel codes for each processor manually. As both the number of processors and the complexity of problems to be solved increases, programming distributed memory multiprocessors becomes difficult and error‐prone. In a distributed memory multiprocessor, the program partitioning and scheduling play an important role in the performance of a parallel program. However, how to find the best program partitioning and scheduling so that the best performance of a parallel program on a distributed memory multiprocessor can be achieved, is not an easy task. In this paper, we present a parallel programming tool, PPT, to aid programmers to find the best program partitioning and scheduling and automatically generate the parallel code for the single program multiple data (SPMD) model on a distributed memory multiprocessor. An example of designing a parallel FFT program by using PPT on an NCUBE‐2 is also presented.
Cited by 0
Adam Rifkin, Berna L. Massingill · CaltechAUTHORS (California Institute of Technology) · 1998
This document outlines a simple method for benchmarking a parallel communication library and for using the results to model the performance of applications developed with that communication library. We use compositional performance analysis - decomposing a parallel program into its modular parts and analyzing their respective performances - to gain perspective on the performance of the whole program. This model is useful for predicting parallel program execution times for different types of program archetypes, (e.g., mesh and mesh-spectral) using communication libraries built with different message-passing schemes (e.g., Fortran M and Fortran with MPI) running on different architectures (e.g., IBM SP2 and a network of Pentium personal computers).
Cited by 1Open access
Bin Cheng, Weiqin Tong, Xingang Wang · 2015
Abstract. Performance is a key feature of parallel system. However, there is a great gap between the peak performance and performance attainable by a practical application. The model-based performance evaluation may be used to support the performance-oriented program development for parallel system. In this paper a hybrid TCPN model is proposed to describe the parallel program and the resources respectively. This method can bring less effect to modify the program structure because of running environment changes. And the performance engineering activities based on this model ranges from performance prediction in early development stages, performance analysis in the coding phase, to locate the performance bottleneck and modify it. After the correctness verification of the TCPN model, a reachable graph can be got. Then the further performance-tuning can be done by summing the execution time of corresponding action in the critical path. Key words. Timed Coloured Petri Net, parallel system, formal method 1.
Cited by 0
Beibei Gu, Lian Zhao, Chen Li et al. · CCF Transactions on High Performance Computing · 2026
Abstract With the increasing number of computationally intensive applications, heterogeneous systems have become an important solution for improving computing performance. In order to effectively develop and optimize parallel programs running on these systems, performance prediction has become an indispensable part. This article aims to comprehensively review the methods and tools for predicting parallel program performance in heterogeneous systems, analyze the characteristics of existing technologies, explore their development trends, and provide valuable references and guidance for researchers and developers. This article adopts a systematic review method, first sorting out the research process of parallel program performance prediction in heterogeneous systems, and then classifying and summarizing the current mainstream performance prediction methods, including analysis model-based prediction, simulation-based prediction, and machine learning based prediction. This article also summarizes the tools and platforms used to predict parallel program performance in heterogeneous systems. Through review, it was found that various performance prediction methods and tools have their own advantages in feature richness, availability, and accuracy, but they have all improved the efficiency and accuracy of parallel program performance prediction to a certain extent. The review of this article indicates that despite various methods and tools available for performance prediction, there are still many challenges and unresolved issues. Future research should further explore more accurate, efficient and intelligent prediction methods to better support the development and optimization of parallel programs in heterogeneous systems.
Cited by 0Open access
Sesha Kalyur, G. S. Nagaraja · Annals of Emerging Technologies in Computing · 2021
Although several automated Parallel Conversion solutions are available, very few have attempted, to provide proper estimates of the available Inherent Parallelism and expected Parallel Speedup. CALIPER which is the outcome of this research work is a parallel performance estimation technology that can fill this void. High level language structures such as Functions, Loops, Conditions, etc which ease program development, can be a hindrance for effective performance analysis. We refer to these program structures as the Program Shape. As a preparatory step, CALIPER attempts to remove these shape related hindrances, an activity we refer to as Program Shape Flattening. Programs are also characterized by dependences that exist between different instructions and impose an upper limit on the parallel conversion gains. For parallel estimation, we first group instructions that share dependences, and add them to a class we refer to as Dependence Class or Parallel Class. While instructions belonging to a class run sequentially, the classes themselves run in parallel. Parallel runtime, is now the runtime of the class that runs the longest. We report performance estimates of parallel conversion as two metrics. The inherent parallelism in the program is reported, as Maximum Available Parallelism (MAP) and the speedup after conversion as Speedup After Parallelization (SAP).
Cited by 0Open access
Daniel A. Reed, David C. Rudolph · International Journal of High Speed Computing · 1989
The difficulties in conceptualizing the interactions among a large number of processors make it difficult both to identify the sources of inefficiencies and to determine how a parallel program could be made more efficient. This paper describes an instrumentation system that can trace the execution of distributed memory parallel programs by recording the occurrence of parallel program events. The resulting event traces can be used to compile summary statistics that provide a global view of program performance. In addition, visualization tools permit the graphic display of event traces. Visual presentation of performance data is particularly useful, indeed, necessary for large-scale parallel computers; the enormous volume of performance data mandates visual display.
Cited by 12