Oleg Karasik - Making fun with parallelism in .NET (Dotnetos Conference 2021)

Поділитися
Вставка
  • Опубліковано 19 вер 2024
  • Dotnetos Conference 2021 playlist: • Dotnetos Conference 2021
    Dotnetos Academy: academy.dotnet...
    Website: dotnetos.org/?...
    Twitter: / dotnetosorg
    github.com/Ole...
    Making fun with parallelism in .NET
    In Oleg's presentation he's going to talk about parallelism, concurrency, multi-threading and asynchronous execution. He'll explain what they are about and how this knowledge can be applied in development. Oleg will also going to describe and demonstrate (with small working examples) common parallel programming models (such as independent parallelism or synchronous parallelism) and well-known parallel programming paradigms (such as divide and conquer or speculative parallelism). But that's not all, get ready for a surprise! He's also planning to demonstrate you (as he hopes) a quite unusual way of doing exploiting multi-tasking in .NET.
    Oleg codes in .NET for more than 10 years. During this time, he participated in development of enterprise level web applications, frameworks, shared libraries and utilities of different scale. In a last few years as .NET R&D engineer he mostly works with new and prospective technologies in .NET (ex. .NET Core) and Cloud (ex. Azure Service Fabric) space. Besides coding Oleg occasionally publishes blog posts and does monthly newsletter (named .NET R&D Digest) which includes links to blog posts and articles, books, tools and other interesting .NET related (and sometimes not) stuff. You can find his blog here: olegkarasik.wo...

КОМЕНТАРІ • 3

  • @olegkarasik3443
    @olegkarasik3443 2 роки тому

    Here are answers to some questions left unanswered in the chat:
    1. @sumit more - "SIMD can be viewed as data parallelism?" - Yes, it can be. As I said, types of parallelism are about "what" is being parallelised. Regarding seems is a parallel processing of data on instruction level, so it is a valid example of data parallelism.
    2. @Prasadh Kumar - "would like to hear your view about how yield works" - So, here if we are talking about Thread.Yield then the pretty simple. When executing Yield you are saying to operating system "hey, if there is a thread ready to run, take the rest of my quantum and give it to it". The thread to receive the rest of the quantum is selected by the operating system. In some cases there could be no such thread and then your thread will simply continue to execute. However, in case of Task.Yield method, all we are achieving is forcing async-await machinery to execute the rest of the method asynchronously.
    3. @Prasadh Kumar - "List Profile data type under Parallel.foreach is not thread safe right ???" - It is safe to path List in Parallel.ForEach as input parameter because it isn't modified by the method.

  • @JoseSilva-gt6zj
    @JoseSilva-gt6zj 2 роки тому +2

    Registering the answer for the following question at 59:20 :
    ☝ Oleg, have you already tested "Kithara Software" or "RTX64 from Interval Zero"? If yes, what's your opinion? Both of them make Windows a Real-Time Operational System.
    Thank you all for this awesome conference!

  • @michalNR
    @michalNR 2 роки тому

    Great presentation