• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 22
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 36
  • 36
  • 15
  • 12
  • 8
  • 7
  • 6
  • 5
  • 5
  • 4
  • 4
  • 4
  • 4
  • 4
  • 4
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
31

Hybrid Parallel Computing Strategies for Scientific Computing Applications

Lee, Joo Hong 10 October 2012 (has links)
Multi-core, multi-processor, and Graphics Processing Unit (GPU) computer architectures pose significant challenges with respect to the efficient exploitation of parallelism for large-scale, scientific computing simulations. For example, a simulation of the human tonsil at the cellular level involves the computation of the motion and interaction of millions of cells over extended periods of time. Also, the simulation of Radiative Heat Transfer (RHT) effects by the Photon Monte Carlo (PMC) method is an extremely computationally demanding problem. The PMC method is example of the Monte Carlo simulation method—an approach extensively used in wide of application areas. Although the basic algorithmic framework of these Monte Carlo methods is simple, they can be extremely computationally intensive. Therefore, an efficient parallel realization of these simulations depends on a careful analysis of the nature these problems and the development of an appropriate software framework. The overarching goal of this dissertation is develop and understand what the appropriate parallel programming model should be to exploit these disparate architectures, both from the metric of efficiency, as well as from a software engineering perspective. In this dissertation we examine these issues through a performance study of PathSim2, a software framework for the simulation of large-scale biological systems, using two different parallel architectures’ distributed and shared memory. First, a message-passing implementation of a multiple germinal center simulation by PathSim2 is developed and analyzed for distributed memory architectures. Second, a germinal center simulation is implemented on shared memory architecture with two parallelization strategies based on Pthreads and OpenMP. Finally, we present work targeting a complete hybrid, parallel computing architecture. With this work we develop and analyze a software framework for generic Monte Carlo simulations implemented on multiple, distributed memory nodes consisting of a multi-core architecture with attached GPUs. This simulation framework is divided into two asynchronous parts: (a) a threaded, GPU-accelerated pseudo-random number generator (or producer), and (b) a multi-threaded Monte Carlo application (or consumer). The advantage of this approach is that this software framework can be directly used within any Monte Carlo application code, without requiring application-specific programming of the GPU. We examine this approach through a performance study of the simulation of RHT effects by the PMC method on a hybrid computing architecture. We present a theoretical analysis of our proposed approach, discuss methods to optimize performance based on this analysis, and compare this analysis to experimental results obtained from simulations run on two different hybrid, parallel computing architectures. / Ph. D.
32

Software Performance Modeling for Multi-Factor System Variability

