scholarly journals Evolution of Visualization Methods for Research Publication Collections

2020 ◽  
Vol 23 (4) ◽  
pp. 788-807
Author(s):  
Alexander Ivanovich Legalov ◽  
Igor Alexandrovich Legalov ◽  
Ivan Vasilievich Matkovsky

It is proposed to add a static system of types to the dataflow functional model of parallel computing and the dataflow functional parallel programming language developed on its basis. The use of static typing increases the possibility of transforming dataflow functional parallel programs into programs running on modern parallel computing systems. Language constructions are proposed. Their syntax and semantics are described. It is noted that the need to use the single assignment principle in the formation of data storages of a particular type. The features of instrumental support of the proposed approach are considered.

2018 ◽  
Vol 8 (1) ◽  
pp. 228-234
Author(s):  
Valery Bakanov

Abstract The paper considers the problem of developing rational methods for the creation of a framework (a plan, execution timetable) of parallel programs for real parallel computing systems. To solve this problem, a software environment (software stand) has been developed that allows implementing different strategies for building a framework for parallel programs and assessing the quality of these strategies. The built-in script Lua programming language is used to increase the flexibility of modeling and optimization capabilities. Results of applying some of the proposed strategies for constructing rational plans for parallel programming are outlined.


2003 ◽  
Vol 13 (03) ◽  
pp. 473-484 ◽  
Author(s):  
KONRAD HINSEN

One of the main obstacles to a more widespread use of parallel computing in computational science is the difficulty of implementing, testing, and maintaining parallel programs. The combination of a simple parallel computation model, BSP, and a high-level programming language, Python, simplifies these tasks significantly. It allows the rapid development facilities of Python to be applied to parallel programs, providing interactive development as well as interactive debugging of parallel programs.


2021 ◽  
Vol 28 (2) ◽  
pp. 198-214
Author(s):  
Vladimir S. Vasilev ◽  
Alexander I. Legalov ◽  
Sergey V. Zykov

Functional dataflow programming languages are designed to create parallel portable programs. The source code of such programs is translated into a set of graphs that reflect information and control dependencies. The main way of their execution is interpretation, which does not allow to perform calculations efficiently on real parallel computing systems and leads to poor performance. To run programs directly on existing computing systems, you need to use specific optimization and transformation methods that take into account the features of both the programming language and the architecture of the system. Currently, the most common is the Von Neumann architecture, however, parallel programming for it in most cases is carried out using imperative languages with a static type system. For different architectures of parallel computing systems, there are various approaches to writing parallel programs. The transformation of dataflow parallel programs into imperative programs allows to form a framework of imperative code fragments that directly display sequential calculations. In the future, this framework can be adapted to a specific parallel architecture. The paper considers an approach to performing this type of transformation, which consists in allocating fragments of dataflow parallel programs as templates, which are subsequently replaced by equivalent fragments of imperative languages. The proposed transformation methods allow generating program code, to which various optimizing transformations can be applied in the future, including parallelization taking into account the target architecture.


2017 ◽  
Vol 5 (2) ◽  
pp. 55-69
Author(s):  
Daisuke Fujishima ◽  
Tomio Kamada

The field of parallel computing has experienced an increase in the number of computing nodes, allowing broader applications, including computations that have irregular features. Some parallel programming languages handle object data structures and offer marshaling/unmarshaling mechanisms to transpose them. To manage data elements across computing nodes, some research on distributed collections has been conducted. This study proposes a distributed collection library that can handle multiple collections of object elements and change their distributions while maintaining associativity between their elements. This library is implemented on an object-oriented parallel programming language, X10. The authors assume pairs of associative collections such as vehicles and streets in a traffic simulation. When many vehicles are concentrated on streets assigned to certain computing nodes, some of these streets should be moved to other nodes. The authors' library assists the programmer in easily distributing the associative collections over the computing nodes and collectively relocating elements while maintaining the data sharing relationship among associative elements. The programmer can describe the associativity between objects by using both declarative and procedural methods. They show a preliminary performance evaluation of their library on a Linux cluster and the K computer.


2015 ◽  
Vol 8 (2) ◽  
pp. 146-151 ◽  
Author(s):  
Matej Danko ◽  
Juraj Labovský ◽  
Ján Janošovský ◽  
Zuzana Labovská ◽  
Ľudovít Jelemenský

AbstractThe main objective of the presented work was to explore the possibilities of parallel computing utilization in chemical engineering. Parallel computers and principles of parallel computing are in brief described in Introduction. The next part exposes the possibilities of parallel programming in Matlab and C# programming language environment. The next three parts provide case studies of parallel computing in chemical engineering. Each example of the benefits of HPC involves a comparison with its serial equivalents.


2021 ◽  
Author(s):  
Lidia Vasiljevna Gorodnyaya

The report is devoted to the results of a paradigmatic analysis of problems, means and methods of organizing parallel computing and multi-threaded programs for multiprocessor complexes and distributed systems. Paradigmatic analysis of programming language and systems allows decomposing the complexity of the tasks being solved into autonomously developed components, assessing their similarities and differences, which must be taken into account when predicting the course of application processes, as well as when planning the study and organizing the development of programs. A variety of paradigmatic characteristics inherent in the preparation and debugging of long-lived parallel computing programs are shown. A sketch of a multi-paradigm parallel programming language for educational purposes is presented.


2015 ◽  
Vol 19 (5) ◽  
pp. 81-99
Author(s):  
M. S. Kropacheva ◽  
A. I. Legalov

The article is devoted to the methods of proving parallel programs correctness that are based on the axiomatic approach. Formal system for functional data-flow parallel programming language Pifagor is described. On the basis of this system programs correctness could be proved.


Author(s):  
D. S. Romanova ◽  
S. Yu. Smogluk

Today, due to problems in improving computing performance, parallel programming continues to evolve. There are many different languages in which you can write parallel programs. One of them is the functional-threading parallel programming language Pifagor, which in turn is very specific and allows you to write a program with maximum parallelism, as well as it is designed to solve the portability problem of parallel programs. Tools and a library of functions continue to be developed for this language. This study is devoted to the development of elements of the mathematical library and the search for the most effective mathematical parallel algorithms. The following methods are considered and used in the work: sequential, recursive (left and right recursion), factorization, and pairwise comparisons. As a result of the study, a number of mathematical functions were developed, and a study was made of the possibility of using these functions in the development of programs for multiplying large-dimensional matrices. The work demonstrates the effectiveness of using the developed simple functions implemented by different methods in matrix multiplication programs. The prospects of further work in this direction are noted, having in mind the analysis of the possibility of using artificial intelligence methods to increase efficiency and facilitate the development of parallel programs with large-sized matrices.


Author(s):  
S. Lakshmivarahan ◽  
Sudarshan K. Dhall

The prefix operation on a set of data is one of the simplest and most useful building blocks in parallel algorithms. This introduction to those aspects of parallel programming and parallel algorithms that relate to the prefix problem emphasizes its use in a broad range of familiar and important problems. The book illustrates how the prefix operation approach to parallel computing leads to fast and efficient solutions to many different kinds of problems. Students, teachers, programmers, and computer scientists will want to read this clear exposition of an important approach.


Sign in / Sign up

Export Citation Format

Share Document