Cache-oblivious algorithms, a key to better performance

The cheapening of CPU cores in recent years, created a very complex set of circumstances. As the number of CPU cores per computer became greater, difficulties arose which meant that memory access became the bottle-neck for performance. CPUs of the current day and age far superseded their predecessors. 20 years ago, the frequency of the CPU was equivalent to that of the memory bus. This trend changed during the 1990s as hardware designers were able to increase the CPU frequency at a rapid rate. However, the frequency rate of the memory bus stayed the same for architectural reasons. Hardware designer have since come up with data access acceleration techniques, one of which, is the CPU cache. The workshop provided a walkthrough as to why CPU caches are important for software developers and the various cache algorithms that were designed to exploit the CPU cache without having the size of the cache as an explicit parameter.