• No se han encontrado resultados

RIESGOS CLIMÁTICOS

techniques

Machine learning, closely related to computational statistics, is a field in computer science that gives a machine the ability to learn patterns without being explicitly programmed. These tech- niques have seen great success in computer vision, robotics, economics and marketing, linguistics, and bio-informatics, and can be applied to performance modeling in contention environment. For example, authors [64] use artificial neural networks (ANN) and support vector machines (SVM) to model the performance of a VM-hosted application as a function of the resources allocated to the virtual machine (VM) and the resource contention experienced. The authors argue that while it is common practice to use hardware performance counter statistic to predict performance, they are difficult to use in a virtualized environment as those model specific registers are not exposed to user. There are two other ways to make predictions: using queuing and control theory and using

machine learning. A control theory based approach is built upon the assumption that performance and resource allocation are linearly related. However, due to contention and non-linear application characteristics, this assumption results in poor prediction. Machine learning approaches are well ex- plored in the literature. CARVE [63,111] uses a regression model to relate memory allocations and performance. Kundu et al. [63], Wood et al. [111] create regression models for application resource allocation between a physical machine and a virtualized machine, but the prediction result is poor when applied to virtualized environments. Cohen et al. [23] propose a tree-augmented bayesian net- work to reveal the relationship between resource allocation and quality of service degradation. The authors use performance statistics to query the signature of an application, cluster programs with similar behavior, and find previous allocations of same type to guarantee Service Level Agreement (SLA). In a similar work, Bodik et al. [12] use a logistic regression model to replace the Bayesian network. Even though the above works help predict whether certain resource allocations to an appli- cation will result in SLA violation, they fail to make accurate prediction on how much performance degradation would be with given statistics.

In contrast, recent studies borrow the ideas from the Netflix challenge and recommendation sys- tem. Collaborate filtering is a technique employed by recommendation system to make predictions. The most common examples are video recommendations provided to uses by YouTube or merchan- dise suggested to interested users by Amazon. These methods usually involve large amount of big data and sparse data collected from a recommendation provider’s database. Similarities are found by comparing one user’s behavior with other users. It can be expressed in mathematic form as a 2-D array, where each row represents an user, and each column represents an item, and each entry in the matrix represents a specific user’s score for a specific item. The matrix have dense part as it accumulates rating information from other user over time, and the matrix also has sparse portion as an active user only give partial scores on a subset of all items and the recommendation system

tends to guess this user’s score on other items and provides recommended items with higher scores. Singular Value Decomposition(SVD) is often employed to tackle above task. SVD is applied onto dense matrix DN xM. The matrix D, D = UΣVT, where UN xN and VM xM are orthogonal and

ΣN xM is diagonal matrix. Column of U are eigenvectors of DDT and column of V are eigenvectors

of DTD. Entries in Σ are eigenvalues ordered according to eigenvectors. With the SVD solution,

we can estimate ˆD = UkΣkVkT is the best rank k approximation of D. In actual, D is sparse as some

rows contain entries with missing values. And SVD is undefined if there are missing entries. One solution to this is to assign missing entries with weight either 0 or 1. And minimizing the weighted difference between approximation and actual values. Numerical optimization using gradient descent in U and V or Expectation Maximization(EM) are employed to solve the problem.

As contentions exist when co-scheduling happens, different applications react differently toward pressure. One can create a sparse matrix [25] where each row represents a different application, each column represents one type of the contention resources, and each entry corresponds to a score for the application’s reaction towards a specific contention. The dense part is thorough profiling of training programs running against micro-kernels that stress different aspect of contention resources. The sparse part is the program need to be scheduled and only a small subset of the micro-kernels are profiled against application of interest so that SVD is applied and entry value can be estimated. With such framework, program contentions are quantified, not only the framework provides user with a valid co-run groups scheduling solution but also actually provides user with information how much performance degradation would be if the candidate scheduling group is executed.

Non-uniform memory access (NUMA) [119] is widely used for multi-socket machines. Though different from CMP architectures, accessing remote memory from a local processor can also result in contention and thus result in performance degradation. In this paper, the author proposes DR-BW, a framework for identifying bandwidth contention on NUMA machines using supervised learning

techniques. By co-running applications with micro-kernels designed to stress memory bandwidth and measuring the number of remote memory accesses, remote access latency, and other hardware statistics, a decision tree structure is built to classify if an application is remote memory bandwidth friendly or a contention source. By tracking thread ID during a sampling period, the framework also identifies the critical section/instructions of a program that will result in remote memory access contention. This study once again shows that for a contention-related task, one can tackle it using three methods/tools: 1) using the PMU to collect hardware statistics on the fly to understand runtime behavior, 2) making use of micro-kernels to understand how application react with different level of contention and 3) if necessary, dividing applications into groups and treating each group separately to improve prediction/scheduling.

2.2

Machine learning: clustering and regressions

As machine learning techniques are frequently employed in the co-tenancy scheduling and modeling frameworks, a brief introduction to those approaches are given in this section.

Clustering is a group of algorithms, root from mathematics, statistics and numeric analysis, that gather data together who has similar properties or patterns [49,74,3,2]. Putting data into groups might lose fine details but brings simplicity. Without explicit indication, clustering manages to reveal the hidden patterns among given data and it falls into the category of unsupervised learning from a perspective of machine learning technique. This is a well-studied field and those algorithms in the area has been put into practice of real-world tasks such as image processing, pattern recognition, data mining, biological analysis and even medical diagnosis. A various of clustering method are listed below.

• hierarchical clustering • partitioning method

• others: grid based method, constraint based methods, scalable clustering, clustering in machine learning, clustering in high-dimension data

Documento similar