optimisation of virtual machine garbage collection
play

Optimisation of virtual machine garbage collection policies ASMTA11 - PowerPoint PPT Presentation

Optimisation of virtual machine garbage collection policies ASMTA11 Simonetta Balsamo Gian-Luca Dei Rossi Andrea Marin Dipartimento di Scienze Ambientali, Informatica e Statistica Universit` a Ca Foscari, Venezia June 22, 2011


  1. Optimisation of virtual machine garbage collection policies ASMTA’11 Simonetta Balsamo Gian-Luca Dei Rossi Andrea Marin Dipartimento di Scienze Ambientali, Informatica e Statistica Universit` a Ca’ Foscari, Venezia June 22, 2011

  2. Outline • Context • Prerequisites • Model • Examples • Heuristic • Conclusions Optimisation of virtual machine garbage collection policies 2 of 20

  3. Memory management in HLLs Automatic memory management (Garbage Collection) • Easier • Safer • Performance issues Many different technologies • Algorithms • Number of phases • Blocking activities ( stop-the-world approach) • Activation timings Performance optimisation strategies: • Changing algorithms or implementations • Reducing blocking phases • Tuning the activation timing • Service time degradation vs. blocking activities Optimisation of virtual machine garbage collection policies 3 of 20

  4. Model: Assumptions • Customers (reqs) arrival poisson process, parameter λ • Scheduling discipline: Processor Sharing • Memory divided in B blocks • At each customer arrival, b blocks are allocated, according to a discrete random variable probability distribution. • Service rate µ i depends on the number i of allocated memory blocks. • Garbage collector is activated periodically (rate α i ) or when the memory is full. • The garbage collector frees unused allocated memory blocks with rate γ i . • During the garbage collection phase all services are suspended • The garbage collector stops unconditionally after a random delay, with rate β i . • When the system is empty (no customer), the memory is freed instantaneously. Optimisation of virtual machine garbage collection policies 4 of 20

  5. Model: states space State: a triplet ( c, i, g ) , where • c is the number of customers in the system • i is the number of allocated memory blocks • g is the state of the GC: ON (active) or OFF (non active) When there is no customer in the system, i.e., c = 0 , memory is always completely unallocated and the garbage collector is inactive, i.e., i = 0 , g = OFF. Formally E = (0 , 0 , OFF ) ∪ { ( c, i, g ) | c ∈ N > 0 , i ∈ { 1 . . . B } , g ∈ { ON , OFF }} . The model is a Quasi-Birth-Death Process and is solvable using a Matrix Geometric method [3, 2]. Optimisation of virtual machine garbage collection policies 5 of 20

  6. Quasi-Birth-Death Processes λ ′ λ λ   B 00 B 01 0 0 0 0 . . . . . . B 10 A 1 A 2 0 0 0    0 A 0 A 1 A 2 0 0 . . .      . . . Q = 0 0 A 0 A 1 A 2 0 . . . 0 1 2    ... ... ...      . . . . . . .   . . . . . . . . . . . . . . µ µ µ ′ • States are grouped in levels • Transitions are permitted only between states in the same level or in adjacent levels. • Levels can be represented by square matrices • Transitions between levels are also represented by matrices • After an optional initial phase, all levels and transitions have an identical structure. Optimisation of virtual machine garbage collection policies 6 of 20

  7. Model: initial state γ B γ 2 γ 3 γ B − 1 . . . . . . (1 , 1 , ON) (1 , 2 , ON) (1 , B − 1 , ON) (1 , B, ON) α 1 α 2 α B − 1 β B − 1 α B β 1 β 2 β B . . . (1 , 1 , OFF) (1 , 2 , OFF) (1 , B − 1 , OFF) (1 , B, OFF) µ 1 µ 2 µ B − 1 µ B λ . . . (0 , 0 , OFF) Optimisation of virtual machine garbage collection policies 7 of 20

  8. Model: regular block of states ( n + 1 , 1 , ON) ( n + 1 , 2 , ON) . . . ( n + 1 , B − 1 , ON) ( n + 1 , B, ON) . . . ( n + 1 , 1 , OFF) ( n + 1 , 2 , OFF) ( n + 1 , B − 1 , OFF) ( n + 1 , B, OFF) γ B γ 2 γ 3 γ B − 1 . . . . . . ( n, 1 , ON) ( n, 2 , ON) ( n, B − 1 , ON) ( n, B, ON) α B − 1 α 1 β 1 α 2 β 2 β B − 1 α B β B λ ( n, 1 , OFF) ( n, 2 , OFF) . . . ( n, B − 1 , OFF) ( n, B, OFF) . . . µ 1 µ 2 µ B − 1 µ B λ λ λ λ λ λ λ λ ( n − 1 , 1 , ON) ( n − 1 , 2 , ON) ( n − 1 , B − 1 , ON) ( n − 1 , B, ON) ( n − 1 , 1 , OFF) ( n − 1 , 2 , OFF) ( n − 1 , B − 1 , OFF) ( n − 1 , B, OFF) Optimisation of virtual machine garbage collection policies 8 of 20

  9. Model: matrix representation � λ � µ i +1 if i is odd if j = 1 B 1 (1) = − λ B 0 ( i ) = B 2 ( j ) = 2 0 otherwise 0 otherwise � µ i +1 if i = j and i, j are odd A 0 ( i, j ) = 2 0 otherwise α i +1 if j = i + 1 i is odd  ∧  2  if j = i − 1 i is even  β i ∧    2  if j = i − 2 i is even  γ i ∧ A 1 ( i, j ) = 2 � ( A 0 ( i, k ) + A 1 ( i, k ) + A 2 ( i, k )) if i = j  −     ∀ k � = i    0 otherwise (1)  if j = i + 2 λ  A 2 ( i, j ) = λ if ( i = 2 B ∨ i = 2 B − 1) j = 2 B ∧ 0 otherwise  Optimisation of virtual machine garbage collection policies 9 of 20

  10. Model: performance analysis The model is a QBD processes • Matrix Analytic Methods for steady state probabilities • Closed forms for E [ N ] and E [ R ] • More performance indices, e.g., GC overhead, using iteration. Performance indices in function of a variable parameter • How a performance index, e.g., the average response time, vary over the GC activation rate? • To simplify the examples, we assume α i = α, β i = β ∀ i ∈ { 1 . . . B } • R ( α ) : mean response time of the model as function of α • Numerical search for a minimum Optimisation of virtual machine garbage collection policies 10 of 20

  11. Model: minimum search Where to search for a minimum? Proposition If the optimisation problem α ∗ = argmin α R ( α ) admits a solution, then the following inequality holds: 0 < α ∗ < ( β + γ )( µ + − λ ) , λ where µ + = max i ( µ i ) , 0 ≤ i ≤ B . ATM no proof for minimum existence or uniqueness. • Experimental evidence seems to suggest so Optimisation of virtual machine garbage collection policies 11 of 20

  12. Numerical Examples Where not stated otherwise, the parameters are the following Parameter Name Value B 50 λ 3 . 0 β i 3 ∀ i ∈ { 1 . . . B } γ i 25 ∀ i ∈ { 1 . . . B } µ i 5 . 0 for 1 ≤ i ≤ B/ 2 , 0 . 05 for B/ 2 < i ≤ B Table: Parameter Values in Numerical Examples Optimisation of virtual machine garbage collection policies 12 of 20

  13. Numerical examples: R 1.96 1.94 1.92 Mean Response Time 1.9 1.88 1.86 1.84 1.82 1.8 1.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1 Garbage Collector Activation Rate Figure: An example of the function R Optimisation of virtual machine garbage collection policies 13 of 20

  14. Numerical examples: effects of increasing customer arrivals 1.05 Optimal Garbage Collector Activation Rate 1 0.95 0.9 0.85 0.8 0.75 0.7 0.65 2.5 2.6 2.7 2.8 2.9 3 3.1 3.2 3.3 3.4 Customer Arrival Rate Figure: Optimal α value in function of λ Optimisation of virtual machine garbage collection policies 14 of 20

  15. Numerical examples: utilisation 0.85 0.84 0.83 0.82 Utilisation 0.81 0.8 0.79 0.78 0.77 0.76 0.6 0.7 0.8 0.9 1 1.1 1.2 Garbage Collector Activation Rate Figure: ρ value in function of α Optimisation of virtual machine garbage collection policies 15 of 20

  16. A Heuristic for optimising GC Policies Use the model to determine on flight the optimum garbage collector activation rates α i for a real system with GC in order to minimise the average response time. Suppose that we can measure: • the number of available memory blocks ¯ B • the number of free memory blocks f • the average customer arrival rate ¯ λ • the average service times ¯ µ i • the average rates at which the garbage collector can free a block of memory ¯ γ i • the average rate at which the garbage collector returns control to the program ¯ β i Where i = ¯ B − f is the number of allocated memory blocks. Easily measurable stats, e.g., using the -verbose:gc option of the Sun JVM. Optimisation of virtual machine garbage collection policies 16 of 20

  17. Heuristic: optimisation of α Parameter α is unbound. • We can solve the optimisation problem α ∗ = argmin α R ( α ) • We can also solve the problem over a function of α that determines the values of α i ∀ i • Other performance indices can be optimised using stationary probabilities. Once determined the optimum α value, this is set as the activation rate for the GC of the real system. What if some measured values changes, e.g., ¯ λ , or more data is recovered, e.g., for new values of i ? • The model is parametrised again and new values for α i are generated. Optimisation of virtual machine garbage collection policies 17 of 20

  18. Conclusions • We have proposed a queueing model for systems with garbage collection • We have shown that the solution is numerically tractable • We have proposed a heuristic for the optimisation of garbage collection activation rates • Easy to implement Future works: • Better validation of the model with experimental data • Results in [1] seem to be coherent with results from our model. • Comparison with traditional policies for garbage collection activation • Energy-aware optimisation of the activation rate Optimisation of virtual machine garbage collection policies 18 of 20

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend