28 karma · joined January 28, 2012
[ my public key: https://keybase.io/joestringer; my proof: https://keybase.io/joestringer/sigs/Ms8Ah5Koccp2z4eHbFip4fuU4niodt-_HSujfwDK_As ]
[1]: https://www.tcpdump.org/papers/bpf-usenix93.pdf
[2]: https://ebpf.io/what-is-ebpf#hook-overview
[3]: http://www.brendangregg.com/BPF/bpf_performance_tools_book.p...
For both traditional kernel modules and eBPF programs, you compile the code ahead of time. For kernel modules, if you have a bug, you load it into the kernel and the kernel hard crashes at runtime. For eBPF programs, the kernel will reject the program before you inject it.
In practice to deploy eBPF programs, you end up adding the kernel verification step into part of your CI/dev workflow so that by the time you ship your programs, you know that they will safely load and safely run in real environments.
https://chrome.google.com/webstore/detail/secure-shell/pnhec...
https://chrome.google.com/webstore/detail/secure-shell/pnhec...
Now, this also doesn't solve the issue of needing to consider the parallel architecture when coding the kernel to actually make use of the hardware. Nevertheless, kudos to the guys behind this.
Looks like this will eventually replace the inbuilt ssh supplied with crosh (Chromium OS shell)
Note also the use of "logically centralized", not "physically centralized".
Furthermore, traffic controller(s) would constantly gather information about traffic conditions from each intersection, and tell them how to direct the traffic to optimise road usage.
This way, the traffic controller knows everything about the optimal way traffic should flow, and it only has to make decisions based on the number of intersections rather than the number of cars. If you consider that one intersection could have tens of thousands of cars per day, that provides a huge saving in computation.
This differs from the analogy in the article; Intersection = Router, Car = Packet.
OpenFlow allows an entity to keep a global consistant state, and calculate the rules by which each of the nodes should forward. This logically centralised control can then enable higher utilisation of the network. Think about traffic reports on the radio -- If you are driving and know that there is a bottleneck on one highway, then you can take an alternative route.
EDIT: I use "Global" in this context for within an AS, not necessarily internet-wide.
[1] http://static.usenix.org/event/inm10/tech/full_papers/Tootoo...
There tends to be enough ambient, non-lyrical tracks to keep me interested. Some infrequent breakcore tracks get me amped as either a break or a queue to think harder :D.
Unfortunately, the flipside is that if you're using a computer more than a few years old, then anything more than your set of 'core' sites tends to slow your computer to a halt as your browser causes everything to be constantly swapping in and out of memory.