Mühlbauer, Stefan 13 January 2025 (has links)
Modern software systems offer numerous configuration options to optimize performance, often using machine learning-based models. However, these models frequently overlook external factors such as software versions, usage scenarios, and hardware setups, raising concerns about their real-world applicability. This research expands performance modeling to include system variability from both software evolution and workload variations. It empirically analyzes how these factors influence performance and develops methods to adapt models accordingly. Experiments reveal that software performance evolves with abrupt changes linked to code revisions or merges. An active learning strategy efficiently detects performance change points, aiding in identifying significant shifts. Additionally, large-scale empirical analysis shows how varying configurations and workloads affect performance, identifying significant data shifts that question the accuracy of traditional models. Correlating performance data with code coverage information reveals that code coverage testing can identify workload-sensitive configuration options. Based on these comprehensive empirical results, this thesis proposes integrating environmental factors into performance modeling. A combined coarse-grain screening strategy and stepwise feature selection enhance data extraction. Compared to a Lasso baseline, this method more accurately identifies performance-relevant factors, particularly in feature-rich scenarios. This research provides a foundational understanding of multi-factor system variability in performance modeling, offering efficient strategies for managing software evolution and workload variability. / Moderne Software-Systeme bieten oft Anpassungsmöglichkeiten, um Funktionalität und Leistung an spezifische Anforderungen anzupassen. Performance-Modelle verwenden maschinelles Lernen, um die Leistung eines Systems basierend auf seiner Konfiguration abzuschätzen. Allerdings beeinflussen nicht nur Konfigurationseinstellungen, sondern auch externe Faktoren wie Softwareversion, Arbeitslast und Hardwarekonfiguration die Leistung. Angesichts möglicher Verzerrungen durch sekundäre Faktoren und der Tatsache, dass viele Modellierungsansätze hauptsächlich die Konfigurierbarkeit eines Systems berücksichtigen, ist die Frage, wie gut bestehende Ansätze in der Praxis anwendbar sind. Diese Dissertation erweitert die Modellierung der Software-Leistung um zwei zusätzliche sekundäre Dimensionen: die Evolution eines Softwaresystems und den Einfluss der spezifischen Arbeitslast. Die Arbeit kombiniert empirische Leistungsmessungen, um die Leistungsmerkmale unter Variation dieser Faktoren zu beschreiben, mit dem Ziel, Leistungsmodelle entsprechend anzupassen. Die Veränderung der Software-Leistung über die Entwicklungsgeschichte ist durch plötzliche Änderungen (Change Points) gekennzeichnet, die oft mit spezifischen Code-Revisionen oder Merge-Ereignissen zusammenhängen. Auf Basis dieser Beobachtungen präsentiert die Arbeit eine Active-Learning-Strategie, die es ermöglicht, mit wenigen Messungen die gesamte Leistungshistorie eines Softwaresystems abzuschätzen und spezifische Änderungen zu lokalisieren. Eine Erweiterung dieses Ansatzes zur Kontextualisierung von Leistungsänderungen ordnet erkannten Änderungen einer oder mehreren Konfigurationsoptionen zu, um die betroffenen Konfigurationen einzugrenzen. In Bezug auf die Dimension der Arbeitslast präsentiert diese Dissertation eine umfassende empirische Studie, die die kombinierten Auswirkungen von Konfigurierbarkeit und Arbeitslastvariation auf die Software-Leistung untersucht. Es zeigt sich, dass die Arbeitslast den Einfluss der einzelnen Konfigurationsoptionen signifikant beeinflusst, was die Zuverlässigkeit vieler Ansätze weiter einschränkt. Eine Verknüpfung von Code-Coverage-Daten mit Leistungsmessungen zeigt, wie Abdeckungstests (als kostengünstige Alternative zu Leistungsmessungen) dazu beitragen können, Interaktionen zwischen der Arbeitslast und den einzelnen Optionen zu finden. Die Berücksichtigung weiterer sekundärer Faktoren in Modellierungsansätzen für Software-Leistung stellt eine Herausforderung dar, die durch die kombinatorische Komplexität des Gesamtproblems bedingt ist. Angesichts der hohen Kosten von Leistungsmessungen und der oft begrenzten Datenverfügbarkeit präsentiert der letzte Teil der Dissertation einen Ansatz zur Identifizierung relevanter Faktoren (Feature Selection). Durch die gleichzeitige Betrachtung mehrerer Faktoren (Group Sampling) und eine schrittweise Auswahl von Faktoren erhöht die Screening-Strategie die aus einer Stichprobe an Messungen gewonnene Informationsmenge im Vergleich zu einem Lasso-Basismodell. Zusammenfassend bietet diese Dissertation eine empirische Beschreibung der Software-Leistung, abhängig von der Konfiguration sowie zwei weiteren Faktoren: der Software-Evolution und der Arbeitslast. Darüber hinaus stellt diese Arbeit einen Katalog an Methoden bereit, um beide Dimensionen bei der Modellierung von Software-Leistung zu berücksichtigen und die Herausforderungen der Skalierbarkeit eines kombinierten Ansatzes zu bewältigen.
33

Characterizing software components using evolutionary testing and path-guided analysis

McNeany, Scott Edward 16 December 2013 (has links)
Indiana University-Purdue University Indianapolis (IUPUI) / Evolutionary testing (ET) techniques (e.g., mutation, crossover, and natural selection) have been applied successfully to many areas of software engineering, such as error/fault identification, data mining, and software cost estimation. Previous research has also applied ET techniques to performance testing. Its application to performance testing, however, only goes as far as finding the best and worst case, execution times. Although such performance testing is beneficial, it provides little insight into performance characteristics of complex functions with multiple branches. This thesis therefore provides two contributions towards performance testing of software systems. First, this thesis demonstrates how ET and genetic algorithms (GAs), which are search heuristic mechanisms for solving optimization problems using mutation, crossover, and natural selection, can be combined with a constraint solver to target specific paths in the software. Secondly, this thesis demonstrates how such an approach can identify local minima and maxima execution times, which can provide a more detailed characterization of software performance. The results from applying our approach to example software applications show that it is able to characterize different execution paths in relatively short amounts of time. This thesis also examines a modified exhaustive approach which can be plugged in when the constraint solver cannot properly provide the information needed to target specific paths.
34

Modeling and Performance Analysis of Distributed Systems with Collaboration Behaviour Diagrams

