Proceedings of the Institute for System Programming of RAS
Latest Publications


TOTAL DOCUMENTS

840
(FIVE YEARS 166)

H-INDEX

5
(FIVE YEARS 1)

Published By Institute For System Programming Of The Russian Academy Of Sciences

2220-6426, 2079-8156

2021 ◽  
Vol 33 (5) ◽  
pp. 181-204
Author(s):  
Vladimir Frolov ◽  
Vadim Sanzharov ◽  
Vladimir Galaktionov ◽  
Alexander Shcherbakov

In this paper we propose a high-level approach to developing GPU applications based on the Vulkan API. The purpose of the work is to reduce the complexity of developing and debugging applications that implement complex algorithms on the GPU using Vulkan. The proposed approach uses the technology of code generation by translating a C++ program into an optimized implementation in Vulkan, which includes automatic shader generation, resource binding, and the use of synchronization mechanisms (Vulkan barriers). The proposed solution is not a general-purpose programming technology, but specializes in specific tasks. At the same time, it has extensibility, which allows to adapt the solution to new problems. For single input C++ program, we can generate several implementations for different cases (via translator options) or different hardware. For example, a call to virtual functions can be implemented either through a switch construct in a kernel, or through sorting threads and an indirect dispatching via different kernels, or through the so-called callable shaders in Vulkan. Instead of creating a universal programming technology for building various software systems, we offer an extensible technology that can be customized for a specific class of applications. Unlike, for example, Halide, we do not use a domain-specific language, and the necessary knowledge is extracted from ordinary C++ code. Therefore, we do not extend with any new language constructs or directives and the input source code is assumed to be normal C++ source code (albeit with some restrictions) that can be compiled by any C++ compiler. We use pattern matching to find specific patterns (or patterns) in C++ code and convert them to GPU efficient code using Vulkan. Pattern are expressed through classes, member functions, and the relationship between them. Thus, the proposed technology makes it possible to ensure a cross-platform solution by generating different implementations of the same algorithm for different GPUs. At the same time, due to this, it allows you to provide access to specific hardware functionality required in computer graphics applications. Patterns are divided into architectural and algorithmic. The architectural pattern defines the domain and behavior of the translator as a whole (for example, image processing, ray tracing, neural networks, computational fluid dynamics and etc.). Algorithmic pattern express knowledge of data flow and control and define a narrower class of algorithms that can be efficiently implemented in hardware. Algorithmic patterns can occur within architectural patterns. For example, parallel reduction, compaction (parallel append), sorting, prefix sum, histogram calculation, map-reduce, etc. The proposed generator works on the principle of code morphing. The essence of this approach is that, having a certain class in the program and transformation rules, one can automatically generate another class with the desired properties (for example, the implementation of the algorithm on the GPU). The generated class inherits from the input class and thus has access to all data and functions of the input class. Overriding virtual functions in generated class helps user to carefully connect generated code to the other Vulkan code written by hand. Shaders can be generated in two variants: OpenCL shaders for google “clspv” compiler and GLSL shaders for an arbitrary GLSL compiler. Clspv variant is better for code which intensively uses pointers and the GLSL generator is better if specific HW features are used (like hardware ray tracing acceleration). We have demonstrated our technology on several examples related to image processing and ray tracing on which we get 30-100 times acceleration over multithreaded CPU implementation.


2021 ◽  
Vol 33 (5) ◽  
pp. 237-248
Author(s):  
Ivan Alekseevich Amelyushkin ◽  
Maksim Aleksandrovich Kudrov ◽  
Alexey Olegovich Morozov ◽  
Andrey Sergeevich Shcheglov

The study of aircraft icing modes, in which it is necessary to take into account the effect of droplet crushing, is of great interest in calculating the icing of aircraft, optimizing the hydrophobic and anti-icing properties of coatings, and is relevant in a number of other practical applications. Of great practical importance is the development of high-performance methods for calculating the interaction of aerosol flows with a solid. This work is devoted to the development of a model of particle dynamics, as well as a model of fragmentation of supercooled droplets of an aerosol flow during its interaction with the surface of a streamlined body. Developed physical and mathematical models can be used in software systems for numerical modeling of aircraft icing.


2021 ◽  
Vol 33 (5) ◽  
pp. 259-270
Author(s):  
Anna Alexandrovna Tsynaeva ◽  
Ekaterina Alexandrovna Tsynaeva

The work is devoted to the numerical study of indoor microclimate. Accurately predicting the distributed microclimate inside the residential space equipped with a microclimate control system called the «smart house» allows to save thermal energy significantly. Mathematical modeling was carried out by means of the Navier-Stokes equation, the energy equation, the continuity equation. The system of equations used was closed using the k-w-sst turbulence model. The resulting numerical solution was performed in the Code_Saturn, which has a free license. The Salome free software package was used to build a grid. In this context, a second–order scheme (SOLU) was used to resolve the velocity field, a MULTIGRID scheme was used for the pressure field, automatic settings were used for the kinetic energy of turbulence and her dissipation and for the temperature field, the maximum number of iterations for each cycle was equal to 10000, the Solver Precision accuracy was 10-8. The SIMPLEC algorithm is used to obtain a connected solution of the momentum balance and continuity equations. The paper provides an example of numerical solution verification, which is showed the relative temperature deviation from the values obtained by other authors was no more than 0.8-1.2%. Numerical simulation of the air velocity field in the residential space showed values from 0.12 to 0.15 m/s. Based on the results of the obtained solution, an analysis of the saving of thermal energy was carried out when regulating the supply of heat.


2021 ◽  
Vol 33 (5) ◽  
pp. 83-104
Author(s):  
Aleksandr Igorevich Getman ◽  
Maxim Nikolaevich Goryunov ◽  
Andrey Georgievich Matskevich ◽  
Dmitry Aleksandrovich Rybolovlev

The paper discusses the issues of training models for detecting computer attacks based on the use of machine learning methods. The results of the analysis of publicly available training datasets and tools for analyzing network traffic and identifying features of network sessions are presented sequentially. The drawbacks of existing tools and possible errors in the datasets formed with their help are noted. It is concluded that it is necessary to collect own training data in the absence of guarantees of the public datasets reliability and the limited use of pre-trained models in networks with characteristics that differ from the characteristics of the network in which the training traffic was collected. A practical approach to generating training data for computer attack detection models is proposed. The proposed solutions have been tested to evaluate the quality of model training on the collected data and the quality of attack detection in conditions of real network infrastructure.


2021 ◽  
Vol 33 (5) ◽  
pp. 249-258
Author(s):  
Konstantin Borisovich Koshelev ◽  
Andrei Vladimirovich Osipov ◽  
Sergei Vladimirovich Strijhak

