|
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.
|
|
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.
|
|
Poslední trendy v paralelním programování
Jakl, Ondřej
The paper gives a survey on current approaches and trends in programming parallel systems, paying special attention to scientific and high-performance computing. The mainstream tools (libraries, languages, products) for systems with shared and distributed memory are characterized and some novelties like parallel Matlab are introduced.
|
|
Parallel programming in molecular dynamics simulations
Pelikán, Vladimír ; Hora, Petr ; Machová, Anna
Molecular dynamics simulation is a well-established technique for modeling complex many-particle systems in diverse areas of physics and chemistry. The computational requirements of simulations of large systems are enormous. They make the use of high-performance parallel computers indispensable and have led to the development of a broad range of advanced algorithms for these machines. We have developed a classical molecular dynamics code in MPI based on Newtonian dynamics.
|
| |