3 ms·
With all this message passing, have anyone experienced the network becoming the bottleneck !?
by z3t4 9y ago
With all this message passing, have anyone experienced the network becoming the bottleneck !?
- nudpiedo 9y agoif you push your design to the limits of scalability, then you gonna hit a wall at some point (IO, memory or CPU) and as long as your application is not based on CPU intensive calculations (simulations, calculus, ...) most of the time IO is the bottleneck, network or disk. However, I am not that experienced in distributed applications and would appreciate reading the opinions from more experienced engineers.
- zbentley 9y agoIn large Erlang applications, the "send to multiple peers" broadcast tendencies of its message passing can indeed cause the network to become a bottleneck; so can the default chattiness that a lot of Erlang application developers assume for their app behavior. Fortunately, there are lots of simple-to-apply patterns and solutions when you get to that point, for example the excellent Partisan library: https://github.com/lasp-lang/partisan https://github.com/lasp-lang/partisan
- toast0 9y agoSure. As with any other distributed processing, if you have enough other resources, you can run out of network. Or if something happens to reduce capacity of the network, it's going to constrain the rest of your system. It depends on what you're doing. At work we have several systems that needed to upgrade to 2x 10G Ethernet (from 2x 1G), but not much pushes that limit at the moment. Our newer hosting is more badwidth with smaller CPU and RAM, so we expect to see more CPU constraints than network constraints.