Title: Resource Management for Scalability and Performance
1Resource Management for Scalability and
Performance
- By Christopher Stanley
- Date 9-26-00
2Chapter Goal
- Learn techniques to improve the size and
performance of Net-VEs by reducing - Network bandwidth
- Processor resources
3Networked Virtual Environment Information
Principle
- Resources M x H x B x T x P
- M of messages transmitted in the net-VE
- H avg of destination hosts for each message
- B avg amount of bandwidth required for msg
- T packet delivery requirements (Large T
less delay, small T larger delay) - P of processor cycles required to receive and
process each message
4Resources to Manage
- Communication protocol optimization
- Data flow restriction
- Leveraging of limited user perception
- System architecture modifications
5Communication Protocol Steps
- Allocated buffer for packet
- Write data to buffer
- Include packet header of protocol (ie- TCP/IP,
UDP/IP, or IP multicast) - Transmitted a packet containing the buffer
contents and header
6Optimizing the Communications Protocol
- Packet Compression reduces the size of each
packet - Packet Aggregation reduces the number of
packets sent by packet merging - Controlling data visibility
- Multicasting
7Packet Compression Types
- Internal
- a. Lossless changes encoding format and
eliminate redundant data in packet - b. Lossy eliminates data that is irrelevant or
reduce the detail of packet - External
- a. Lossless Avoid retransmitting packets
identical to previous packets - b. Lossy Avoid retransmitting packets similar
to previous packets - 3. Protocol Independent Compression Algorithm
(PICA)
8PICA
- Eliminates redundant state info from successive
update packets by - 1. Transmitting a numbered state snapshot
- 2. Packets indicates which state snap shot it is
referring to, and what states in that snap shot
have changed
9Application Gateway
- 1. Selects when a protocol codec should be used.
- 2. Detects when an entity has become inactive or
dead - 3. Filters updates of inactive entities from
being sent over the WAN - 4. Provides QES for inactive entities.
10Packet Aggregation
- Saves bandwidth by reducing the number of packet
headers transmitted. - Header sizes UDP/IP 28 bytes, TCP/IP 40 bytes
- Could artificially delay packet transmission
11Packet Aggregation Methods
- Timeout Based guarantees an upper bound to the
delay place on packets - Quorum Based guarantees a particular bandwidth
and packet rate reduction - Note Trades off packet delivery delay with
bandwidth savings
12Aggregation Servers
- Benefits
- Distributes workload across multiple processors
- Improved fault tolerance
- Can improve overall performance
13Controlling the Visibility of Data
- Goal
- Decrease of H and B by increasing M.
- Assumption
- A user only needs a small portion of the total
Net-VE data
14Data flow management methods
- Area-of-interest provide Net-VE a data filter
so that the VE only sends the host what it needs - Multicasting restricts data flow by
subscription-base network routing. - Subscription-based aggregation Hybrid of 1 2
15When to use filtering subscriptions
- Hosts have limited processor capacity that cant
be wasted processing unwanted packets. - Hosts have extremely low-bandwidth so network
optimization is a must. - Multicast/broadcast protocols arent available.
- Client subscription patterns change too rapidly
for multicast regrouping to stay below max
desired delay. - Net-VE data isnt categorize able or a group per
entity is too resource expensive.
16Multicasting
- Setting up
- Multicast group setup at an multicast address
- Host subscribe/unsubscribe to the multicast group
- Any host can transmit data to multicast group
regardless of subscription status - Challenges
- Partitioning data across the multicast groups so
subscribers will be interested in all or most of
data - Worst case
- each client is interested in data from all
multicast groups multicast degenerates into a
broadcast system
17Subscription Based Aggregation
- Group-per-Entity Allocation
- Each entity is assigned a multicast group
- Each host can then subscribe to the groups or
entities of interest - Must provide an entity directory service
- Group-per-Region Allocation
- Entities subscribe to regions of interest
18Group-per-Entity Allocation
- Problems
- Network traffic increases from retrieving the
entities address list, and maintaining groups. - Network cards limit the number of simultaneous
multicast address subscriptions to 12, before
running in software packet processing mode - Using multiple multicast addresses increases the
chances of network collisions - Each multicast group should only have one sender
to keep network router stack sizes small and to
optimizes the multicast packet processing.
19Group-per-Region Allocation
- Requires each entity to change its target
group(s) as it travels throughout the virtual
world - Must track the entitys bounds of its current
region - Find the multicast addresses associated with the
next region it enters - A hexagonal grid is used to lessen the number of
intersecting groups at a cross-over
20Hybrid Multicast Aggregation
- Goal
- Find balance between fine-grain data
partitioning and multicast grouping.
21Three Tiered Interest Management
- Filters
- Group-per-Region data is segmented by location
- Group-per-Entity allows receivers to select
individual entities at a fine-grain level of
detail - Area-of-Interest Filter subscriptions are
supported by library routines - Projections
- Are multi-attribute multicast groups
- Projections restrict the values of variables in
the entitys packets
22Communication Protocol Headers
- http//www.protocols.com/pbook/tcpip.htm