+ All Categories
Home > Documents > 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein...

1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein...

Date post: 27-Mar-2015
Category:
Upload: angelina-hudson
View: 214 times
Download: 1 times
Share this document with a friend
Popular Tags:
18
1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich – CWRU Vincenzo Liberatore - CWRU
Transcript
Page 1: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

1

Efficient Application Placement in a Dynamic Hosting Platform

Zakaria Al-Qudah – CWRUHussein Alzoubi – CWRUMark Allman – ICSIMichael Rabinovich – CWRUVincenzo Liberatore - CWRU

Page 2: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

2

Target Environment: Dynamic Hosting

General components App servers Local controllers Central controller Request router Measurement

modules

Page 3: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

3

Our Problem: Enactment of resource allocation decisions

Starting applications is slow and resource-intensive Causes loss in system responsiveness Limits flexibility of resource allocation

Page 4: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

4

Option 1: “Run Everywhere”

Run an instance of every application on every machine Send requests only to those intended to be

active

Intuition: idle application instances should not consume resources

Page 5: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

5

Run-Everywhere Results

Conclusion: Run-everywhere is impractical

Page 6: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

6

Option 2: Explicit Suspend/Resume

What was the problem of run-everywhere? OS couldn’t tell active applications from idle

ones due to the periodic application maintenance

Solution: explicitly convey this information to the OS Suspend idle applications with SIGSTOP Resume to activate with SIGCONT

Page 7: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

7

Still inefficiencies: 1. On-demand page-in

OS brings a page to memory only when it’s referenced context switching

2. On-demand page-outFull memory at the time of page-in resumption waits for page-out

On-demand eviction of memory pages to disk

Piecemeal eviction process state spreads over many disjoined locations on disk

Much better!

Page 8: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

8

Enhanced Suspend/Resume

Prefetching/prepurging = ancient swapping!

1. Bring all the process pages at once from disk to memory (prefetching)

2. Whenever an application is suspended, evict it out of memory at once (pre-purging) This keeps process state in few

contiguous places on disk

…but only for application placement

Page 9: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

9

Performance Evaluation: Startup time

Page 10: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

10

Performance Evaluation: Resource consumption

Page 11: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

11

Prefetching overhead

Page 12: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

12

Performance Evaluation: Contributing factors

Page 13: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

13

End-to-end responsiveness: Experiment setup

Page 14: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

14

End-to-end responsiveness - results

Page 15: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

15

End-to-end responsiveness (cont’d)

Page 16: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

16

Limitations of Suspend-Resume

Consequences of bad programming practices are more pronounced

Less useful for clustered applications Re-joining the cluster takes long time

(regardless of how applications are started)

Page 17: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

Future work: Virtualization

Various technologies OS-level (e.g., OpenVZ) Hardware-level (e.g., VMware)

Vary in performance overhead and offered features (arguably!) Degree of performance/fault/security isolation Ability to run heterogeneous OSes on the same

hardware Similar suspend-resume issues might apply

Bulk prepurging Bulk prefetching

17

Page 18: 1 Efficient Application Placement in a Dynamic Hosting Platform Zakaria Al-Qudah – CWRU Hussein Alzoubi – CWRU Mark Allman – ICSI Michael Rabinovich –

18

Summary

Most existing work on dynamic hosting focuses on resource allocation decisions

We focus on efficient enactment of these decisions Examined several alternatives for application placement

Deployment from scratch Run-everywhere Suspend-resume Enhanced suspend-resume

Swapping for application placement Normal paging for active tasks

Enhanced suspend-resume is significantly more efficient


Recommended