{"title":"The Semantic Model Features of the Statically Typed Language of Functional-dataflow Parallel Programming","authors":"","doi":"10.14529/jsfi230203","DOIUrl":null,"url":null,"abstract":"The features of a statically typed functional-dataflow model of parallel computation and its mapping to the statically typed language of functional-dataflow parallel programming Smile are considered. To provide support for architecture-independent parallel programming, we used: a functional style, an implicit managing of calculations on data readiness, structured data objects that provide representation of various types of parallelism. A distinctive feature of the approach is the inclusion in the model of special asynchronous data objects that can generate events on partial filling. These data objects are stream and swarm. Each of these data objects has its own specifics to control by parallel calculations. A stream is used to process data of the same type that arrives sequentially and asynchronously at random intervals. A swarm is used to describe independent data of the same type or different types, on which it is possible to perform massive parallel operations. The use of streams and swarms in various situations as well as their mapping into each other and other program objects are shown. An analysis is made of the possibilities of transforming the formed language constructs into programming languages used in writing programs for modern parallel architectures.","PeriodicalId":52144,"journal":{"name":"Supercomputing Frontiers and Innovations","volume":"47 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Supercomputing Frontiers and Innovations","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.14529/jsfi230203","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"Computer Science","Score":null,"Total":0}
引用次数: 0
Abstract
The features of a statically typed functional-dataflow model of parallel computation and its mapping to the statically typed language of functional-dataflow parallel programming Smile are considered. To provide support for architecture-independent parallel programming, we used: a functional style, an implicit managing of calculations on data readiness, structured data objects that provide representation of various types of parallelism. A distinctive feature of the approach is the inclusion in the model of special asynchronous data objects that can generate events on partial filling. These data objects are stream and swarm. Each of these data objects has its own specifics to control by parallel calculations. A stream is used to process data of the same type that arrives sequentially and asynchronously at random intervals. A swarm is used to describe independent data of the same type or different types, on which it is possible to perform massive parallel operations. The use of streams and swarms in various situations as well as their mapping into each other and other program objects are shown. An analysis is made of the possibilities of transforming the formed language constructs into programming languages used in writing programs for modern parallel architectures.
期刊介绍:
The Journal of Supercomputing Frontiers and Innovations (JSFI) is a new peer reviewed publication that addresses the urgent need for greater dissemination of research and development findings and results at the leading edge of high performance computing systems, highly parallel methods, and extreme scaled applications. Key topic areas germane include, but not limited to: Enabling technologies for high performance computing Future generation supercomputer architectures Extreme-scale concepts beyond conventional practices including exascale Parallel programming models, interfaces, languages, libraries, and tools Supercomputer applications and algorithms Distributed operating systems, kernels, supervisors, and virtualization for highly scalable computing Scalable runtime systems software Methods and means of supercomputer system management, administration, and monitoring Mass storage systems, protocols, and allocation Energy and power minimization for very large deployed computers Resilience, reliability, and fault tolerance for future generation highly parallel computing systems Parallel performance and correctness debugging Scientific visualization for massive data and computing both external and in situ Education in high performance computing and computational science.