MAC Address Storage for Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Server virtualization in data centers requires significant memory to store unique MAC addresses for multiple virtual machines (VMs) sharing the same physical server, leading to high memory usage.
Innovation Solution
The solution leverages the characteristic that the least significant bits of VM MAC addresses can distinguish between VMs, allowing for the storage of common most significant bits only once, reducing memory requirements by using a combination of common and unique fields in address entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If unique MAC addresses are stored for each virtual machine, then communication between VMs can be distinguished, but memory usage increases significantly
Solution Approach 1:
The MAC address is segmented into two parts: a common prefix (first field) that is shared by multiple VMs on the same physical server, and a unique suffix (second field) that distinguishes individual VMs. This segmentation allows the network switch to store only the common prefix once and use it to identify groups of VMs, while the unique suffix identifies specific VMs within each group, thereby reducing memory usage while maintaining the ability to distinguish VM communications
Solution Approach 2:
Multiple MAC addresses that share a common prefix are merged into a single stored entry (the common prefix). Instead of storing each full MAC address separately, the system combines them by storing only the shared portion and using it to represent multiple VMs, thus reducing the total memory required while preserving the ability to identify individual VMs through additional unique identifiers
Data Source
AI summary
Examples of efficient MAC address storage are described, including methods and an apparatus. A method may involve obtaining a plurality of identifications associated with one or more applications executed on a computing apparatus, with each identification of the plurality of identifications different from one another. The method may also involve storing an identification entry representative of the plurality of identifications associated with the one or more applications. The identification entry may require an amount of memory space for storage less than an amount of memory space required to store the plurality of identifications associated with the one or more applications. The plurality of identifications may be a plurality of MAC addresses. The one or more applications may be one or more virtual machines.


