A Tool for Isolating Performance in General-Purpose Operating - - PowerPoint PPT Presentation

a tool for isolating performance in general purpose
SMART_READER_LITE
LIVE PREVIEW

A Tool for Isolating Performance in General-Purpose Operating - - PowerPoint PPT Presentation

Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work A Tool for Isolating Performance in General-Purpose Operating Systems Val eria Quadros dos Reis vreis@inf.puc-rio.br Renato Cerqueira


slide-1
SLIDE 1

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

A Tool for Isolating Performance in General-Purpose Operating Systems

Val´ eria Quadros dos Reis vreis@inf.puc-rio.br Renato Cerqueira rcerq@inf.puc-rio.br

Computer Science Department, PUC-Rio

VI Workshop on Middleware for Grid Computing

1 / 22

slide-2
SLIDE 2

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Contents

1 Introduction 2 CPUReserve 3 Experimental Evaluations 4 Usage Cases 5 Conclusion 6 Future Work

2 / 22

slide-3
SLIDE 3

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Motivation

Processing Reservation is an issue desired in many scenarios: Grid Computing On-demand Computing Multimedia Applications

3 / 22

slide-4
SLIDE 4

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Motivation

General-Purpose Operating Systems do not provide efficient mechanisms for processing reservation. Alternatives:

Kernel Modification

Need for recompiling

Virtualization

Overhead for instanciating and managing the VMs

User-level reservation managers

Guarantees performance isolation for soft real-time applications The best approach for our needs

4 / 22

slide-5
SLIDE 5

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

DSRT (Dynamic Soft Real Time Scheduler)

Project was discontinued; Communication done by shared memory; Manages processing, but not processors; Does not treat idle processing; No separation between the reservation mechanism and the reservation policies; Highly complex code.

5 / 22

slide-6
SLIDE 6

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

CPUReserve

A new tool for processing reservation at user-level. CPUReserve can be used in scenarios of: Distributed Computing; Grid and On-demand Computing; Flexible resource usage; Opportunistic Computing; Multi-processed architectures.

6 / 22

slide-7
SLIDE 7

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Execution

Server

./server <port> <procs_bit_mask> <system_limit>

Client

./client <mac:port><period><slice><cons><exec><params...> ./adapt <mac:port><period><slice><cons><pid>

7 / 22

slide-8
SLIDE 8

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Architecture

Monitor IO Handler Alarm Handler Reserve Adapt Msg Handler Monitor Process Tree Alarms Client

Server 8 / 22

slide-9
SLIDE 9

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Implementation Details

Use of system calls in order to enforce new scheduling rules; Scheduling policies used:

SCHED RT to enforce execution SCHED OTHER to explore idle processing

The server process is executed with the highest priority to real-time processes; Client processes are executed with the second highest priority to real-time processes; Example: An application should be executed with 500 ms out of every 1000 ms.

9 / 22

slide-10
SLIDE 10

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

CPUReserve’s Effectiveness

How do applications with and without reservation behave when they are executed concurrently? Two busy-waiting applications:

App1 being serviced without reservation, that is, in a best-effort way; App2 being initially serviced with 20% reservation in the non-working-conserving mode.

10 / 22

slide-11
SLIDE 11

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

CPUReserve’s Effectiveness

11 / 22

slide-12
SLIDE 12

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

CPUReserve’s Scalability

Estimate the amount of resources the CPUReserve server consumes to support an increasing number of client processes.

Testbed

Intel Centrino Duo 1,66 GHz, 1 G memory and running kernel 2.6.24

Parametrization

Server initialised with 2 processors; Clients request reservations of 10 ms out of every 1000 ms.

12 / 22

slide-13
SLIDE 13

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Experimental Evaluations

Scalability Results: Server consumes less than 1% of CPU, 18 MB of virtual memory, and 732 KB of resident memory; As the number of clients increases:

CPU and memory consumption increases linearly;

It was not possible to make experiments with over 50 clients.

13 / 22

slide-14
SLIDE 14

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Limitations

Limited by the Operating System; Can interfere on or be interfered by other processes running out of CPUReserve; Cannot reserve all the machine’s processing capacity.

14 / 22

slide-15
SLIDE 15

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Usage Cases

To reserve processing in the execution nodes of CSBase; To measure the accuracy of some benchmarks used in CSBase.

Is the benchmark result consistent when the workload of the machine being measured varies?

Experiments: execution of the benchmark with reservation varying from 10 to 100% of a machine’s processing capacity.

15 / 22

slide-16
SLIDE 16

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

CPUReserve and Virtualization

CPUReserve can be used with different virtualization techniques in

  • rder to constrain:

The processing of new virtual machines;

CPUReserve server triggers a new instance of KVM;

The processing of running processes inside a VM.

Xen 3.2 initialised with SEDF scheduler; CPUReserve running inside a Xen domain.

16 / 22

slide-17
SLIDE 17

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Conclusion

CPUReserve is a light and easy-to-use tool which provides application performance isolation without the need for kernel recompiling or for virtualization overload; Tests have shown that the CPUReserve server consumes few resources; consequently, it can support a great number of clients simultaneously; CPUReserve can be used in modern computational environments such as multi-institutional opportunistic grids with multi-processed architecture machines.

17 / 22

slide-18
SLIDE 18

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Future Work

The study of machine learning techniques to parametrize reservations; The insertion of new kinds of resource reservation – disk, memory, and network; The development of new policies for resource sharing.

18 / 22

slide-19
SLIDE 19

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Contacts

Val´ eria Quadros dos Reis vreis@inf.puc-rio.br Renato Cerqueira rcerq@inf.puc-rio.br

19 / 22

slide-20
SLIDE 20

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Decision Tree

Alarm

Stopped Running

exec(slice) OTHER RT makeRT exec(slice) execSlice !execSlice !passedPer passedPer exec(slice) conserv !conserv makeOTHER exec(next_per) stop until next_per !passedPer passedPer exec(slice)* exec(next_per)* enough time !enough time exec(remaining_slice)

Terminated

20 / 22

slide-21
SLIDE 21

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

Experimental Evaluations

21 / 22

slide-22
SLIDE 22

logo Introduction CPUReserve Experimental Evaluations Usage Cases Conclusion Future Work

CPUReserve and Xen

22 / 22