This is a panel discussion in the Journal of Computing Sciences in Colleges that aims to address the issues associated with the advent of readily available multi-core and clustered computing systems. Moore's law has driven microprocessor architects to design platforms that exploit the performance gain of multi-core processors. The problem resides in the fact that many computer science curricula do not touch upon parallel computing because while the fundamentals may be relatively basic, other aspects of the technology is extremely difficult for students to understand and implement. However, this is the direction computer systems are headed and something must be done to utilize this technology to its fullest extent.
This is an article from International Conference on Supercomputing in the Proceedings of the 19th annual international conference on Supercomputing. The article provides an in depth analysis of a particular technique in monitoring performance in real-time of hardware performance counters that then further analysis of bottlenecks in the microarchitecture and the software that meets hardware at a high-level abstraction layer. This real-time analysis can improve the optimization of existing software systems and lead to more efficient platforms, even applications in parallel computing. I found this article interesting as it is a technique that can improve the level of hardware literacy not only within the hardware engineering community, but it is also a technique that can be used by software developers to study the performance of their code in real life circumstances.