Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 10,000 papers for “parallel performance analysis”

Parallel Performance Analysis

Geimer, Markus · JuSER Publikationsportal · 2024

To effectively harness the computing capabilities of todays and future supercomputing systems, performance analysis and optimization should be a regular activity during scientific software development. Instead of using do-it-yourself solutions usually based on coarse-grained timers (e.g., time per timestep or solver iteration), developers of scientific code bases can resort to a variety of spezialized tools that have been specifically developed to assist them with this task. In this tutorial, we will introduce the open-source tools Score-P and Cube, and explore their usage and capabilities with a number of hands-on exercises.

Cited by 0Open access

Parallel Performance Analysis

Subodh Kumar · 2023

In modern computer science, there exists no truly sequential computing system; and most advanced programming is parallel programming. This is particularly evident in modern application domains like scientific computation, data science, machine intelligence, etc. This lucid introductory textbook will be invaluable to students of computer science and technology, acting as a self-contained primer to parallel programming. It takes the reader from introduction to expertise, addressing a broad gamut of issues. It covers different parallel programming styles, describes parallel architecture, includes parallel programming frameworks and techniques, presents algorithmic and analysis techniques and discusses parallel design and performance issues. With its broad coverage, the book can be useful in a wide range of courses; and can also prove useful as a ready reckoner for professionals in the field.

Cited by 0

Performance Analysis of Parallel Algorithms

Felician Alecu · 2005

The main reason of parallelization a sequential program is to run the program faster. 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.

Cited by 10

Performance Analysis of Parallel Programs

Thomas Rauber, Gudula Rünger · 2023

The most important motivation for using a parallel system is the reduction of the execution time of computation-intensive application programs. In this chapter, performance measures for an analysis and comparison of different versions of a parallel program are considered in more detail. The topics covered include the quantitative performance evaluation of computer systems with performance metrics and benchmarks, performance metrics for evaluating parallel programs, execution times for global communication operations, the analysis of parallel execution times, parallel computation models, as well as loop scheduling and loop tiling methods.

Cited by 0Open access

Performance Analysis of Asynchronous Parallel

James Hook, Nick Dingle · 2013

The directed acyclic graph (DAG) associated with a parallel al-gorithm captures the order in which separate local computations are completed and how their outputs are subsequently used in further com-putations. Unlike in a synchronous parallel algorithm the DAG asso-ciated with an asynchronous parallel algorithm is not predetermined. Instead it is a product of the asynchronous timing dynamics of the machine and, as such, it is best thought of as a pseudorandom vari-able. In this paper we present a new tighter bound on the rate of convergence of asynchronous parallel Jacobi (APJ), which is based on statistical properties of the DAG and is valid for systems which satisfy a standard sufficient condition for convergence. We also describe an experiment in which we make a precise log of the calculations taking place during an implementation of APJ on a distributed memory multicore machine, which enables us to reconstruct and study the DAG. We demonstrate that our bound provides a good approximation of the true rate of convergence in these examples and show how problems in the algorithm’s implementation can affect the asynchronous timing dynamics and in turn the rate of convergence of the algorithm.

Cited by 0

Parallel Performance Analysis of Parallel Message Driven Applications

Ekaterina Gonina · 2008

This paper describes algorithms for parallel performance analysis of parallel applications written in Charm++ based on event-traces generated during the program execution. We describe two algorithms: usage profile and remote communication profile obtained from processing trace data files. These algorithms are implemented into the Projections framework. We show experimental data from 1 to 64 processor runs reading 64 6MB log files and demonstrate the speedup of our algorithms with increasing number of processors, illustrating the advantage of our approach. 1

Cited by 0

Performance Analysis Tools for Parallel Java

Jordi Guitart, Jordi Torres, Eduard Ayguadé · 2002

In this paper we describe an instrumentation environment for the performance analysis and visualization of parallel applications written in JOMP, an OpenMP-like interface for Java. The environment includes two complementary approaches. The first one has been designed to provide a detailed analysis of the parallel behavior at the JOMP programming model level. At this level, the user is faced with parallel, work-sharing and synchronization constructs, which are the core of JOMP. The second mechanism has been designed to support an in-depth analysis of the threaded execution inside the Java Virtual Machine (JVM). At this level of analysis, the user is faced with the supporting threads layer, monitors and conditional variables. The paper discusses the implementation of both mechanisms and evaluates the overhead incurred by them. 1.

Cited by 0

Performance analysis of parallel processing systems

Randolph Nelson, Don Towsley, Asser Tantawi · ACM SIGMETRICS Performance Evaluation Review · 1987

