[jira] [Created] (IGNITE-13378) .NET: Thin Client: Use non-blocking socket IO

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-13378) .NET: Thin Client: Use non-blocking socket IO

Anton Vinogradov (Jira)
Pavel Tupitsyn created IGNITE-13378:
---------------------------------------

             Summary: .NET: Thin Client: Use non-blocking socket IO
                 Key: IGNITE-13378
                 URL: https://issues.apache.org/jira/browse/IGNITE-13378
             Project: Ignite
          Issue Type: Bug
          Components: platforms
    Affects Versions: 2.4
            Reporter: Pavel Tupitsyn
            Assignee: Pavel Tupitsyn


.NET Thin Client was initially developed for Windows and .NET Framework. Benchmarks at that time proved that blocking socket IO was faster for single-threaded workload, and we developed a solution with a dedicated thread for response handling, and async APIs use blocking writes.

We may want to reconsider this design:
* Scalability is often more important than single-threaded performance
* .NET Core has many perf improvements over .NET Framework

Investigate async socket IO performance on .NET Core 3.x/5.x compared to the current approach on Windows and Linux and refactor ClientSocket accordingly to avoid any blocking and a dedicated thread usage.




--
This message was sent by Atlassian Jira
(v8.3.4#803005)