|
Diffusion Evolutionary Algorithm
Mészáros, István ; Pospíchal, Petr (referee) ; Jaroš, Jiří (advisor)
There are new trends in artificial intelligence nowadays. Methods known as evolutionary algorithms are one of them. These algorithms allow us to design and optimize systems using computers. One of the variants of evolutionary algorithms is the diffusion evolutionary algorithm. This type of algorithms is able to run in parallel, and besides that it brings many positive features. The question is under what conditions the diffusion variant of evolutionary algorithms can effectively be used. Is it possible to use for planning systems and for problem optimization? Why are they more favorable than other types of evolutionary algorithms? This work tries to answer these questions and explain the behavior of these algorithms.
|
|
Library for Operations over Finite Automata
Bartůněk, Petr ; Puš, Viktor (referee) ; Kaštil, Jan (advisor)
This work deals with two basic operations over finite automata. Determination of nondeterministic finite automata and minimization of deterministic finite automata. For these two operations I proposed sequential algorithms that are parallelizable. I deal mainly with finding the speedup of SSE instructions, or use the OpenMP library. The trend today is mainly in increasing the number of processors, so I propose parallel algorithms for multiple processors. When searching for the optimal solution, I will be to examine other ways to achieve speedup, for example efficient saving of the data structures in memory.
|
|
Parallel Application Development with Intel Threading Tools
Vadkerti, Ladislav ; Jaroš, Jiří (referee) ; Dvořák, Václav (advisor)
Today's trend in microprocessor design is increasing the number of execution cores within one single chip. Increasing the processor's clock speed reached its limit with growing power consumption. This trend brings new opportunities to software developers, as they can take advantage of real multithreading in their applications. But a lot of new problems to solve appear with threading compared to sequential programming. With proper design, threading can enhance performance by making better use of hardware resources. However, the improper use of threading can lead to performance degradation, unpredictible behavior, or error conditions that are difficult to solve. For this reason Intel developed a suite of tools, that can help software developers to analyze performance and detect coding errors in thread interactions. This thesis focuses on the examination of ways that this tools can be used in multithreaded application development.
|
|
Parallel Syntax Analysis
Otáhal, Jiří ; Koutný, Jiří (referee) ; Čermák, Martin (advisor)
This thesis focuses on modern methods of language description. It introduces several controlled grammars, describing in detail the tree controlled grammar. The thesis is based on relatively new technique of syntax analysis using tree controlled grammars. The process of this analysis is described in detail, followed by a design of parallel-processing of this analysis. We managed to succesfully implement this design, speed up the syntax analysis and therefore achieve the main goal of the thesis.
|
|
Lexical Analyzer for Multiprocesor Computers
Otáhal, Jiří ; Goldefus, Filip (referee) ; Čermák, Martin (advisor)
Aim of this thesis is to invent method, which should accelerate speed of the analysis of source texts with multiprocessor computers. For this purpose application runs multiple process in Unix system. Each undergoing process analyzes exact partition in source file and then closes itself. Outcome of this process are internal structures, which presents exact partition. Inter-code is sequentially built from the structures which are subsequently interpreted. This kind of parallel analysis achieves acceleration of speed on the contrary of typical sequential analysis.
|
|
Coverage-Driven Testing for Multithreaded Programs
Lietavcová, Zuzana ; Šimková, Hana (referee) ; Letko, Zdeněk (advisor)
This work deals with a problem of searching errors in multithreaded programs using a coverage-driven testing technique as perceived in program Maple. The testing consists of two phases. In the first phase of testing a set of coverable behaviours of the tested program is being built. Consequently, the algorithm tries to achieve these behaviours with a help of deterministic test execution. The main acquisition of the work lays in a compact description of Maple including all the technical details. Based on the study of the tool there were weak places identified. Some of them are studied in detail, especially those which use random decision making and prioritizing of the forced behaviours. The result are several modifications of Maple, from which some lead to a higher number of exposed behaviours and higher error exposition in some cases. This is demonstrated on a test suite of parallel programs.
|
|
Ant Colony Optimization: Implementace a testování biologicky inspirované optimalizační metody
Havlík, Michal
Havlík, M. Ant Colony Optimization: Implementation and testing of bio-inspired optimization method. Diploma thesis. Brno, 2015. This thesis deals with the implementation and testing of algorithm Ant Colony Optimization as a representative of the family of bio-inspired opti-mization methods. A given algorithm is described, analyzed and subsequently put into context with the problems which can be solved. Based on the collec-ted information is designed implementation that solves the Traveling sale-sman problem. Implementation contains graphical user interface to track the algorithm. Implementation is further optimized using parallel programming and other methods. Finally the implementation compared and summarized results.
|
|
Analyse multithreaded applications development possibilities on the Java platform
Chamila, Sergius ; Pecinovský, Rudolf (advisor) ; Oraný, Vladimír (referee)
This thesis is an analysis of frameworks which support multithreading application devel-opment on platform Java. In particular this thesis analyses the overview of libraries which supports multithreading development in this language. Provided features are shown and described by the code examples. The thesis describes the principles of concurrent pro-gramming. Although multithreaded applications undoubtedly have many advantages, one of the goals of the thesis is to highlight the possible risks associated with their use. By the analysis of Java platform, I used method of description, analysis, synthesis and comparison. This thesis is composed of theoretical part, which defines the basic concepts and principles of concurrent applications. Theoretical parts also contain recherché of works, which deal with the topic of concurrent programming. In the analytical part are described and evaluated changes at various versions of Java language. Benefit of this work is clear documentation and evaluation of Java language concurrent utilities, from the oldest version of Java 1 to latest Java 8. So this work can help those, who need to learn how to develop concurrent applications in Java.
|
|
Fork/join testing in Java 7
MAXA, Karel
In release Java 7 comes new library fork/join from package java.util.concurrent, which help to better usage of parralel architecture and thus bring more time effective applications. The bachelor is aimed at describe and make recommendation for usage of this library. Main part of bachelor is aimed at implementation tests and their evalution for showing time efficiency. For the test was written program in Java, which was executed on different system platforms and different hardware architectures.
|
|
Means of parallel programming and their implementation
Krejčová, Iva ; Bína, Vladislav (advisor) ; Přibil, Jiří (referee)
The aim of this Diploma thesis is to get acquitained with the approaches to parallel programming and possibilities of their practical implementation, including possibilities of their usage in management. An important part of the Diploma thesis is the practical implementation of parallel program in a PC cluster environment, which was implemented in computer laboratory of Faculty of Management VŠE. The practical part consists of an example of decision-making under uncertainty (risk) which is solved with the employment of the Monte Carlo method.
|