The trouble I find with the term 'Best Practices' is that they become 
adopted as hard and fast RULES and this inevitably means that customers 
become inflexible and won't explore the options.

LDoms are very flexible about a lot of things, best practices tend to 
put barriers in place that may give a less than complete picture of LDom 
capabilities.

I'd call these 'Starting Points', a basis for further exploration to see 
if increasing or decreasing the settings gives improvements, a tuning 
process any serious customer should be encouraged to go through  to get 
the best out of a system (virtual or not).

So...

- 1 core per LDOM is a reasonable starting place, the minimum 
requiorements is one VCPU (one thread) per LDOM. There are a few reasons 
for starting at 1 core (4 ot 8 threads/VCPUs)...
    - optimal use of L1 cache on an execution unit (pronbably not going 
to give you huge performance benefits, but for that last couple of 
percent...)
    - if the domain also has MAU's allocated to it, to get the maximum 
performance from the MAU, you want a wide path to the MAU, that comes by 
utilising more than one thread to get work to the MAU on that core, 
since MAU's can't be shared (today) amongst other domains, you may as 
well give ALL the threads on the core to the domain in order to get the 
best from the MAU resource.
    - Most domains are 'big enough at 8 thread (a full core), so 
allocating full cores allows you to more easily keep track of which 
threads/cores/sockets are being used by a domain, on a multi socket 
server its possible that threads belonging to a single domain could be 
allocated from more than one core or even from more than one socket, in 
that case there is a possibility of increased socket-socket cache 
coherency transactions resulting in a performance impact... again, 
likely to only be single digit percentages, using nice round full core 
count thread allocations could help you avoid that situation.

- Memory can be allocated in 8kb chunks, but Solaris is likely to need 
at least 1GB to  install and run happily (unless its a pretty minimal 
install with insignificant applications installed), so allocating memory 
in 1Gb chunks makes sense it also makes the math easier to figure out 
how much memory is available or used.
   - In your primary domain if you are making heavy use of ZFS it would 
probably benefit from having larger amounts of memory, 4GB to start and 
more if available....again, not hard and fast, but sensible.
   - In general most operating systems perform better if they have more 
memory, allocate as much as possible, if its available Solaris will try 
to take advantage of it, share out the available memory in appropriate 
ways dependent on the applications/demands running in each domain.

- IO services to guest domains....again the options are many and 
varied... best practices are a 'situation dependent' entity.
   - If I have SLA's I need to maintain in a guest domain, then I need 
to make sure that the IO/Service domain that is providing a virtual 
devices to my guest domain(s) is sufficiently powerful(memory/CPu 
count/physical IO) to satisfy the IO demands of all of those guest domains.
   - I may be better served to have multiple Services in the IO/Service 
domain to allow me to separate the traffic from critical guest domains.
   - It may be better to have multiple IO domains (if reasonable on the 
architecture of the server) and dedicate totally separate IO domains to 
specific guest domains IO requirements, this allows me to guarantee 
separation and a minimum bandwidth that is not shared.
   - Should I implement multi-pathing for the IO devices supplied to my 
guest domains ?... multipathing often has some performance penalty to 
pay but if reliability is my metric of choice, then thats a payoff I 
should consider. IPMP is the typical means to achieve this with network 
devices, various volume managers such as ZFS, VxVM, SVM are all options 
to multipath to disks, you can also take advantage of MPxIO in FC-AL 
enabled IO domains.

The choices go on, the key is to ask the right questions and learn how 
to implement them with Solaris and the virtual services that LDoms 
enables you to set up...

Peter
Paul Roberts wrote:
> Unofficially, I've heard you shouldn't go below 1 core per LDOM.  Can 
> anyone explain the limitations or best practices regarding hardware 
> requirements for LDOMs?  I'm curious what happens if you go by the thread...
> 
> Regards,
> 
> Paul
> 
> -- 
>       ______
>      /_____/\
>     /_____\\ \                Paul Roberts
>    /_____\ \\ /               Sun Microsystems, Inc.
>   /_____/ \/ / /              Sun Serviceability and Readiness Ops
>  /_____/ /   \//\
>  \_____\//\   / /             email:  p.roberts at sun.com 
> <mailto:p.roberts at sun.com>
>   \_____/ / /\ /              direct: 877-477-7642
>    \_____/ \\ \               
>     \_____\ \\                
>      \_____\/                 http://www.sun.com <http://www.sun.com/>
> 
> 
> 
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> ldoms-discuss mailing list
> ldoms-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/ldoms-discuss

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Peter A. Wilson                    Email: Peter.A.Wilson at sun.com
Snr. Technical Marketing Engineer  Phone: (650) 786 0526 / x80526
SG Technical Marketing             Cellphone : (408) 666 9320
Sun Microsystems, Inc.             Fax :       (650) 786 9553
16 Network Circle                  Mail Stop : MPK16-211
Menlo Park CA 94025                Office :    MPK16-2468
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to