Developing real-time systems applications requires programming paradigms that can handle the specification of concurrent activities and timing constraints, and controlling execution on a particular platform. The incre...
详细信息
ISBN:
(数字)9798350388633
ISBN:
(纸本)9798350388640
Developing real-time systems applications requires programming paradigms that can handle the specification of concurrent activities and timing constraints, and controlling execution on a particular platform. The increasing need for high-performance, and the use of fine-grained parallel execution, makes this an even more challenging task. This paper explores the state-of-the-art and challenges in real-time parallel application development, focusing on two research directions: one from the high-performance domain (using OpenMP) and another from the real-time and critical systems field (based on Ada). The paper reviews the features of each approach and highlights remaining open issues.
With the advancement of Internet technologies and the rapid increase of World Wide Web applications, there has been tremendous growth in the volume of digital data. This takes the digital world into a new era of big d...
详细信息
In this work, the implementation of an efficient multi-threading algorithm for calculating the power flow in electricity distribution networks is carried out using recursion and parallel programming. With the integrat...
详细信息
ISBN:
(数字)9798350387025
ISBN:
(纸本)9798350387032
In this work, the implementation of an efficient multi-threading algorithm for calculating the power flow in electricity distribution networks is carried out using recursion and parallel programming. With the integration of renewable energy, energy storage systems and distributed generation, the ability of power flow simulations becomes a crucial factor in finding the best solution in the shortest possible time. We propose the direct use of graph theory to represent distribution network topologies. In this data structure, the traversal algorithms are inherently recursive, thus enabling the development of algorithms with parallel programming to obtain the power flow calculation faster and more efficiently. Results under a 809 buses test system show that the implementation provides additional computation efficiency of 32% with recursion techniques and 27% with parallel programming, due the expense of threads’ allocation the combined gain reaches 50%.
Stream Processing applications are spread across different sectors of industry and people's daily lives. The increasing data we produce, such as audio, video, image, and text are demanding quickly and efficiently ...
详细信息
ISBN:
(纸本)9781665414555
Stream Processing applications are spread across different sectors of industry and people's daily lives. The increasing data we produce, such as audio, video, image, and text are demanding quickly and efficiently computation. It can be done through Stream parallelism, which is still a challenging task and most reserved for experts. We introduce a Stream Processing framework for asse s s ing parallel programming Interfaces (PPIs). Our framework targets multi-core architectures and C++ stream processing applications, providing an API that abstracts the details of the stream operators of these applications. Therefore, users can easily identify all the basic operators and implement parallelism through different PPIs. In this paper, we present the proposed framework, implement three applications using its API, and show how it works, by using it to parallelize and evaluate the applications with the PPIs Intel TBB, FastFlow, and SPar. The performance results were consistent with the literature.
Since parallel programming is much more complex and difficult than sequential programming, it is more challenging to achieve the same software quality in a parallel context. High-level parallel programming models, if ...
详细信息
ISBN:
(纸本)9783030700058;9783030700065
Since parallel programming is much more complex and difficult than sequential programming, it is more challenging to achieve the same software quality in a parallel context. High-level parallel programming models, if implemented as software frameworks, could increase productivity and reliability. Important requirements such as extensibility and adaptability for different platforms are required for such a framework, and this paper reflects on these requirements and their relation to the software engineering methodologies that could put them in practice. All these are exemplified on a Java framework - JPLF;this is a high-level parallel programming approach being based on the model brought by the PowerLists associated theories, and it respects the analysed requirements. The design of JPLF is analysed by explaining the design choices and highlighting the design patterns and design principles applied.
Automatic parallelizing compilers are often constrained in their transformations because they must conservatively respect data dependences within the program. Developers, on the other hand, often take advantage of dom...
详细信息
ISBN:
(纸本)9781665441735
Automatic parallelizing compilers are often constrained in their transformations because they must conservatively respect data dependences within the program. Developers, on the other hand, often take advantage of domain-specific knowledge to apply transformations that modify data dependences but respect the application's semantics. This creates a semantic gap between the parallelism extracted automatically by compilers and manually by developers. Although prior work has proposed programming language extensions to close this semantic gap, their relative contribution is unclear and it is uncertain whether compilers can actually achieve the same performance as manually parallelized code when using them. We quantify this semantic gap in a set of sequential and parallel programs and leverage these existing programming-language extensions to empirically measure the impact of closing it for an automatic parallelizing compiler. This lets us achieve an average speedup of 12.6x on an Intel-based 28-core machine, matching the speedup obtained by the manually parallelized code. Further, we apply these extensions to widely used sequential system tools, obtaining 7.1x speedup on the same system.
This paper introduced the design of a course on parallel programming for the students who have not learned Java but have learned another object-oriented programming language. Topics include an introduction to Java, pa...
详细信息
ISBN:
(数字)9798350361513
ISBN:
(纸本)9798350372304
This paper introduced the design of a course on parallel programming for the students who have not learned Java but have learned another object-oriented programming language. Topics include an introduction to Java, parallel computing theories, and several Java parallel programming techniques widely used today. As an introductory course, it primarily introduces the basic operations of each parallel programming model and their implementation in Java. Its instructional approaches are more close to student-centered and teamwork approaches. Its coursework is project-based, so students will gain hang-on parallel programming experiences through various projects comprehensively applying what they have learned. The design will be implemented in the summer of 2024 as a pilot.
作者:
Memeti, Suejb
Blekinge Institute of Technology Karlskrona Sweden
Heterogeneous systems, consisting of CPUs and GPUs, offer the capability to address the demands of compute- and data-intensive applications. However, programming such systems is challenging, requiring knowledge of var...
详细信息
In this paper we present the Python implementation of the Hammock-EFL methodology, whose model is a combination of project schedule design and parallel program design. Actually, it is a useful combination of two parad...
详细信息
parallel programming is an excellent way to speed up computation due to the simultaneous execution of the processes so that the operation is divided into the available threads. OpenMP, available for C, C++, and Fortra...
详细信息
暂无评论