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