Posts

Showing posts from April, 2019

StormDroid: A Streaminglized Machine Learning-Based System for Detecting Android Malware

Introduction This paper focuses on detecting malware android applications based on machine learning method. They defined 4 types of features to be extracted from applications: 1. well-received features 1.1 Permission: Some malicious applications need some specific types of permissions. 1.2 Sensitive API Calls: They extracted sensitive API calls from Snail files, and found the top types of sensitive API calls which could best distinguish malicious and benign applications. 2. newly-defined features 2.1 Sequence: Malicious apps tend to have drastically different sensitive API calls. They defined 3 metrics to quantify the number of sensitive API calls. 2.2 Dynamic Behavior: Monitor the activities triggered by each application from their log file. In both of these features, they removed the common ones which are shared by malicious and benign apps, and left the most distinguishable features. Application of ML methods They compared several ML methods: SVM, decision tree, Multi-Lay

StormDroid: A Streaminglized Machine Learning-Based System for Detecting Android Malware

Introduction: The paper approaches the problem of Malware Detection using machine learning approach. In this paper, the authors propose considering new type of features along with two traditionally used set of features for developing techniques for malware detection. Along with this proposal, the paper makes other contributions as well. The authors provide a new framework which is able to process information from large data sets as streams, and efficiently perform malware detection. Motivation: Android is an open platform for development. It has certainly made easy for everyone to develop and publish apps.  The number of apps published on Google store is in millions. However, it has also made easier for hackers to reach out to a larger population for malicious attacks. Additionally, with surge in the number of attacks on devices, more data is available for analysis which can be used by the machine learning models to identify malicious apps. This is motivation to use machine lear

ApDeepSense : Deep Learning Uncertainty Estimation Without the Pain for IoT Applications

Introduction : The paper focuses on providing uncertainty estimates in deep learning outputs. Uncertainty estimates are important for IoT applications which interact directly with the real world. The use of the existing approaches requires intensive computing and testing which would be a bottleneck in resource constrained IoT environments. To tackle this challenge, the authors propose ApDeepSense which proves to reduce the execution time to 88.9% and 90% of the energy consumption when compared to the state-of-the-art methods. Method : The paper proposes novel layer wise approximations and builds over the previous results to prove the equivalence between the layers in neural networks and the layers in deep gaussian processes. The obtained posterior distribution is approximated as a multivariate gaussian process which is used to establish the uncertainty of predictions. Thoughts/Comments : 1. The paper considers the resource challenges of IoT and brings attenti

ApDeepSense: Deep Learning Uncertainty Estimation Without the Pain for IoT Applications

Author: Shuochao Yao, Yiran Zhao, Huajie Shao, Chao Zhang, Aston Zhang, Dongxin Liu, Shengzhong Liu, Lu Su, Tarek F. Abdelzaher Intro: As a result of the recent advancement of deep learning applications, growing attention from the IoT community has been attracted to this technique. Different from other applications, the one with IoT areas require the learning method provide outputs as well as the uncertainty estimates of the outputs. The current state-of-art solution involves intensive sampling procedure, or even re-train the network, which is too expensive for many small applications. This paper presents ApDeepSense; a method saves around 90% of energy and time consumptions while producing more accurate uncertainty estimates. Methodology: The current state-of-art used dropout training to estimate the uncertainty and proved that the equivalence between dropout training and the approximate inference in a deep Gaussian process. This paper, however, showed that the internal-l

A Machine Learning Approach to Live Migration Modeling

Dynamic management of resources in data centers improves data center utilization in terms of energy consumption and device utilization. Virtual machines are among techniques to achieve this goal. To enable the VM to adapt to dynamic fluctuations of workloads, Live Migrated virtual machines are introduced, which stands for moving a VM from one physical host to another while the VM keeps running. Live migration enables load balancing, fault tolerance, ease maintenance, etc. However, live migration is costly in terms of data traffic. Having an understanding of performance metrics of different live migration algorithms is important so that one can rely on an efficient algrothm to migrate a running VM is important. Therefore, this work uses a Machine Learning (ML) approach to predict key metrics of different live migration algorithms, and then find the best suitable choice for live migration. Indeed, given resource usage as well as the characteristics of VM work load, this paper predict

A Machine Learning Approach to Live Migration Modeling

Authors:  Changyeon Jo, Youngsu Cho, Bernhard Egger Seoul National University Summary:  This paper proposed a machine learning approach to predict the system metrics for different VM migration algorithms. These system metrics are affected by migration algorithm, host machine status and user applications and feasible for machine learning approach. The prediction model takes 21 system/application input features (including which algorithm), and generates 6 metrics as the output. As a result, it can accurately estimate each metrics under different application, VM and algorithms. One of the application, the paper provide a semi-automated algorithm selection based on this machine learning model and user-provided SLA (service level agreements) constraints. Questions about Machine Learning:  Why machine learning is applied: The combination of algorithm, VM status and current running applications status, is a huge searching space. Machine learning features: which algorithm, 20 featu

