| C. Yang and B.P. Miller. Critical Path Analysis for the Execution of Parallel and Distributed Programs. In Proceedings of 8th Int'l Conf. on Distributed Systems, San Jose, California, USA, June 1988. |
....duration between the occurrence of events) Now, a node represents the occurrence of an action associated to a process. Finally, a timing function may be derived from the event graph, which is an expression relating the program execution time to the execution time of primitive actions. In [Yang 88] a program activity graph is created from its execution trace. In a program activity graph, each node corresponds to a certain event during the execution, connecting arcs indicate the time between the occurrence of the events. Usually, all events associated to a certain processor are shown on a ....
C.-Q. Yang and B. P. Miller. "Critical Path Analysis for the Execution of Parallel and Distributed Programs". In: Proceedings of the Seventh Conference on Distributed Memory Computer Systems, pp. 366--373, IEEE, 1988.
....Path Analysis (CPA) to Web packet traffic which we measured through passive means in WAWM. CPA is a standard means for precisely identifying the set of events which determine the execution time of a program or process and has been applied in many disciplines such as parallel program analysis [131]. Our methodology applies CPA to HTTP transactions (which use TCP as their underlying transport protocol) CPA enables us to first extract the set of packets which determine the overall execution time of a file transfer. It then enables us to break down this packet sequence and determine precisely ....
.... to understanding the details of Web transaction performance uses the method of critical path analysis [70] Critical path analysis is the natural tool for understanding distributed applications because it identifies the precise set of activities that determine an application s performance [51, 79, 131]. Prior to our work, CPA has not been applied to TCP transactions. In [105] Paxson discusses the notion of cause effect issues in TCP transactions, which is an idea that also underlies our approach. However, Paxson had difficulty fully developing this notion because he was interested in ....
C. Yang and B. Miller. Critical path analysis for the execution of parallel and distributed programs. In Proceedings of 8th International Conference on Distributed Computing Systems, San Jose, CA, June 1997. 111
....and allocate time to specific operations or program components. Performance prediction uses a model or simulation to predict the execution time of an algorithm or program. There are three major types of performance measurement tools: profilers, visualizations, and search tools. Profile metrics[1, 6, 15, 22] associate a value with each component of a distributed or parallel application (frequently procedures) and are presented as sorted tables. Visualizations[8, 13, 14, 18, 23] explain application performance using pictures. Search tools[10, 17, 21] help users to manage performance data information ....
C.-Q. Yang and B. P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs," 8th Int'l Conf. on Distributed Computing Systems. June 1988, San Jose, Calif., pp. 366375.
....in Fig. 1 spends most of the time in function b( and suggest that function for optimization. This is shown in Fig. 2 where the functions a( to d( are found at the top; the other functions shown are only for internal use in the Solaris operating system. The tools and methods described in [3, 8, 18] have critical path analysis and will show that a( is the most beneficial to optimize. However, those tools and methods assume that there is only one thread (or process) scheduled on each processor. Our approach with the extended critical path generalizes the two extreme cases above. Not only ....
....the Extended Critical Path with One Thread per Processor We start to look at the extended critical path algorithm under the condition that the program is executed on a sufficient number of processors and thus no threads have to share a processor at any time. This is the same assumption used in [3, 8, 18]. We assume that explicitly synchronized events happen at the exact same time, such as one thread releasing another thread. This means that a thread starts to execute at exactly the same moment as the other thread releases it. This assumption is realistic, does not change the algorithm in ....
[Article contains additional citation context not shown here]
C.-Q. Yang and B. Miller, Critical path analysis for the execution of parallel and distributed programs, in Proc. 8th International Conference on Distributed Computing Systems," pp. 366#375, IEEE Computer Society Press, Washington, DC, 1988. 136 BROBERG, LUNDBERG, AND GRAHN
....that enables direct quantitative comparison of metrics for parallel programs. True zeroing computes the improvement in an application s execution if a single function is removed. It has been used to compare the performance quality of six tools: gprof [GKM82] IPS 2 [MCH 90] Critical Path [YM88] Quartz NPT [AL90] Logical Zeroing [MCH 90] and Slack [HM94] The comparison results are described in [HM92] Another comparison of pro ling tools was performed by Shirley Browne, Jack Dongarra and Kevin London [BDL] They compare the tools from a user perspective using evaluation criteria ....
C. Yang and B.P. Miller. Critical Path Analysis for the Execution of Parallel and Distributed Programs. In Proceedings of 8th Int'l Conf. on Distributed Systems, San Jose, California, USA, June 1988.
....provide the complete picture. Due to the interactions between threads of execution, improving the performance of a single procedure may not reduce the overall execution time of the program. One metric, explicitly developed for parallel programs, that has proven useful is Critical Path Profiling [27]. Critical path profiling is a way to identify the component in a parallel program that limits its performance. Based on our experience with commercial and scientific users, Critical Path Profiling is an effective metric for tuning parallel programs. It is especially useful during the early stages ....
# C.-Q. Yang and B.P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs," Proc. Eighth Int'l Conf. Distributed Computing Systems, pp. 366-375, San Jose, Calif., June 1988.
....that scheduling a DAG with unit computation to p processors possibly with task duplication is also NP complete. 2. 4 Basic Techniques in DAG Scheduling Most scheduling algorithms are based on the list scheduling technique [1] 8] 9] 31] 40] 51] 52] 66] 102] 117] 134] 165] [194]. In list scheduling, the nodes are assigned priorities and placed in a list arranged in a descending order of priority. A node with higher priority is examined for scheduling before a node with lower priority. If more than one node has the same priority, ties are broken using specific method. In ....
C.-Q. Yang and B.P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs," Proceedings International Conference on Distributed Computing Systems, Jun. 1988, pp. 366-373.
....ancestors. For a recent quantitative comparison of TDB scheduling algorithms, the reader is referred to [6] 5 Basic Techniques in DAG Scheduling Most scheduling algorithms are based on the so called list scheduling technique [1] 8] 26] 35] 50] 51] 66] 92] 104] 121] 149] [174]. The basic idea of list scheduling is to make a scheduling list (a sequence of nodes for scheduling) by assigning them some priorities, and then repeatedly execute the following two steps until all the nodes in the graph are scheduled: 1) Remove the first node from the scheduling list; 2) ....
C.-Q. Yang and B.P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs," Proceedings of International Conference on Distributed Computing Systems, June 1988, pp. 366-373.
....latency. Our general approach is to study these transactions using the method of critical path analysis [25] Critical path analysis is the natural tool for understanding distributed applications because it identi es the precise set of activities that determine an application s performance [17, 27, 41]. The central observation of critical path analysis as applied to distributed systems is that only some of the component activities in a distributed application are responsible for the overall response time; many other activities may occur in parallel, so that their executions overlap each other, ....
C.-Q. Yang and B. Miller. Critical path analysis for the execution of parallel and distributed programs. In Proceedings of 8th International Conference on Distributed Computing Systems, San Jose, CA, June 1997. 12
....programming models is more flexible, but the existence of multiple control flows raises new problems in the various program development tasks. There are several research activities dealing with design [1] 2] 13] mapping[3] debugging [9] 10] animation [4] 7] and optimization [5] 9] 14] [15] of parallel programs. At the design phase the programmer has to describe the parallelism of the application. Text oriented programming languages reflect the parallel structure of a program very poorly. Therefore, tools like HeNCE [1] Millipede [2] MP [13] and TRAPPER use graphical ....
....An inefficient, but correct program, is of no practical use for execution on a parallel computer. Sequential profilers are of little help, because in a program with multiple control flows not all pieces of code are significant to the total execution time of the application. Therefore Miller [15] suggested a method called Critical Path Analysis (CPA) to find the parts of a parallel program, which are significant to the total execution time. CPA will be integrated into the TRAPPER environment. We believe, that CPA is also very helpful in 2. Electric power is a critical ....
C. Q. Yang, and B. P. Miller. "Critical path analysis for the execution of parallel and distributed programs" Proceedings of the 8th International Conference on Distributed Computing Systems, June 1988, pp. 366--375.
....not provide the complete picture. Due to the interactions between threads of execution, improving the performance of a single procedure may not reduce the overall execution time of the program. One metric, explicitly developed for parallel programs, that has proved useful is Critical Path Profiling[16]. Based on our experience with commercial and scientific users, Critical Path Profiling is an effective metric for tuning parallel programs. It is especially useful during the early stages of tuning a parallel program when load imbalance is a significant bottleneck[7] In this paper we introduce a ....
C.-Q. Yang and B. P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs ", 8 th Int'l Conf. on Distributed Computing Systems. June 1988, San Jose, Calif., pp. 366-375.
....the k longest near critical paths, and (3) an application specific phase that processes the activities on the near critical paths. Three factors influenced the decision to perform the critical path method sequentially: 1) the disappointing performance of previous parallelization efforts [21], 2) high communication costs relative to the granularity of the critical path method computation, and (3) recognition that the overall performance impact is small when k is large (i.e. when parallelization is most important) To allow broader applicability of the findings, reported performance ....
C.--Q. Yang and B. P. Miller, "Critical path analysis for the execution of parallel and distributed programs," in Proc. 8th Int. Conf. Distrib. Computing Syst., IEEE Comput. Soc., June 1988, pp. 366--375.
....only provides post mortem performance profiles. To make performance prediction possible, the statistics in their cost models cannot be computed values. Hollingsworth [HM92] compared several performance metrics for detecting problematic program components which include the critical path metric [YM88] and the NPT metric [AL90] The critical path metric measures the amount of time spent by each procedure in the longest running path of the execution. The NPT metric measures the amount of normalized execution time for each procedure, where the time is normalized with respect to the amount of ....
C. Yang and B. P. Miller. Critical path analysis for the execution of parallel and distributed programs. In 8th International Conference on Distributed Computing Systems, San Jose, CA, 1988.
....control flows raises new problems in nearly every step of the software engineering process. There are several research activities dealing with design [1] 2] 5] 8] 10] 20] mapping [1] 3] 18] 20] debugging [14] 15] monitoring [19] 11] 16] visualization [12] 14] 20] and optimization [9] 17] 20][21] of parallel programs. In the TRAPPER project we did not concentrate on one specific problem of the engineering process but tried to cover the range from software design to performance optimization. In the following we give an overview about current research activities regarding specific steps of ....
....An inefficient but correct program is of no practical use for execution on a parallel computer. Sequential profilers are of little help, because in a program with multiple control flows not all pieces of code are significant to the total execution time of the application. Therefore Miller [21] suggested a method called Critical Path Analysis (CPA) to find the parts of a parallel program, which are significant to the total execution time. CPA has been integrated into the TRAPPER environment. We believe, that CPA is also very helpful in the context of real time programs, where deadlines ....
C. Q. Yang, and B. P. Miller. "Critical path analysis for the execution of parallel and distributed programs" Proceedings of the 8th International Conference on Distributed Computing Systems, June 1988, pp. 366--375.
....the bottlenecks in their program. Unlike sequential programs, in parallel programs improving the procedure that consumes the largest amount of CPU time will not necessarily improve the program. More sophisticated metrics are required. Metrics provided by techniques such as Critical Path Profiling[5] help to guide parallel programmers to find performance bottlenecks. Critical Path Profiling computes a value for each procedure in the program indicating how much time is spent on the critical path for that procedure. However the values provided by Critical Path Profiling are an upper bound on ....
C. Yang and B. P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs", 8th Int'l Conf. on Distributed Computing Systems, San Jose, Calif., June 1988, pp. 366-375. -- --
....by using IPS 2. Section 4 describes the graphical user interface. This interface is used to specify the program to be measured and to interactively inspect the performance results from the execution of the program. Section 5 discusses two automatic guidance techniques. Critical Path Analysis [2] is reviewed and new features are described. A new guidance technique, called Phase Behavior Analysis, in presented. Section 6 presents our conclusions and mentions ongoing research to develop new analysis techniques. 2. IPS OVERVIEW IPS is based on a hierarchical model of parallel and ....
....this analysis. We then describe a new technique called Phase Behavior Analysis, and show how it interacts with the metric tables and Critical Path Analysis. 5.1. Critical Path Analysis Our first guidance technique was based on identifying the path through the program that consumed the most time [2]. This critical path identifies the parts of the program responsible for its length of execution (based on traces of the program s execution history) This information is more precise than just a profile of the execution times of each part of a program. The critical path identifies the parts of ....
C.-Q. Yang and B. P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs," 8th Int'l Conf. on Distributed Computing Systems, pp. 366-375 San Jose, Calif., (June 1988).
....Several histograms can be plotted on the same axis. This permits correlation of different metrics. Like tables, histograms are available at any level in the program tree hierarchy. Critical Path analysis is based on identifying the path through the program s execution that consumed the most time[4]. This technique identifies the part of the program that was responsible for its length of execution. To calculate a program s Critical Path, we build a graph of the program s execution. This graph consists of the events in each process and the synchronization dependencies (e.g. interprocess ....
C. Yang and B. P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs", 8th Int'l Conf. on Distributed Computing Systems, San Jose, Calif., June 1988, pp. 366-375.
....in simple tables, profiles, or in graphs plotting the metric over time. These metrics include elapsed CPU time, synchronization blocking time (for both messages and busy waiting) I O rates, procedure calls, and message rates. IPS also includes highlevel analyses, such as Critical Path analysis [3], to help the user more quickly find performance bottlenecks. IPS has open interfaces to allow easy support of new sources of performance data and new visualization modules. External performance data can include data collected from the operating system, network, and hardware. The external data ....
....3.2. 2.3.4. Critical Path Profile Critical path is a unique feature for locating the sections of code in a parallel program that caused it to run slowly. Interactions between programs (messages passing, and locks) form a set of dependencies between processes in a program. Critical path analysis[3] involves constructing a directed acyclic graph of these dependencies (see Figure 2.13) Each arc in the graph is assigned a weight proportional to the amount of time consumed between the two points on the arc. For CPU time arcs, the length of the arc is time the program ran. For message arcs it ....
C. Yang and B. P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs", 8th Int'l Conf. on Distributed Computing Systems, June
....improve it. Profiling metrics (in sorted lists) also have the nice property that they scale well to massively parallel systems. These metrics are a natural complement to display and visualization tools. Many metrics # have been developed to help in the performance debugging of parallel programs [1, 9, 15, 17, 18]. Typically, new metrics either are compared to existing sequential tools or used in a case study to provide testimonials to their usefulness. Unfortunately, with testimonial case studies it is impossible to isolate the quality of the metric from the quality of the programmer using the metric. ....
....by different metrics. True Zeroing computes the actual improvement in an application if a single procedure is removed. This technique makes it possible to validate the quality of performance metrics. We use this technique to directly compare six metrics: Gprof[10] IPS 2 Profiling, Critical Path[18], Quartz NPT[1] Logical Zeroing[15] and a new metric called slack. We computed the value of the these six metrics for three programs representing both numeric and symbolic applications. Based on this study, Critical Path generally provided the best guidance, but each metric had strengths in ....
[Article contains additional citation context not shown here]
C. Yang and B. P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs", 8th Int'l Conf. on Distributed Computing Systems, San Jose, Calif., June 1988, pp. 366-375. -- --
....post mortem performance measurement system that operates in parallel and heterogeneous distributed environments. To support multiple application programs in IPS 2, we have made some simple changes to the IPS 2 graphical user interface and have developed novel extensions to Critical Path Analysis [15]. Although the changes to our system were small, the benefit has been great. We have used the multi application feature for studying such diverse problems as workload scheduling strategies, the effects of heavy loads on programs, operating systems, and hardware, the analysis of client server ....
....Logical Program Tree Figure 2. IPS 2 provides several analysis techniques, each of which can be applied to any node or level of the program tree. Critical path profiles display the elements (machines, processes, and procedures) that determine the elapsed time of a parallel or distributed program [15]. Metric tables display performance metrics for individual tree nodes, and profile tables display a metric for each node at a given level of the program tree. NPT profiles display a process time metric that is normalized by the number of concurrently executing processes [1] Gprof tables display ....
[Article contains additional citation context not shown here]
C. Yang and B. P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs", 8th Int'l Conf. on Distributed Computing Systems, San Jose, Calif., June 1988, pp. 366-375.
....in three areas: performance metrics, visualization and data collection. Performance metrics address the user side of the performance problem by reducing large volumes of performance data into single values or tables of values. Many metrics have been proposed for parallel programs: Critical Path[21], NPT[1] MTOOL[8] Gprof[9] Each of these metrics can provide useful information; however in an earlier paper[12] we compared several of these metrics (and a few variations) and concluded that no single metric was optimal for all programs. However, we did discover several factors that can be ....
C. Yang and B. P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs", 8th Int'l Conf. on Distributed Computing Systems, San Jose, Calif., June 1988, pp. 366-375. -- --
No context found.
C. Yang and B.P. Miller. Critical Path Analysis for the Execution of Parallel and Distributed Programs. In Proceedings of 8th Int'l Conf. on Distributed Systems, San Jose, California, USA, June 1988.
No context found.
B. P. Miller and C.-Q. Yang. Critical path analysis for the execution of parallel and distributed programs. In Proc. 8th Intl. Conf. on Distributed Computing Systems,pages 366--373, San Jose, CA, June 1988.
No context found.
Cui-Qing Yang and Barton P. Miller. Critical Path Analysis for the Execution of Parallel and Distributed Programs. In Proceedings of the Seventh Conference on Distributed Memory Computer Systems, pages 366--373, June 1988.
No context found.
C. Yang and B. P. Miller, "Critical Path Analysis for the Execution of Parallel and Distributed Programs", Proceedings of the 8th Int'l Conf. on Distributed Computing Systems, San Jose, Calif., June 1988, pp. 366--375.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC