Code Monkey home page Code Monkey logo

Comments (6)

deRemo avatar deRemo commented on August 15, 2024 1

Another interesting article on SO_REUSEPORT: https://lwn.net/Articles/542629/; according to the article, we can simply adopt the second option without much worrying about a comparison

from distwalk.

tomcucinotta avatar tomcucinotta commented on August 15, 2024

Further useful pointers about the "thundering herd" in multi-threaded accept()/select()/epoll() based servers:

from distwalk.

tomcucinotta avatar tomcucinotta commented on August 15, 2024

another problem with the current code base, is that buf_alloc() is called always from the same thread, but the allocated memory buffers are later used from the worker threads. In the new solution, we should call buf_alloc() from the various worker threads, so to have some advantage in allocated memory locality on NUMA servers (ideally, with worker threads pinned to physical cores, yet another cmd-line option to add).
(moving this part to a separate issue #25)

from distwalk.

deRemo avatar deRemo commented on August 15, 2024

(Note: commit f029e79 doesn't exist anymore due to typo in comment)

from distwalk.

deRemo avatar deRemo commented on August 15, 2024

another problem with the current code base, is that buf_alloc() is called always from the same thread, but the allocated memory buffers are later used from the worker threads. In the new solution, we should call buf_alloc() from the various worker threads, so to have some advantage in allocated memory locality on NUMA servers (ideally, with worker threads pinned to physical cores, yet another cmd-line option to add). (moving this part to a separate issue #25)

This problem should be addressed by default in 4d271aa, since I repurposed epoll_main_loop() itself as the thread body

from distwalk.

tomcucinotta avatar tomcucinotta commented on August 15, 2024

nothing left here after merging PR #26, closing.

from distwalk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.