Similar Samples Cleaning in Speculative Multithreading
Yuxiang Li,Yinliang Zhao,Bin Liu
DOI: https://doi.org/10.1007/978-3-319-11194-0_9
2014-01-01
Abstract:Speculative multithreading (SpMT) is a thread-level automatic parallelization technique to accelerate sequential programs on multi-core. Too large and too dense samples can not be able to effectively promote the effectiveness of thread partition, parallel thread evaluation, etc. Selection of appropriate samples is of vital importance. The appropriateness reflects in two points. First, redundant samples never exist. Second, similarity between any two samples is not high. We express a sample with one feature vector of fixed length. We extract sample feature vectors using profiler in Prophet during compile time when running programs. Such profiles are created by feature extraction routines which map each program onto a tuple (N 1 , N 2 , N 3 , N 4 , N 5 , N 6) where N i is a count of an occurrence of a particular feature. A comparison routine is then invoked which detects similarities amongst tuples. According to the program features, similarity values between samples are calculated to assess the similar degree. In this paper, we introduce a novel way of assessing the similarity of two program samples using Theory of Fuzzy. We firstly calculate the Euclidean Distance of two different program samples as the input, and then assess the overall similarity degrees as well as respective similarity degrees, using corresponding Fuzzy Functions. Based on them, we clean the similar samples. With multidimensional samples generated virtually, we get that average density of samples decreases, so that a more effective collection of samples are created.