Posts

Showing posts with the label hardware performance counters

A Case for Machine Learning to Optimize Multicore Performance

Authors: Archana Ganapathi, Kaushik Datta, Armando Fox, David Patterson Venue: USENIX Hot Topics in Parallelism 2009 This workshop paper examines applying a machine learning technique to auto-tuning HPC stencils. The configuration space consists of 5 independent knobs resulting in a total of ~4 million possible configurations. The work applies KCCA (kernel canonical correlation analysis) which finds correlations between two sets of data, in this case performance measurements and tune settings. KCCA is a specific way to do this that allows for non-linear relationships. Compared to feature extraction techniques, this is a direct way to find correlations rather than just using an intermediate step of feature extraction followed by a method of clustering. The main reason this appears to be only a workshop paper is that only two experiments are performed, both using stencils. The KCCA algorithm is definitely worth a deeper understanding, as the results are promising. Full Text

Quantifying and Improving the Efficiency of Hardware-based Mobile Malware Detectors

Venue:    MICRO 2016 Authors: Mikhail Kazdagli, Vijay Janapa Reddi, Mohit Tiwari This paper presents an analyze of hardware-based malware detection on a mobile platform, mainly Android. The paper does an exception job at modeling many different malware acts, analyzing not only their behaviors, but validating the attacks are operating correctly. The paper then uses hardware performance counters to detect malware. They note that this malware on mobile devices typically operates in the order of seconds. They create Sherlock, a Hardware Malware Detector (HMD), which samples number of instructions, number of memory loads/stores, immediate and indirect control flow execution counts, and number of mispredicted branches. They sample at a frequency of 1kHz, finding the overhead to be 0.3%. They extract features from each 100ms long time interval using Discrete Wavelet Transform (using the coefficients as a feature vector). They use these feature vectors to construct two models: (a) ...