Israr, Toqeer 23 April 2014 (has links)
The use of distributed systems, involving multiple components, has become a common industry practice. However, modeling the behaviour of such systems is a challenge, especially when the behavior consists of several collaborations of different parties, each involving possibly several starting (input) and ending (output) events of the involved components. Furthermore, the global behavior should be described as a composition of several sub-behaviours, in the following called collaborations, and each collaboration may be further decomposed into several sub-collaborations. We assume that the performance of the elementary sub-collaborations is known, and that the performance of the global behavior should be determined from the performance of the contained elementary collaborations and the form of the composition. A collaboration, in this thesis, is characterized by a partial order of input and output events, and the performance of the collaboration is defined by the minimum delays required for a given output event with respect to an input event. This is a generalization of the semantics of UML Activities, where all input events are assumed to occur at the same time, and all output events occur at the same time. We give a semantic definition of the dynamic behavior of composed collaborations using the composition operators for control flow from UML Activity diagrams, in terms of partial order relationships among the involved input and output events. Based on these semantics, we provide formulas for calculating the performance of composed collaborations in terms of the performance of the sub-collaborations, where each delay is characterized by (a) a fixed value, (b) a range of values, and (c) a distribution (in the case of stochastic behaviours). We also propose approximations for the case of stochastic behavior with Normal distributions, and discuss the expected errors that may be introduced due to ignoring of shared resources or possible dependencies in the case of stochastic behaviours. A tool has been developed for evaluating the performance of complex collaborations, and examples and case studies are discussed to illustrate the applicability of the performance analysis and the visual notation which we introduced for representing the partial-order relationships of the input and output events.
35

Performance of Physics-Driven Procedural Animation of Character Locomotion : For Bipedal and Quadrupedal Gait

Larsson, Jarl January 2015 (has links)
Context. Animation of character locomotion is an important part of computer animation and games. It is a vital aspect in achieving believable behaviour and articulation for virtual characters. For games there is also often a need for supporting real-time reactive behaviour in an animation as a response to direct or indirect user interaction, which have given rise to procedural solutions to generate animation of locomotion. Objectives. In this thesis the performance aspects for procedurally generating animation of locomotion within real-time constraints is evaluated, for bipeds and quadrupeds, and for simulations of several characters. A general pose-driven feedback algorithm for physics-driven character locomotion is implemented for this purpose. Methods. The execution time of the locomotion algorithm is evaluated using an automated experiment process, in which real-time gait simulations of incrementing character population count are instantiated and measured, for the bipedal and quadrupedal gaits. The simulations are measured for both serial and parallel executions of the locomotion algorithm. Results. Simulations of up to and including 100 characters are performance measured providing an overview of the slowdown rate when increasing the character count in the simulations, as well as the performance relations between bipeds and quadrupeds. Conclusions. The experiment concludes that the evaluated algorithm on its own exhibits a relatively small performance impact that scales almost linearly for the evaluated population sizes. Due to the relatively low performance impacts it is thus also concluded that for future experiments a broader measurement of the locomotion algorithm that includes and compares different physics solvers is of interest.
36

Modeling and Performance Analysis of Distributed Systems with Collaboration Behaviour Diagrams

Israr, Toqeer January 2014 (has links)
The use of distributed systems, involving multiple components, has become a common industry practice. However, modeling the behaviour of such systems is a challenge, especially when the behavior consists of several collaborations of different parties, each involving possibly several starting (input) and ending (output) events of the involved components. Furthermore, the global behavior should be described as a composition of several sub-behaviours, in the following called collaborations, and each collaboration may be further decomposed into several sub-collaborations. We assume that the performance of the elementary sub-collaborations is known, and that the performance of the global behavior should be determined from the performance of the contained elementary collaborations and the form of the composition. A collaboration, in this thesis, is characterized by a partial order of input and output events, and the performance of the collaboration is defined by the minimum delays required for a given output event with respect to an input event. This is a generalization of the semantics of UML Activities, where all input events are assumed to occur at the same time, and all output events occur at the same time. We give a semantic definition of the dynamic behavior of composed collaborations using the composition operators for control flow from UML Activity diagrams, in terms of partial order relationships among the involved input and output events. Based on these semantics, we provide formulas for calculating the performance of composed collaborations in terms of the performance of the sub-collaborations, where each delay is characterized by (a) a fixed value, (b) a range of values, and (c) a distribution (in the case of stochastic behaviours). We also propose approximations for the case of stochastic behavior with Normal distributions, and discuss the expected errors that may be introduced due to ignoring of shared resources or possible dependencies in the case of stochastic behaviours. A tool has been developed for evaluating the performance of complex collaborations, and examples and case studies are discussed to illustrate the applicability of the performance analysis and the visual notation which we introduced for representing the partial-order relationships of the input and output events.

Page generated in 0.0796 seconds