Date Added: Jun 2009
The current scenario with respect to data center applications is constantly evolving with applications being introduced and severs are regularly updated. Data centers require processor cycles of numerous machines and the application programmer plays an important role. The application programmer provides information on the physical abilities and configuration of servers. This paper tries to understand processor prefetch configurations and studies performance of applications in that context. This paper discusses a new framework that allows data center operators to prefigure the optimal configuration based on hardware performance counters. This framework can be used with different performance-critical data center applications without changing the source code. Even though processor configurations are available to the application programmer, it is difficult to know the difference in performance of good and bad configurations. For instance, while default prefetch configurations usually benefit data center applications, some applications with monitored memory behavior might suffer from aggressive prefetching. The framework discussed in this paper achieves results within 1% of the best performance of a suite of important data center applications. This is thanks to its ability to predict optimal configuration based on performance of hardware. This solution helps data center operators to achieve better results per watt consumed with this framework. This solution could help data centers optimize applications despite the constraints they are faced with.