Extracting minimal functional dependencies (MFDs) from relational databases is an import database analysis technique. With the advent of big data era, it is challenging to discover MFDs from big data, especially large...
详细信息
ISBN:
(纸本)9781538680346
Extracting minimal functional dependencies (MFDs) from relational databases is an import database analysis technique. With the advent of big data era, it is challenging to discover MFDs from big data, especially large-scale distributed data stored in many different sites. The key to discovering MFDs as fast as possible is pruning the useless candidate MFDs. And in most existed algorithms, it usually prunes candidate MFDs from top to bottom or from bottom to top. We present a new algorithms FastMFDs for discovering all MFDs from large-scale distributed data both from top to bottom and from bottom to top in parallel. We experimented our algorithm in real-life datasets, and our algorithm is more efficient and faster than the existed discovering algorithms.
Peachy parallel Assignments are a resource for instructors teaching parallel and distributed programming. These are high-quality assignments, previously tested in class, that are readily adoptable. This collection of ...
详细信息
ISBN:
(纸本)9781728101903
Peachy parallel Assignments are a resource for instructors teaching parallel and distributed programming. These are high-quality assignments, previously tested in class, that are readily adoptable. This collection of assignments includes implementing a subset of OpenMP using pthreads, creating an animated fractal, image processing using histogram equalization, simulating a storm of high-energy particles, and solving the wave equation in a variety of settings. All of these come with sample assignment sheets and the necessary starter code.
With greater adoption of various high-level parallel programming models to harness on-node parallelism, accurate data race detection has become more crucial than ever. However, existing tools have great difficulty spo...
详细信息
ISBN:
(纸本)9781450357852
With greater adoption of various high-level parallel programming models to harness on-node parallelism, accurate data race detection has become more crucial than ever. However, existing tools have great difficulty spotting data races through these high-level models, as they primarily target low-level concurrent execution models (e.g., concurrency expressed at the level of POSIX threads). In this paper, we propose a novel technique to accurately detect those data races that can occur at higher levels of concurrent execution. The core idea of our technique is to introduce the general concept of Thread-Local Concurrency (TLC) as a new way to translate the concurrency expressed by a high-level programming paradigm into the lowexecution level understood by the existing tools. Specifically, we extend the definition of vector clocks to allow the existing state-of-the-art race detectors to recognize those races that occur at the higher level of concurrency with minor modifications to these tools. Our evaluation with our prototype implemented within ThreadSanitizer shows that TLC can allow the existing tool to detect these races accurately with only small additional analysis overheads.
Debugging parallel programs can be a challenging task, especially for the beginners. While the debuggers like DDT and TotalView can be extremely useful in tracking down the program statements that are connected to the...
详细信息
ISBN:
(纸本)9781728101903
Debugging parallel programs can be a challenging task, especially for the beginners. While the debuggers like DDT and TotalView can be extremely useful in tracking down the program statements that are connected to the bugs, often the onus is on the programmers to reason about the logic of the program statements in order to fix the bugs in them. These debuggers may neither be able to precisely indicate the logical errors in the parallel programs nor they may provide information on fixing those errors. Therefore, there is a need for developing tools and educational content on teaching the pitfalls in parallel programming and writing correct code. Such content can be useful to guide the beginners in avoiding commonly observed logical errors and in verifying the correctness of their parallel programs. In this paper, we 1) enumerate some of the logical errors that we have seen in the parallel programs (OpenMP, MPI, and CUDA) that were written by the beginners working with us, and 2) discuss the ways to fix those errors. The errors are mainly related to the data distribution, exiting distributed for-loops, and workload-imbalance. The documentation on these logical errors can contribute in enhancing the productivity of the beginners, and can potentially help them in their debugging efforts. We have added the code samples containing logical errors and their solutions in a Github repository so that the others in the community can reproduce the errors on their systems and learn from them. The content presented in this paper may also be useful for those developing high-level tools for detecting and removing logical errors in parallel programs.
The purpose of this paper was to develop a novel actual time cyber security approach to smart grids. The developed way securely backed the smart meters among smart grids against external attacks in a distribution subs...
详细信息
ISBN:
(纸本)9781538644782
The purpose of this paper was to develop a novel actual time cyber security approach to smart grids. The developed way securely backed the smart meters among smart grids against external attacks in a distribution substation. Security is provided using Message Passing Interface (MPI). Newly configured Floyd-Warshall Algorithm was applied to MPI so as to represent a distribution of key pairs which was generated by Homomorphic Encryption. Simulation case studies were conducted on Raspberry Pi 2 Model B in order to illustrate how the mentioned approach can be built to execute the cyber security essentials via parallel programming techniques and Valgrind tools on a virtual distributed mechanism. Simulation results which use real world attack data demonstrated that the developed way is capable of accomplishing cyber security against outer attacks accurately, quickly and real time based sorting of the key pairs into each smart meter node in the demanded area.
The introductory-level courses on parallel programming, typically, do not cover the topic of code correctness. Often, students learn about the logical errors in parallel programs and troubleshoot them through trial an...
详细信息
ISBN:
(数字)9781728148946
ISBN:
(纸本)9781728148953
The introductory-level courses on parallel programming, typically, do not cover the topic of code correctness. Often, students learn about the logical errors in parallel programs and troubleshoot them through trial and error, and spend a significant amount of time and effort in the process. A systematic pedagogical approach to teaching parallel code correctness is therefore needed to enhance the productivity of students and instructors. In this paper, we describe some theoretical and practical approaches that can be adopted for assessing and teaching parallel code correctness. The theoretical approaches include using formal methods (e.g., Petri nets and Hoare Logic). We apply these approaches on the test cases discussed in this paper. The practical approach involves teaching code correctness through demonstrations. For enabling this, we have not only curated a repository of parallel programs with commonly made logical errors but have also added a high-level interface on top of the repository for quickly comparing fixed and incorrect versions of the sample code in the repository, seeing the explanation text on the errors, and searching the repository on the basis of the causes and symptoms of logical errors. The work presented in this paper can potentially motivate the instructors in including the content on code correctness in their parallel programming courses and trainings.
CAPE (Checkpointing-Aided parallel Execution) is a framework that automatically translates and executes OpenMP on distributed memory architectures based on checkpoint technique. In some experiments, this approach show...
详细信息
ISBN:
(纸本)9781450365390
CAPE (Checkpointing-Aided parallel Execution) is a framework that automatically translates and executes OpenMP on distributed memory architectures based on checkpoint technique. In some experiments, this approach shows high-performance on distributed memory system. However, it has not been fully developed yet. This paper presents an implementation of OpenMP data-sharing on CAPE that improves the capability, reduces checkpoint size and makes CAPE even more performance.
Expressive actor models combine aspects of functional programming into the pure actor model enriched with futures. Such functional features include first-class closures which can be passed between actors and chained o...
详细信息
ISBN:
(纸本)9781450360661
Expressive actor models combine aspects of functional programming into the pure actor model enriched with futures. Such functional features include first-class closures which can be passed between actors and chained on futures. Combined with mutable objects, this opens the door to race conditions. In some situations, closures may not be evaluated by the actor that created them yet may access fields or objects owned by that actor. In other situations, closures may be safely fired off to run as a separate task. This paper discusses the problem of who can safely evaluate a closure to avoid race conditions, and presents the current solution to the problem adopted by the Encore language. The solution integrates with Encore's capability type system, which influences whether a closure is attached and must be evaluated by the creating actor, or whether it can be detached and evaluated independently of its creator. Encore's current solution to this problem is not final or optimal. We conclude by discussing a number of open problems related to dealing with closures in the actor model.
In case of a forced emergency landing situation it is crucial to identify suitable landing fields rapidly and precisely. To safely land an aircraft, various options are possible. A premium choice would be a published ...
详细信息
ISBN:
(纸本)9781538641125
In case of a forced emergency landing situation it is crucial to identify suitable landing fields rapidly and precisely. To safely land an aircraft, various options are possible. A premium choice would be a published airfield. But there are situations where such a location is unreachable - e.g. in regions with few widely scattered airfields or if the airplane's altitude is too low to reach a nearby airfield. In these cases, other flat terrains may be suitable to safely land the plane. If a satisfactory landing field is known, an Emergency Landing Assistant can be used to calculate an optimized route from the current position [3]. In this paper we present a parallel processing approach based on POSIX threads to identify suitable emergency landing fields. As input of the algorithm elevation data of a surface model is used. The landing fields are charaterized by a set of algorithm parameters which are based on different types of slope among the data points within a certain landing field. The recognized landing fields are scored according to their bumpiness measured by the variance of the altitude values and stored in a geo database for later usage in an emergency case.
Recent commercial hardware platforms for embedded real-time systems feature heterogeneous processing units and computing accelerators on the same System-on-Chip. When designing complex real-time application for such a...
详细信息
暂无评论