Cache Characterization and Performance Studies Using Locality Surfaces