A centralized parallel processing system with job splitting is considered. In such a system, jobs wait in a central queue, which is accessible by all the processors, and are split into independent tasks that can be executed on separate processors. This parallel processing system is modeled as a bulk arrival M X /M/c queueing system where customers and bulks correspond to tasks and jobs, respectively. Such a system has been studied in [1, 3] and an expression for the mean response time of a random customer is obtained. However, since we are interested in the time that a job spends in the system, including synchronization delay, we must evaluate the bulk response time rather than simply the customer response time. The job response time is the sum of the job waiting time and the job service time. By analyzing the bulk queueing system we obtain an expression for the mean job waiting time. The mean job service time is given by a set of recurrence equations. To compare this system with other parallel processing systems, the following four models are considered: Distributed/Splitting (D/S), Distributed/No Splitting (D/NS), Centralized/Splitting (C/S), and Centralized/No Splitting (C/NS). In each of these systems there are c processors, jobs are assumed to consist of set of tasks that are independent and have exponentially distributed service requirements, and arrivals of jobs are assumed to come from a Poisson point source. The systems differ in the way jobs queue for the processors and in the way jobs are scheduled on the processors. The queueing of jobs for processors is distributed if each processor has its own queue, and is centralized if there is a common queue for all the processors. The scheduling of jobs on the processors is no splitting if the entire set of tasks composing that job are scheduled to run sequentially on the same processor once the job is scheduled. On the other hand, the scheduling is splitting if the tasks of a job are scheduled so that they can be run independently and potentially in parallel on different processors. In the splitting case a job is completed only when all of its tasks have finished execution. In our study we compare the mean response time of jobs in each of the systems for differing values of the number of processors, number of tasks per job, server utilization, and certain overheads associated with splitting up a job. The M X /M/c system studied in the first part of the paper corresponds to the C/S system. In this system, as processors become free they serve the first task in the queue. D/. systems are studied in [2]. We use the approximate analysis of the D/S system and the exact analysis of the D/NS system that are given in that paper. For systems with 32 processors or less, the relative error in the approximation for the D/S system was found to be less than 5 percent. In the D/NS system, jobs are assigned to processors with equal probabilities. The approximation we use for the mean job response time for the C/NS system is found in [4]. Although an extensive error analysis for this system over all parameter ranges has not been carried out, the largest relative error for the M/E 2 /10 system reported in [4] is about 0.1 percent. For all values of utilization, ρ , our results show that the splitting systems yield lower mean job response time than the no splitting systems. This follows from the fact that, in the splitting case, work is distributed over all the processors. For any ρ , the lowest (highest) mean job response time is achieved by the C/S system (the D/NS system). The relative performance of the D/S system and the C/NS system depends on the value of ρ . For small ρ , the parallelism achieved by splitting jobs into parallel tasks in the D/S system reduces its mean job response time as compared to the C/NS system, where tasks of the same job are executed sequentially. However, for high ρ , the C/NS system has lower mean job response time than the D/S system. This is due to the long synchronization delay incurred in the D/S system at high utilizations. The effect of parallelism on the performance of parallel processing systems is studied by comparing the performance of the C/NS system to that of the C/S system. The performance improvement obtained by splitting jobs into tasks is found to decrease with increasing utilization. For a fixed number of processors and fixed ρ , we find that by increasing the number of tasks per job, i.e. higher parallelism, the mean job response time of the C/NS system relative to that of the C/S system increases. By considering an overhead delay associated with splitting jobs into independent tasks, we observe that the mean job response time is a convex function of the number of tasks, and thus, for a given arrival rate, there exists a unique optimum number of tasks per job. We also consider problems associated with partitioning the processors into two sets, each dedicated to one of two classes of jobs: edit jobs and batch jobs. Edit jobs are assumed to consist of simple operations that have no inherent parallelism and thus consist of only one task. Batch jobs, on the other hand, are assumed to be inherently parallel and can be broken up into tasks. All tasks from either class are assumed to have the same service requirements. A number of interesting phenomena are observed. For example, when half the jobs are edit jobs, the mean job response time for both classes of jobs increases if one processor is allocated to edit jobs. Improvement to edit jobs, at a cost of increasing the mean job response time of batch jobs, results only when the number of processors allocated to edit jobs is increased to two. This, and other results, suggest that it is desirable for parallel processing systems to have a controllable boundary for processor partitioning.

Cited by 0

Worst-Case Performance Analysis of Parallel,

Communicating Software Processes, A. Siebenborn, O. Bringmann et al. · 2007

In this paper we present a method to perform static timing analysis of SystemC models, that describe parallel, communicating software processes.The paper combines a worstcase execution time (WCET) analysis with an analysis of the communication behavior. The communication analysis allows the detection of points, where the program flow of two or more concurrent processes are synchronized. This knowledge allows the determination of the worst-case response time (WCRT). The method does not rely on restrictions on the system design to prevent deadlocks or data loss. Furthermore possible deadlocks and data loss can be detected during the analysis.

Cited by 0

Parallel coupled ring resonators performance analysis

Satish Addanki, I. S. Amiri, P. Yupapin · Results in Physics · 2018

We have investigated the system performance of several parallel coupled ring resonators. An optical network analyzer is utilized to analyze the output spectrums (frequency response) from the throughput and drop ports of the proposed system while it is set to have an output power of 80 mW, and input center wavelength of 1552 nm. The ring resonators with the same radius of 477 µm which are bidirectional waveguides which are coupled to two bus waveguides with coupling coefficients of 0.12 and 0.05 alternatively. The frequency response results show that by increasing the number of the ring resonators the system performance increases accordingly. Here, the system performance is shown by the quality factor and the extinction ratio of the generated throughput output results.

Cited by 3Open access