Practical applications of high performance computing often can be described in terms of processing of streams of data. The data may come from many sources, such as data from physical experiments, remote sensing or video streaming. The temporal constraints that often arise in the context of stream processing can only be met with the use of parallel computing.
Requirements for software implementation of systems for stream processing include autonomy or the ability to run unattended for extended periods of time, elasticity, architecture independence, ability to handle exceptional situations automatically and correctness. New programming techniques are needed for development of systems that meet these requirements. Such technologies are being researched within projects supported by the European Union and Russian scientific foundations.
The school program includes lectures by leading experts working on new technologies for stream processing, as well as a large amount of practical training needed to develop these technologies for their future application in collaborative projects. The main attention in the agenda of the school will be given to a combination of languages for fast numerical processing, parallel coordination and microthreading, namely S.A.C., S-Net, and μTC.
SAC is a pure functional programming language designed for numerical calculations and array processing. This feature distinguishes SAC from other functional programming languages, such as Haskell, Miranda or ML. On the other hand, the syntax is as close to the syntax of the C language, so that the portability problem can be solved much more efficiently than in the array programming languages such as SISAL or APL.
S-Net is a specialized coordination language for building stream processing networks from individual components that can be implemented in virtually any programming language.
μTC represents the development of the idea of multithreading in multi-core processors. It's syntax is based on the syntax of the C language, extended with five new instructions and can serve as an intermediate language compiler systems for streaming data processing, written in the SAC and S-Net for multi-core processors.
Young researchers involved in the design and development of systems for streaming data, as well as graduate students and senior students are invited to take part in the School. A scientific session will be held during the school, where the participants will be able to present the results of their research as well as preliminary reports or work in progress.