Skip to Main Content
Large classes of applications fail to scale well in CMPs due to contention in the memory subsystem. Assigning full core capacity to such applications is a clear resource waste. To support efficient and power-aware resource allocation policies, we need a prediction mechanism to provide information about the potential scalability of an application. In this paper we take an initial step towards building a scalability predictor, based on the utilization of information collected both during compile and runtime. Our approach is applied separately to each parallel-for region in the program and calculates an on-chip to off-chip activity ratio Sr, which then is associated to the scalability of the region (maximum speedup) with linear regression. Experimental results on two architectures using the Polybench suite demonstrate that our prediction model exhibits a good accuracy in predicting the scalability of various parallel-for regions.