Cyber-physical systems (CPS) consist of a variety of multicore architectures, including central processing units (CPU) and graphical processing units (GPU). In general, programmers assign sequential programs to the CPU while parallel applications are assigned to the GPU. This article provides a method for mapping an OpenCL application to a heterogeneous multicore architecture using active fuzzy learning to determine the adequacy and processing capabilities of the application. During learning, subsamples are created by developing a machine learning-based device suitability classifier that predicts which processors would have excessive computational compatibility for running OpenCL programs. In addition, this study integrates an active learning model based on entropy with a fuzzification model to find nonoverlapping patterns. To minimize rule generation, the fuzzification-based weighted probabilistic technique is presented. The defuzzification process is optimized by using uncertainty values in conjunction with classification probability. In addition, 20 different features are proposed for extraction using the newly developed LLVM-based static analyzer. The correlation analysis approach is used to determine the optimal subset of features. The synthetic minority oversampling approach with and without feature selection is used to differentiate the class imbalance problem. Instead of manually modifying the machine learning classifier, a tree-based pipeline construction approach is used to determine the optimal classifier and associated hyperparameters. Experiments are then conducted on a set of benchmarks to verify the performance of the designed model. The results show that by increasing the number of training examples and including an entropy uncertainty measure, the proposed model is able to support and improve decision boundaries. We achieved a high F-measure of 0.77 and a ROC of 0.92 by optimizing and reducing the feature subsets.
Read full abstract