Logical Domains (LDoms or LDOM) is the server virtualization and partitioning technology for SPARC V9 processors. It was first released by Sun Microsystems in April 2007. After the Oracle acquisition of Sun in January 2010, the product has been re-branded as Oracle VM Server for SPARC from version 2.0 onwards.
Original author(s) | Sun Microsystems |
---|---|
Developer(s) | Oracle Corporation |
Stable release | 3.6.2[1]
/ December 2019 |
Operating system | Solaris |
Platform | SPARC V9 (T-Series, M-Series) |
Type | Hypervisor |
License | Proprietary |
Website | www |
Each domain is a full virtual machine with a reconfigurable subset of hardware resources. Domains can be securely live migrated between servers while running. Operating systems running inside Logical Domains can be started, stopped, and rebooted independently. A running domain can be dynamically reconfigured to add or remove CPUs, RAM, or I/O devices without requiring a reboot. Using Dynamic Resource Management, CPU resources can be automatically reconfigured as needed.[2]
Supported hardware
editSPARC hypervisors run in hyperprivileged execution mode, which was introduced in the sun4v architecture. The sun4v processors released as of October 2015 are the UltraSPARC T1, T2, T2 , T3,[3] T4,[4] T5, M5, M6, M10, and M7. Systems based on UltraSPARC T1 support only Logical Domains versions 1.0-1.2.[5] The newer types of T-series servers support both older Logical Domains and newer Oracle VM Server for SPARC product version 2.0 and later. These include:
UltraSPARC T1-based:
- Sun / Fujitsu SPARC Enterprise T1000 and T2000 servers
- Sun Fire T1000 and T2000 servers
- Netra T2000 Server
- Netra CP3060 Blade
- Sun Blade T6300 Server Module
UltraSPARC T2-based:
- Sun / Fujitsu SPARC Enterprise T5120 and T5220 servers
- Sun Blade T6320 Server Module
- Netra CP3260 Blade
- Netra T5220 Rackmount Server
UltraSPARC T2 Plus systems:
- Sun / Fujitsu SPARC Enterprise T5140 and T5240 servers (2 sockets)
- Sun / Fujitsu SPARC Enterprise T5440 (4 sockets)
- Sun Blade T6340 Server Module (2 sockets)
SPARC T3 systems:[6]
- Sun / Fujitsu SPARC T3-1 servers (1 socket)
- Sun SPARC T3-1B Server Module (1 socket)
- Sun / Fujitsu SPARC T3-2 servers (2 sockets)
- Sun / Fujitsu SPARC T3-4 servers (4 sockets)
SPARC T4 systems[4]
- SPARC T4-1 Server (1 socket)
- SPARC T4-1B Server Module (blade)
- SPARC T4-2 Server (2 sockets)
- SPARC T4-4 Server (4 sockets)
SPARC T5 systems[7]
- SPARC T5-1B Server Module (blade)
- SPARC T5-2 Server (2 sockets)
- SPARC T5-4 Server (4 sockets)
- SPARC T5-8 Server (8 sockets)
SPARC T7 systems,[8] which use the same SPARC M7 processor as the M7-8 and M7-16 servers listed below.
- SPARC T7-1 (1 CPU socket)
- SPARC T7-2 (2 CPU sockets)
- SPARC T7-4 (4 CPU sockets)
SPARC M-Series systems[9][7][10]
- Oracle SPARC M5-32 Server (32 sockets)
- Oracle SPARC M6-32 Server (32 sockets)
- Fujitsu M10-1 (1 socket)
- Fujitsu M10-4 (4 sockets)
- Fujitsu M10-4S (64 sockets)
- Oracle SPARC M7-8 (8 CPU sockets)
- Oracle SPARC M7-16 (16 CPU sockets)
Technically, the virtualization product consists of two interdependent components: the hypervisor in the SPARC server firmware and the Logical Domains Manager software installed on the Solaris operating system running within the control domain (see Logical Domain roles, below). Because of this, each particular version of Logical Domains (Oracle VM Server for SPARC) software requires a certain minimum version of the hypervisor to be installed into the server firmware.
Logical Domains exploits the chip multithreading (CMT) nature of the "CoolThreads" processors. A single chip contains up to 32 CPU cores, and each core has either four hardware threads (for the UltraSPARC T1) or eight hardware threads (for the UltraSPARC T2/T2 , and SPARC T3/T4 and later) that act as virtual CPUs. All CPU cores execute instructions concurrently, and each core switches between threads—typically when a thread stalls on a cache miss or goes idle—within a single clock cycle. This lets the processor gain throughput that is lost during cache misses in conventional CPU designs. Each domain is assigned its own CPU threads and executes CPU instructions at native speed, avoiding the virtualization overhead for privileged operation trap-and-emulate or binary rewrite typical of most VM designs.
Each server can support as many as one domain per hardware thread up to a maximum of 128. That's up to 32 domains for the UltraSPARC T1, 64 domains for the UltraSPARC T2 and SPARC T4-1, and 128 domains for UltraSPARC T3 as examples single-processor (single-socket) servers. Servers with 2-4 UltraSPARC T2 or 2-8 SPARC T3-T5 CPUs support as many logical domains as the number of processors multiplied by the number of threads of each CPU up to the limit of 128.[11] M-series servers can be subdivided into physical domains ("PDoms"), each of which can host up to 128 logical domains. Typically, a given domain is assigned multiple CPU threads or CPU cores for additional capacity within a single OS instance. CPU threads, RAM, and virtual I/O devices can be added to or removed from a domain by administrator issuing command in the control domain. This change takes effect immediately without the need to reboot the affected domain, which can immediately make use of added CPU threads or continue operating with reduced resources.
When hosts are connected to shared storage (SAN or NAS), running guest domains can be securely live migrated between servers without outage (starting with Oracle VM Server for SPARC version 2.1). The process encrypts guest VM memory contents before they are transmitted between servers, using cryptographic accelerators available on all processors with sun4v architecture.
Logical Domain roles
editAll logical domains are the same except for the roles that they are assigned. There are multiple roles that logical domains can perform such as:
- Control domain
- Service domain
- I/O domain
- Root domain
- Guest domain
Control domain, as its name implies, controls the logical domain environment. It is used to configure machine resources and guest domains, and provides services necessary for domain operation, such as virtual console service. The control domain also normally acts as a service domain.
Service domains present virtual services, such as virtual disk drives and network switches, to other domains. In most cases, guest domains perform I/O via bridged access through services domains, which are usually I/O domains and directly connected to the physical devices. Service domains can provide virtual LANs and SANs as well as bridge through to physical devices. Disk images can reside on complete local physical disks, shared SAN block devices, their slices, or even on files contained on a local UFS or ZFS file system, or on a shared NFS export or iSCSI target.
Control and service functions can be combined within domains, however it is recommended that user applications not run within control or service domains in order to protect domain stability and performance.
I/O domains have direct ownership of a PCI bus, or card on a bus, or Single Root I/O Virtualization (SR-IOV) function, providing direct access to physical I/O devices, such as a network card in a PCI controller. An I/O domain may use its devices to have native I/O performance its own applications, or act as a service domain and share the devices to other domains as virtual devices.
Root domains have direct ownership of PCIe "root complex" and all associated PCIe slots. This can be used to grant access to physical I/O devices. A root domain is also an I/O domain. There are a maximum of two root domains for the UltraSPARC T1 (Niagara) servers, one of which also must be the control domain. UltraSPARC T2 Plus, SPARC T3, and SPARC T4 servers can have as many as 4 root domains, limited by the number of PCIe root complexes installed on the server. SPARC T5 servers can have up to 16 root complex domains. Multiple I/O domains can be configured to provide resiliency against failures.
Guest domains run an operating system instance without performing any of the above roles, but leverage the services provided by the above in order to run applications.
Supported guest operating systems
editThe only operating system supported by the vendor for running within logical domains is Solaris 10 11/06 and later updates, and all Solaris 11 releases.
There are operating systems that are not officially supported, but may still be capable of running within logical domains:
- Debian ports[12] version
- OpenSolaris 2009.06
- Illumos-derived releases
- Ubuntu Linux Server Edition
- OpenBSD 4.5 or later[13]
- Wind River Linux 3.0[14]
- Oracle Linux for SPARC[15]
See also
editReferences
edit- ^ "What's New in Oracle VM Server for SPARC Software". Oracle Corporation. Retrieved 2020-02-12.
- ^ "Using Dynamic Resource Management". Oracle Corporation. Retrieved 2020-09-13.
- ^ "Oracle Unveils SPARC T3 Processor and SPARC T3 Systems". Retrieved 2010-09-20.
Using the newly announced Oracle VM Server for SPARC 2.0, the SPARC T3 systems offer advanced virtualization and have multiple virtual machines ranging from one per core to 128 virtual machines on a single server, delivering greater efficiencies and lower costs through consolidation.
- ^ a b "Oracle Launches Next Generation SPARC T4 Servers". Retrieved 2011-09-26.
Oracle's SPARC T4 Servers Offer Built-In Virtualization, Security and Dynamic Threads.
- ^ "Logical Domains 1.3 Release Notes". Oracle Corporation. 2010. Retrieved 2015-10-15.
Starting with the Logical Domains 1.3 release, UltraSPARC T1 platforms are no longer supported
- ^ "Oracle Unveils SPARC T3 Processor and SPARC T3 Systems". Retrieved 2010-09-20.
Sun SPARC Enterprise T-Series RackMount Systems New! SPARC T3-1 Server New! SPARC T3-2 Server New! SPARC T3-4 Server
- ^ a b "Oracle Unveils SPARC Servers with the World's Fastest Microprocessor". Retrieved 2013-03-27.
Oracle's new SPARC T5 and M5-32 servers include zero-overhead virtualization via Oracle VM Server for SPARC.
- ^ "Oracle Announces Breakthrough Processor and Systems Design with SPARC M7". Retrieved 2016-04-26.
Dramatic Advancements in Memory Protection, Encryption Acceleration, and In-memory Database Processing Deliver End-to-End Security and Efficiency for Oracle Engineered Systems and Servers.
- ^ "Fujitsu and Oracle Announce Worldwide Availability of Fujitsu M10 Servers". Retrieved 2013-04-10.
Fujitsu and Oracle's New SPARC Servers Help Customers Optimize Investment While Enjoying the Utmost Reliability
- ^ "Oracle Unveils Its Fastest and Most Scalable Server and Engineered System -- the SPARC M6-32 and Oracle SuperCluster M6-32". Retrieved 2013-09-23.
Oracle's Big Memory Machines are Ideal for In-Memory Applications and Consolidation; New Architecture Delivers High-End Performance and Availability with the Price/Performance of Entry Level Servers .
- ^ "Oracle Unveils SPARC T3 Processor and SPARC T3 Systems". Retrieved 2010-09-20.
Oracle VM Server for SPARC (previously called Logical Domains) is a server virtualization solution that allows up to 128 virtual servers on one system .
- ^ "Index of /cdimage/ports". Cdimage.debian.org. Retrieved 6 November 2021.
- ^ "Support for Logical Domains on Sun's CoolThreads servers". OpenBSD Journal. Retrieved 2009-03-19.
- ^ "Wind River To Support Sun's Breakthrough UltraSPARC T1 Multithreaded Next-Generation Processor" (Press release). Wind River Systems, Inc. 2009-03-17. Archived from the original on 2009-03-21. Retrieved 2015-10-14.
- ^ "Project: Linux for SPARC". oss.oracle.com. Oracle Corporation.
External links
edit- Oracle Announces Latest Version of Oracle VM Server for SPARC
- Oracle VM Server for SPARC product page at Oracle
- Oracle VM Server for SPARC software at Fujitsu
- Increasing Application Availability by Using the Oracle VM Server for SPARC Live Migration Feature
- Logical Domains Community at OpenSolaris.org
- Oracle VM Server for SPARC Best Practices
- Dynamic Resource Management from Oracle.