Thursday, January 19, 2012

A nicely-presented example of dynamic algorithm interactions

Raymond Chen has a great example of dynamic algorithm interactions on his blog: Don't try to allocate memory until there is only x% free.

The diagrams are very helpful and the description is quite clear, even amusing:

Program 20 is now curled up in the corner of the computer in a fetal position. Program 10 meanwhile continues allocating memory, and Program 20, having shrunk as much as it can, is forced to just sit there and whimper.

A commenter notes that this is very similar to the dynamic pricing feedback loop noticed by Michael Eisen a year ago: Amazon’s $23,698,655.93 book about flies. Right down to the humor:

Peter Lawrence can now comfortably boast that one of the biggest and most respected companies on Earth valued his great book at $23,698,655.93 (plus $3.99 shipping).

All kidding aside, it is in fact tremendously hard to write software that uses the available machine resources efficiently and effectively, while still being a "good citizen" when other programs are trying to use the machine, too.

I have a feeling my great-grandchildren will still be trying to design algorithms to do this well...

No comments:

Post a Comment