Resource containers

Download Report

Transcript Resource containers

Resource containers : A new facility for
resource management in server
systems
Gaurav Banga Peter Druschel Jeffrey C.Mogul
OSDI 99
EECS Dept. System Software Lab.
Jae Sub Kim
System Software Lab
1
Contents
•
•
•
•
•
•
Introduction
Resource Container
Operation on resource containers
The use of resource containers
Performance
Conclusion & Critiques
System Software Lab
2
Introduction(1/3)
• General-purpose operating systems provide inadequate support
for resource management in large-scale servers
 Scheduling and resource management don’t extend to kernel
 Process-based resource management
 Protection domain and resource principal
• Service providers want to exert explicit control over resource
consumption policy. (Differentiated QoS)
System Software Lab
3
Introduction(2/3)
System Software Lab
4
Introduction(3/3)
• Modern high-performance servers often use a single process to
perform many independent activities
• LRP (Lazy Receiver Processing)
 Unit of resource management is process
System Software Lab
5
Resource Container
• Logically contains all the system resources being used by an
application to achieve a particular independent activity
• Attributes
 Scheduling parameters, resource limits, and network QoS values
• Resource binding
 Thread + Resource container
• Scheduling binding
 A Thread scheduled according to the scheduling attributes of the
container which it is bound => Combination
• Resource container hierarchy
 The resource usage of a child container is constrained by the
scheduling parameters of its parent container
System Software Lab
6
Operation on resource containers
• Creating a new container
 Process can create at anytime
 Containers are visible to the AP as file descriptor
•
•
•
•
•
•
•
•
Set a container’s parent
Container release
Sharing containers between processes
Container attributes
Container usage information
Binding a thread to a container
Reset the scheduler binding
Binding a socket or file to a container
System Software Lab
7
The use of resource containers
• Handling a request for a dynamic(CGI) document
• Wish to assign different priorities to requests
• Wish to restrict the total consumption of certain classes
System Software Lab
8
Performance(1/4)
• Environment
 Server
 Digital Personal Workstation 500au
 Digital UNIX 4.0D kernel
 Server software : single-process event-driven program derived
from thttpd
 Clients
 166MHz Pentium Pro PCs with 64MB memory
 FreeBSD 2.2.5
 Client software : S-Client
 Network
 Private 100Mbps switched Fast Ethernet
System Software Lab
9
Performance(2/4)
• Costs of new primitives
• Prioritized handling of clients
System Software Lab
10
Performance(3/4)
• Controlling resource usage of CGI processing
System Software Lab
11
Performance(4/4)
• Immunity against SYN-flooding
System Software Lab
12
Conclusion & Critiques
• Conclusion
 Explicitly identify a resource principal
 Provide fine-gained control over resource consumption
• Critiques




Idea is simple but good
Good experiments and analogies
Application can abuse Resource container
No experiment for scheduling binding
• After
 Good writing but abstract contents
 Idea is resonable
System Software Lab
13