📜 ⬆️ ⬇️

Second week with intel

Hello! We continue the fascinating journey "5 weeks with Intel" - the topic of the second discussion - Intel development tools, development and optimization of parallel applications, in particular - Intel Parallel Studio .

image

Today our guest is Vladimir Tsymbal - having worked for the company since 2005, he is engaged in supporting users of the development tools for parallel applications of Intel.

First of all, I would like to congratulate the SSE operator - in the first week of discussions, the question was most liked by Intel representatives. For his curiosity, he will receive a prize - a set of "Mouse and Keyboard." The prize will be available after the fifth week of discussions, in a personal meeting in the company. By the way, an interesting coincidence ! ;)
')
image

Participate in the discussion - you see, and you are lucky! Keyboards and netbooks we still have ;)

Well, now the interview:

Vladimir graduated from the Taganrog State Radiotechnical University in 1996 with a degree in radio engineering; there he defended his thesis. He taught at the university, worked as a research assistant at the design bureau, developed hardware graphics accelerators, and participated in the development of software and hardware systems for medical diagnostics as a senior software engineer.

image

In Intel since 2005, he participated in the development of the VTune Performance Analyzer, and now works at the Intel Performance Analysis and Threading Lab, where he is engaged in supporting users of development tools for parallel applications of Intel and, in particular, Parallel Studio.

How did you get into Intel?


Frankly, from the very beginning I wanted to be in Intel. I tracked job offers for two years and, when a suitable job opened for me, I came for an interview.

You are approached by people developing parallel applications. What kind of these apps?


Applications are very different - for example, client applications from various areas, for example, financial. Or take health care - these are applications that work with medical equipment, and this includes signal processing, and algorithms for counting various characteristics of the signals under study, and data visualization. Such applications are always lacking the performance of computers. There may also be server applications — programs that process client machine requests and work by default in multi-thread and multi-processor mode. For them, the maximum use of all microprocessors and cores present in the system is critical. Their developers are trying to use the available computing resources 100% - for these people it is a matter of competitive advantage in the market, so they are looking for tools to improve their server applications in terms of multithreading and multiprocessing.

If we take such a parallelizable task as architectural visualization, then the visualization processes of individual frames become discrete tasks. These processes are not related to each other, do not compete - they can be considered in any order. And there are other applications where race condition arises - this is when one part of the calculations uses the other, and requires data from another process. What difficult cases of such parallelism are there?


Difficult cases - in fact, not so many, but they occur quite often. As a rule, these are cases where race condition, that is, competitive access to the same data, is simply not noticeable to the programmer. He does not see the effect of the error. It occurs, but the programmer finds out about it too late - in the worst case, when the application is already at the customer. The cunning of these errors is that they depend on the environment in which the program is running. For example, the application was installed on a faster machine, and the results of the program changed, although no such effects were found on the test machine. Therefore, developers are interested in such tools that would detect such errors regardless of the application environment. These errors always happen all the time, no one is immune from them, so tools like Intel Parallel Studio are very popular and are a necessary part of the set of any programmer involved in parallel programming.

Tell me, what is the advantage of Parallel Studio over the Microsoft toolkit?


We are not talking about the advantage over Microsoft tools, we complement the capabilities of Visual Studio to detect memory and multithreading errors, making it a full-featured parallel program debugger - this is the first; second, we help to create parallel applications more efficiently. In what sense? The fact is that it is not enough just to use threads when developing applications. You need to know how effectively these threads use microprocessor cores. Microsoft Visual Studio does not contain tools that allow you to track the temporal characteristics of the program execution, in order to evaluate how much the application actively uses all microprocessors that are in the system, and in which program functions the multi-streaming is implemented inefficiently. We complement Visual Studio with this functionality for profiling multi-threaded applications.

Your area of ​​interest is signal recognition algorithms and image processing. Tell me more?


This is the first area of ​​my scientific interests, since the time I worked on my dissertation together with my supervisor. In short, I was developing signs for recognizing multidimensional signals, specializing in the medical field. We tried to understand how it is possible to isolate some specific signs from the signals of encephalography, which could be used to recognize various pathologies. This topic continues to interest me, now I quite often come across companies that are engaged in signal and image processing, and have their own developments in the field of pattern recognition. I continue to collaborate with my supervisor in this area. This has nothing to do with my immediate work, but this topic is in my area of ​​interest.

So you have time for work and science?


Yes - outside of work I am engaged in scientific activities.

And how does Intel relate to this?


Intel treats all scientific activities very well, encourages scientific publications and participation in conferences.

Algorithms that you do - are they used somewhere?


You know, when you do research, it is important to understand exactly what you are doing - fundamental scientific research, or applied. I am engaged in the development of basic techniques and algorithms, and their application is the area in which specific companies are engaged in the development of diagnostic equipment. They can be implemented in software and used in various fields.

But you have a hobby - diving.


Right.

image

Got certification?


Yes, I am a certified diver, and regularly dive both in Russia and abroad.

It turns out that you are a comprehensively developed personality - combining scientific activity, useful work and extreme sports?


The point here is not about comprehensiveness - I do diving so that my head does not boil over from all scientific and working moments (laughs). Sometimes you need to do something to get away from work - extreme rest is very well distracting from it.

Feel free to participate in the discussion, ask questions!

Source: https://habr.com/ru/post/70211/


All Articles