Your browser does not support JavaScript!

Post-graduate theses

Current Record: 51 of 824

Back to Results Previous page
Next page
Add to Basket
[Add to Basket]
Identifier 000449841
Title Design level software optimization of structural analysis tool through memoization and application of concurrent computing methods
Alternative Title Σχεδιαστική βελτιστοποίηση εφαρμογής στατικών κτηριακών μελετών μέσω μεθόδων υπομνηματισμού και κατανεμημένου υπολογισμού
Author Τσατσαράκης, Μύρων Χ.
Thesis advisor Πρατικάκης, Πολύβιος
Reviewer Μπίλας, Άγγελος
Μαγκούτης, Κωνσταντίνος
Abstract Performance is an important concern for the end user of an application. Latency, unresponsiveness of commands and long wait times can make or break the experience. Some of the factors that prevent software engineers from achieving their performance goals are the presence of legacy code and the inability to exploit all the available hardware resources. Legacy code acts as a barrier that prevents both feature extensibility and optimizationoriented refactoring. It is considered to be a no-man's-land, preventing any fruitful discussion about its detailed functionality and side effects in performance. On the other hand, hardware resources, such as CPU cores, can be exploited to reduce the time cost of computationally expensive operations by the application of concurrency. Data-oriented design for concurrency can provide an increase in performance by distributing workload among cores, fully utilizing the available hardware. Our work is applied on a commercial structural design and analysis application which suffers from the aforementioned setbacks. It comes with a large code-base, guaranteeing a sizeable number of legacy modules. Furthermore, efficient hardware utilization, was not possible during the early development times of the application since the technological research regarding concurrent computation was not sufficiently developed. In the first part of this thesis we present a way to memoize the return values of computationally expensive legacy code operations by designing an extensible Memoization Model. We identify the computationally expensive operations by conducting performance analysis using an external profiling tool and apply our Memoization Model to the legacy code base in a non-intrusive way. We present the requirements, design and implementations of our Memoization Model using C++. Our evaluation indicates that the application of our Memoization Model, yields up to 100% increase in performance and has been scheduled for a commercial release, in a future update of the application. In the second part of this thesis we present a way to concurrently calculate computationally expensive properties of structural elements. We extend the design of the manager component, responsible for calculating these expensive properties, by applying concurrency semantics. We use the concept of asynchronous tasks and our own implementation of a thread pool to aid our design. We present the requirements, design and implementation of our concurrent manager component using C++. Our evaluation indicates that our concurrent manager component, yields up to 420% increase in performance and has been scheduled for a commercial release, in a future update of the application.
Language English
Subject Concurrency
Distributed Systems
Parallelism
Structural Design
Issue date 2022-07-29
Collection   School/Department--School of Sciences and Engineering--Department of Computer Science--Post-graduate theses
  Type of Work--Post-graduate theses
Permanent Link https://elocus.lib.uoc.gr//dlib/0/a/1/metadata-dlib-1657696793-563635-11011.tkl Bookmark and Share
Views 575

Digital Documents
No preview available

Download document
View document
Views : 4