Architectures and Design Patterns · Cloud Comptuing · Data Structures and Algorithms · Distributed Computing · linux · Operating Systems · OS Kernel · Performance · Performance, Throughput, Real-time and Other · Software Engineering · Throughput

Scaling to Thousands of Threads

Knot is a network server as well as Haboob. The difference is the concurrency model: Knot is thread-based, instead Haboob is event-based [9]. Clearly, from the benchmark results, the poll()/epoll() mechanism is a serious bottleneck as soon as the number of active concurrent clients become relevant (in the specific case, at 16384 clients the trashing… Continue reading Scaling to Thousands of Threads

Applied Concurrency · Architectures and Design Patterns · Core Development · Data Structures and Algorithms · Distributed Computing · News from the Web · Performance · Performance, Throughput, Real-time and Other · Throughput

Scalable I/O: Events- Vs Multithreading-based

Everything begins with a refresher reading of my fundamental papers – yes, I use a set of papers and books as reference material. This paper is titled: “Why Events Are A Bad Idea (for high-concurrency servers)“, by Rob von Behren at the time of writing a PhD fellow at Berkeley [18]. Von Behren opens with: “Event-based… Continue reading Scalable I/O: Events- Vs Multithreading-based

Applied Math · Performance · Real-time and Other · Throughput

Queueing Theory Explained

Let’s start this post with an extract of Murphy’s Law. If you change queue, the one that you left will start to move faster than the one you are in now. Your queue always goes the slowest. Whatever queue you join, no matter how short it looks, it will always take the longest to you… Continue reading Queueing Theory Explained