CAPES: Unsupervised Storage Performance Tuning using Neural Network-Based Deep Reinforcement Learning

Proposed Solution Authors proposed a Deep Reinforcement Learning based general parameter tuning system, called as CAPES, which doesn’t need any prior knowledge of the target system. It is designed to find the optimal values of tunable parameters in computer systems where human tuning can be costly and often cannot achieve optimal performance.  Good Points: CAPES works in an unsupervised manner as it requires no prior knowledge of the targetsystem. Setting up CAPES is very easy as it causes less downtime with little change to the target system. CAPES can adapt to dynamically changing workloads. CAPES is scalable to large distributed systems which can be simply be achieved by increasing the size of Deep Neural Network. Using CAPES, it is possible to tune for multiple objectives at the same time, like tuning for throughput and fairness at the same time. Including new objective to be optimized can be achieved by simply adding one more unit in the output layer corresponding to

CAPES: Unsupervised Storage Performance Tuning using Neural Network-Based Deep Reinforcement Learning

TL;DR: CAPES is a model-less deep reinforcement learning based unsupervised system parameter tuning framework that uses deep neural network for implementation. It uses the Q learning paradaigm to suggest changes to the systems parameters such that it optimizes for performance/efficiency or whatever the end goal is. Problem statement Often systems need tweaking to make it work such that its performance is at its possible best or on other words many systems applications need optimizing to attain the best result. Tuning for such optimum configuration needs a lot of time, domain knowledge and expertise which could be hard if the enterprise is small enterprise where they cannot afford both time and money to attain the optimum. Through this paper Yan Li, et al. try to propose a generalized framework that can to the task of parameter tuning for any target system online such that its performance meets the specified goal. This paper masks the need for prior domain knowledge and adapt

REX: A Development Platform and Online Learning Approach for Runtime Emergent Software Systems

Introduction: The idea in this paper is similar to a paper[ Auto DBMS Tuning... ] we have discussed on class before. In the paper[ Auto DBMS Tuning... ], the author use ML model to automatically tune database knobs, while in this paper the author use ML model to optimize the combination of components in a complex software system to achieve better performance. The whole framework could be divided into 3 parts: 1.   Dane: A light weight programming language for implementing small components. These components could be assembled together to build a large scale software system. Some of these components may have the same function but do jobs in different ways. The main contribution of Dane is that it is fast so that different component could be dynamically rewired with very low cost. 2.   A perception, assembly and learning framework (PAL): It contains 2 modules: 1). Assembly Module. It could assemble different components to implement a feature. 2). Perception Module. It c

REX: A Development Platform and Online Learning Approach for Runtime Emergent Software Systems

Authors:  Barry Porter†, Matthew Grieves†, Roberto Rodrigues Filho† and David Leslie‡ †School of Computing and Communications; ‡Department of Mathematics and Statistics Lancaster University, UK Overview:  It's a very interesting paper. This paper gives a new idea for developing software: components and runtime adaptor, and it divides the runtime adaptor into 3 layers. First, the paper designs a new "glue" language named Dana to describe component interface and low level relationships. Then it proposes the "Perception, Assembly and Learning" layer (PAL) for: connecting components (assembly) to a full software system, collecting component's metrics/performance (perception) and provide interface for the learning layer. The highest learning layer will analyze the provided metrics and given action feedback for dynamic tuning. Main points in this paper:  REX: Dana, PAL and Learning Dana: - Describe components' interfaces and dependence relationship

AuTO: Scaling Deep Reinforcement Learning for Datacenter-Scale Automatic Traffic Optimization

Authors: Li Chen, Justinas Lingys, Kai Chen, Feng Liu Current method for Datacenter traffic optimization: A monitoring system is used for traffic data collection, after enough data is collected it is presented to engineers who perform data analysis, apply their application layer knowledge to produce a heuristic. This heuristic is tested using run simulation tools to find the optimal parameter settings. This process takes weeks or even months. In this way traffic optimization policies are generated for varying traffic load, flow size distribution, traffic concentration, etc. The problem: Due to the large turn around time there is data staleness because the characteristics traffic distribution that the system was built on maybe different from the current traffic characteristics and even when the traffic distributions are the same there maybe parameter- environment miss match which leads to a performance degradation. Both these problems can be avoided is the turn around time i