News, tips, partners, and perspectives for the Oracle Solaris operating system

LDoms and LDCs

Oracle VM for SPARC, as it's now called, uses Logical Domain Channels (LDCs) for inter-domain communication of all sorts, mostly used for virtual devices. A question I've been asked multiple times was how many LDCs there are available, and how to tell how many you've used. Here a few notes to that:

  1. How many LDCs are there, and how are they used?
    Find the detailed answer in the Release Notes of LDoms 3.0. Here is an example:
    • UltraSPARC T2 has 512 LDCs per domain
    • UltraSPARC T2+ has 786 LDCs per domain
    • Check the release notes of your server for more current models.
    You can use this formula to calculate how many you need:
    All LDCs = 15 + 1 + g + g \* ( n + d + c ), where
    • g is the number of guest domains,
    • d is the number of virtual disks in each guest,
    • n is the number of virtual network ports in each guest and
    • c is the number of virtual console ports per guest (always one).
    If g and n aren't the same for all guests, the formula will be a little less elegant. But you get the idea.
  2. How can you check what LDCs your system uses, and for what?
    1. In the Control Domain, use the command ldm list-bindings -e for a list of all configured resources, including all LDCs. Here's some sample output from the virtual console section:
      vconsole 5000-5050
      debian@vconsole 5001 0x18
      rivermuse@vconsole 5002 0x1c
      gentoo@vconsole 5000 0x11
      demo@vconsole 5008 0x3d
      install@vconsole 5012 0x50
      rac1@vconsole 5005 0x35
      rac2@vconsole 5006 0x66
      Use the additional option "-p" for parsable output. With that, the command ldm list-bindings -e -p|grep ldc=0|awk -F\\| '{print $NF}' will give you a brief list of all LDC IDs used. If you like, count them with wc
    2. Note that LDCs are always counted per domain, not per system.
    3. Additional info using kstat:
      At least for the virtual network devices, you can also use kstat to gather additional information. Get a first overview with kstat|grep ldc. If you like, dig deeper from there on.

Knowing all this should help you planing your next virtualization deployment. The available number of LDCs should usually be sufficient. Using the formula from above, you can easily figure that even on T2, the singe socket system, a maximum of 124 domains is possible. On T2+, this goes to 193 - more than the supported 128 guests. Of course, you're likely to have more than the bare minimum of three devices per guest, so your actual maximum will vary. However, it should still be enough in most cases. And now, next time you're asked for an additional guest, you can quickly check and figure if you have enough LDCs available.

 (This entry was updated on Feb. 19, 2013 and again on Jan 27, 2014)

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.