The paper considers the possibility of the ICELIB library, developed at ISP RAS, for modeling ice formation processes on the surface of aircraft. As a test example to compare the accuracy of modeling the physical processes arising during the operation of the aircraft, the surface of a swept wing with a GLC-305 profile was studied. The possibilities of an efficient parallelization algorithm using a liquid film model, a dynamic mesh, and the geometric method of bisectors are discussed. The developed ICELIB library is a collection of three solvers. The first solver iceFoam1 is intended for preliminary estimation of the icing zones of the fuselage surface and aircraft’s swept wing. The change in the geometric shape of the investigated body is neglected, the thickness of ice formation is negligible. This version of the solver has no restrictions on the number of cores when parallelizing. The second version of solver iceDyMFoam2 is designed to simulate the formation of two types of ice, smooth (“Glaze ice”) and loose (“Rime ice"), for which the shape of ice often takes on a complex and bizarre appearance. The effect of changing the shape of the body on the icing process is taken into account. The limitations are related to the peculiarities of the construction of the mesh near the boundary layer of the streamlined body. Different algorithms are used to move the front and back edges of the film, which are optimized for their cases. The performance gain is limited and is achieved with a fixed number of cores. The third version of solver iceDyMFoam3 also allows you to take into account the effect of changes in the surface of a solid during the formation of ice on the icing process itself. For the case of smooth ice formation, the latest version of the solver is still inferior in its capabilities to the second one with complex ice surface shapes. In the third version, a somewhat simplified and more uniform approach is still used to calculate the motion of both boundaries of the ice film. The estimation of the calculation results with the data of the experiment from M. Papadakis for various airfoils and swept wing for the case of “Rime ice” is carried out. Good agreement with the experimental results was obtained.


2021 ◽  
Vol 33 (5) ◽  
pp. 205-218
Author(s):  
Vanessa Atenea Vargas-Pérez ◽  
Laura Silvia Vargas-Pérez ◽  
Agustín Francisco Gutiérrez-Tornés ◽  
Ana María Soto-Hernández ◽  
Edgardo Manuel Felipe-Riverón

Globalization urges the necessity of having world class leaders, and very frequently in its formation, is required to teach them computational tools to mainly improve their project management facilities. In order to give project management a greater quality, a very important point is to control and follow up all users’ diverse requirements, from the beginning to the end of each or any type of project: administrative, academic, engineering, software, video games, virtual and mixed reality, etc. This research shows a project requirements manager’s approach which allows knowing the specific requirements in each of its phases and give an advanced description of its various types and their traceability. This prototype promotes project requirement management best practices, and link them to the various areas of engineering, administration, planning and also with society, industry, commerce and academic sectors.


Author(s):  
Ibrahim Boubacar ◽  
Marina Borisovna Budko ◽  
Mikhail Yurievich Budko ◽  
Alexei Valerievich Guirik

As a result of the work focused on improving the efficiency of the information security system through the development of an ontological model and an approach based on it to ensure information security (IS) risk management, a flexible result was obtained, which is designed to ensure an increase in the efficiency of the information security system by reducing the time spent on managerial decision-making. At the end of the work, a comparative analysis of existing approaches and techniques to information security risk management and the described approach was carried out. Based on the developed ontology and approach, highly intelligent information security risk management systems and the information security system can be created on its basis.


Author(s):  
Nikolay Anatolievich Vershkov ◽  
Mikhail Grigoryevich Babenko ◽  
Viktor Andreevich Kuchukov ◽  
Natalia Nikolaevna Kuchukova

The article deals with the problem of recognition of handwritten digits using feedforward neural networks (perceptrons) using a correlation indicator. The proposed method is based on the mathematical model of the neural network as an oscillatory system similar to the information transmission system. The article uses theoretical developments of the authors to search for the global extremum of the error function in artificial neural networks. The handwritten digit image is considered as a one-dimensional input discrete signal representing a combination of "perfect digit writing" and noise, which describes the deviation of the input implementation from "perfect writing". The ideal observer criterion (Kotelnikov criterion), which is widely used in information transmission systems and describes the probability of correct recognition of the input signal, is used to form the loss function. In the article is carried out a comparative analysis of the convergence of learning and experimentally obtained sequences on the basis of the correlation indicator and widely used in the tasks of classification of the function CrossEntropyLoss with the use of the optimizer and without it. Based on the experiments carried out, it is concluded that the proposed correlation indicator has an advantage of 2-3 times.


2021 ◽  
Vol 33 (1) ◽  
pp. 173-188
Author(s):  
Maribel Tello-Rodríguez ◽  
Jorge Octavio Ocharán-Hernández ◽  
Juan Carlos Pérez-Arriaga ◽  
Xavier Limón ◽  
Ángel J. Sánchez-García

Cloud computing trends such as Software as a Service (SaaS) enable providers to host complex applications over the Internet, making them available to external consumers through an Application Programming Interface (API). The success of a SaaS, and in some sense any distributed system, is greatly influenced by its API. Highly usable APIs improve the efficiency of the development process and its quality, ensuring that programmers continue to appreciate other aspects of the API while increasing their productivity. Different studies state that the design phase within the development process of an API is the most appropriate to address usability issues. Therefore, usability should be considered as an explicit criterion in the design of an API. In this paper, we propose a design guide for web APIs with an emphasis on usability, using the best practices of usable web APIs design. Our design guide is based on an adaptation of the design science research methodology (DSRM), and it is complemented with a systematic literature review and gray literature analysis concerning methods, techniques, and tools used to develop usable APIs.


Author(s):  
Viktor Sergeevich Kryshtapovich

Gradual typing is a modern approach for combining benefits of static typing and dynamic typing. Although scientific research aim for soundness of type systems, many of languages intentionally make their type system unsound for speeding up performance. This paper describes an implementation of a dialect for Lama programming language that supports gradual typing with explicit annotation of dangerous parts of code. The target of current implementation is to grant type safety to programs while keeping their power of untyped expressiveness. This paper covers implementation issues and properties of created type system. Finally, some perspectives on improving precision and soundness of type system are discussed.


Sign in / Sign up

Export Citation Format

Share Document