Thursday, March 26, 2009

Cost Control: Oracle Database Licensing

Cost Control: Oracle Database Licensing

Oracle has a very interesting suite of software, which has traditionally been available across many platforms, and supported by a majority of enterprise software applications. The "Oracle Standard" license agreements offer significant cost savings for Oracle licensing costs, but there are significant restrictions that must be adhered to.

License Agreement Changes: March 16, 2009

The database license terms have changed end of Q1 2009 regarding POWER and non-listed multi-core CPU's, where core is considered a socket. Extracted below are the Intel x64, POWER, and SPARC processors on the Oracle Core Processor Table pdf...
Factor Vendor/Processor
0.25 SUN T1 1.0GHz and 1.2GHz (T1000, T2000)
0.50 SUN T1 1.4GHz (T2000)
0.50 Intel Xeon 74xx or 54xx multi-core series (or earlier); Intel Laptop
0.75 SUN UltraSPARC IV, IV+, or earlier
0.75 SUN SPARC64 VI, VII
0.75 SUN UltraSPARC T2, T2+ Multicore
0.75 IBM POWER5
1.00 IBM POWER6
1.00 IBM SystemZ
1.00 All Single Core Chips
1.00 All other Multi-Core Chips
When we read the March 16, 2009 database licensing pdf
Database Metrics
The Oracle Standard Edition One, Standard Edition and Enterprise Editions of the database can be licensed using the Named User Plus metric or the Processor metric...

Named User Plus:
Standard Edition... The Real Applications Clusters option is not included with any Standard Edition versions prior to 10g. Customers who participate in Oracle's Update Subscription Service for the Standard Edition Database can upgrade to the 10g version of the product for the supported licenses. Also, Customers must use Oracle Cluster Ready Services as the clusterware; third party clusterware is not supported, AND Customers must use Oracle Automatic Storage Management to manage all data.

Processor: When licensing Oracle programs with Standard Edition One or Standard Edition in the product name, a processor is counted equivalent to a socket; however, in the case of multi-chip modules, each chip in the multi-chip module is counted as one occupied socket.
Cost Savings Opportunities

Perhaps the best opportunity to restrain costs is to leverage the "Standard Edition" licenses with the Processor metrics, rather than the "Enterprise Edition" licenses. The "Standard Edition" licenses can be used to leverage 2 and 4 socket platforms. If more capacity is needed, additional "Standard Edition" licenses can be leveraged with 10g, using clustering (keep in mind, a linear performance increase is not to be anticipated, with the additional overhead of SGA cache sync'ing over a slow inter-node interconnect.)

Cost Savings Caveats

While this seems like an excellent opportunity for cost savings and platform consolidation, this may not necessarily be the case, depending on the CPU architecture that was chosen. Note the clause on the Database Licensing pdf...
in the case of multi-chip modules, each chip in the multi-chip module is counted as one occupied socket
What is the implication to this?

The majority of multi-core CPU's on the market are all Multi-Chip Modules!

If you are running a POWER or Intel x64 multi-core processor, most of these chips would mean that the core must be counted as a socket.

Examples of Multi-Chip Modules (this is not exhautive) includes:
  • Early Intel Quad-Core MCM (where Intel glued 2 dual-core chips onto the same package)
    http://en.wikipedia.org/wiki/Core_2_Quad
    http://en.wikipedia.org/wiki/Xeon#3200-series_.22Kentsfield.22
    http://en.wikipedia.org/wiki/Xeon#3300-series_.22Yorkfield.22
    http://en.wikipedia.org/wiki/Xeon#5300-series_.22Clovertown.22
    http://en.wikipedia.org/wiki/Xeon#7300-series_.22Tigerton.22

  • IBM POWER5 MCM with four processors and four 36 MB external L3 cache dies on a ceramic multi-chip module
In effect, single socket quad core multi-chip modules would count as 4 socket machines in Oracle licensing terms.

If the business is trying to save money implementing Linux on Quad-Core processors, it it important to understand whether they are Multi-Chip Modules or not. If this is the case, then the business may need to resort to single socket systems, tied together in a grid, or choose a different CPU architecture that does not require Multi-Chip Modules like some modern SPARC processors.

Oracle is always the best place to go, in order to clarify some of these odd license stipulations.

Tuesday, March 24, 2009

Oracle Database Licensing: Cuts Own Throat

Oracle Database Licensing: Cuts Own throat

The Register in the UK posted an odd article concerning the licensing change to Oracle
Oracle raises software prices on IBM's Power6 iron
Odd statement regarding IBM POWER6
The Oracle price hike on Power6 chips seems unfair given that the quad-core Sparc64 VII processors used in Sun and Fujitsu machines have the same 0.75 scaling factor
The Power6 processor gains most of it's horsepower from an increase in clock rate (POWER6: 2.2GHz to 5.0Ghz, while SPARC64 processors gain their throughput through an increase in number of cores (SPARC64: 2 to 4 cores), while the CoolThreads SPARC T processor gain their throughput through a massive increase in threads per core (T: 32 threads to 64 threads.)

Multiple SPARC cores for Oracle has been a FREE LUNCH at the expense of SPARC customers.

Odd statement regarding Fujitsu SPARC64
It will be interesting to see what Oracle does when Sun and Fujitsu roll out the Sparc64 VII+ quad-core chips, which they are expected to do soon
I don't know why it would prove interesting. It is not like the clock speed will double, as POWER5 to POWER6. Right now, the core multiplier is completely out-of-whack for the SPARC64 chips, just completely.

Odd statement regarding Intel Itanium
Intel gets its quad-core "Tukwila" Itaniums out the door in June or July. The Tukwila chips should certainly get their scaling factor removed, but given that HP and Intel do not have a database software business, I would venture that Tukwilas might sneak by with a 0.75 scaling factor.
There is a popular & competitive Microsoft SQL Server on those platforms. The scaling factor may remain, to just be competitive with Microsoft SQL Server. If the clock rate doubles, removing the scaling factor removal may be a reasonable thing, but I doubt the clock rate would double.

Odd statement regarding SUN SPARC ROCK
various other Sparc, and other chips have a 100 VUP rating. ...it is hard to imagine a 16-core "Rock" UltraSparc-RK chip not being in the same range when it comes out sometime in the fall.
I highly doubt a 16 core RK chip will be 16x faster than a SPARC64 V, VI, or VII core. This being the case, IBM cranking up the VUP rating would be completely "off the chain". I think this analyst clearly has mistaken expectations from either SUN or IBM.

Reasonable statement regarding Oracle
To be fair, Oracle should run a database benchmark test on each processor and come up with a literal scaling factor based on possible clock speeds of all processors and make the scale all relative to the performance of one machine that it picks as the gold standard.
I agree with this sentiment. Just comparing POWER and the SPARC processors... In the words of President Obama, "to be FAIR":

scaling factor for POWER6 should be 1.50 instead of 0.75
scaling factor for SPARC64 should be 0.50 instead of 0.75
scaling factor for SPARC-T should be 0.50 instead of 0.75

Even with the chart above, POWER would still have an advantage of scaling factor of 0.50 per core over SPARC64 due to IBM's incredibly high clock rate!!!

This clearly demonstrates how far out-of-whack the pricing is for Oracle Databases on systems today.

Oracle cuts their own throat

Former substantial cross-platform vendors like Informix and Sybase are not the large players, like they used to be, resulting in databases being closely aligned to Hardware or OS vendors. Most applications that require a third-party database will use a major commercial vendor, like: Oracle Database, IBM DB2, or Microsoft SQL.

Oracle's continuing punishment of SUN and "giving the farm" away to IBM has always seemed odd, considering that IBM is a direct commercial competitor, while SUN's MySql is not a direct commercial competitor. The migration of Oracle RDBMS to IBM DB2 is something that IBM's professional services is something that they would LOVE to do, while there is no equivalent professional services group in SUN to move Oracle RDBMS to MySQL.

It is just a matter of time before Oracle continues to modify their processor core scaling factors, since they are cutting their own throats by advocating platforms who have extremely strong competing databases... but perhaps that is why Oracle has been able to charge a premium for SPARC - because there was no serious database competition.

By Oracle abusing their near-monopolistic licensing policies on SUN, because Oracle could, Oracle is being forced to compete against other databases on their home turf, instead of on the turf which Oracle could have an advantage (SUN SPARC Solaris has no real commercial competing database vs IBM's DB2 on IBM hardware vs Microsoft SQL on Intel Itanium or Intel x64.)

Oracle Database License Change: IBM Punished

State of the Oracle Database Union

The Oracle Database Licensing has CHANGED, Effective Date: March 16, 2009!

The "Oracle Standard Edition One" and "Standard Edition" systems are charged on a "Per User Plus" basis, whichever is greater, on 2 sockets and 4 sockets respectively (the processor/cores option is not used) while the "Enterprise Edition" uses Named Users
http://www.oracle.com/corporate/pricing/databaselicensing.pdf
Named User Plus: This metric can be used in all environments. Different minimums apply depending on the Database edition:
  • Standard Edition One requires a minimum of 5 Named User Plus licenses or the total number of actual users, whichever is greater. Oracle Standard Edition One may only be licensed on servers that have a maximum capacity of 2 sockets...
  • Standard Edition requires a minimum of 5 Named User Plus licenses or the total number of actual users, whichever is greater. Oracle Database Standard Edition can only be licensed on servers that have a maximum capacity of 4 sockets… Effective with the release of 10g, the Oracle Database Standard Edition product includes the Real Applications Clusters database option…
  • The Enterprise Edition requires a minimum of 25 Named User Plus per Processor licenses or the total number of actual users, whichever is greater.
Processor: This metric is used in environments where users cannot be identified and counted. The Internet is a typical environment where it is often difficult to count users. This metric can also be used when the Named User Plus population is very high and it is more cost effective for the customer to license the Database using the Processor metric. The Processor metric is not offered for Personal Edition. The number of required licenses shall be determined by multiplying the total number of cores of the processor by a core processor licensing factor specified on the Oracle Processor Core Factor Table which can be accessed at http://oracle.com/contracts

Licensing a multiplexing environment: If Oracle software is part of an environment in which multiplexing hardware or software, such as a TP monitor or a web server product, is used, then all users must be licensed at the multiplexing front end. Alternatively, the server on which the Oracle programs are installed and/or running may be licensed on a per Processor basis
In short, if you are licensing Oracle on one or a cluster of IBM systems running on (POWER5 or) POWER6 on platforms between 1-4 sockets AND you are paying for every user of the system (i.e. every help desk agent), then you are OK.

Is Your Business Exposed?

If you are licensing Oracle on one or a cluster of IBM systems running POWER6 (or IBM System Z mainframes) and not paying on a per-user basis (regardless of the number of sockets per server)… and paying licensing on a Processor basis (with a core multiplier factor), then the licensing factor change will impact you.

The following table holds the per-core or per-processor factor (extracted relevant CPU architectures for SUN & IBM.) The items in italics indicate a license change.
http://www.oracle.com/corporate/contracts/library/processor-core-factor-table.pdf
Factor Vendor/Processor
0.25 SUN T1 1.0GHz and 1.2GHz (T1000, T2000)
0.50 SUN T1 1.4GHz (T2000)
0.50 Intel Xeon 74xx or 54xx multi-core series (or earlier); Intel Laptop
0.75 SUN UltraSPARC IV, IV+, or earlier
0.75 SUN SPARC64 VI, VII
0.75 SUN UltraSPARC T2, T2+ Multicore
0.75 IBM POWER5
1.00 IBM POWER6, SystemZ
1.00 All Single Core Chips
Partitioning can help mitigate the cost factors in the licenses. Higher end Solaris platforms use SUN Dynamic Reconfiuration while lower end platforms can use SUN Solaris 10 Containers (capped) to help license mitigation. (i.e. if it is thought that you may be out of compliance on an internal SUN based system, you could move the Oracle Database into a Capped Solaris 10 Containier on the same platform) which has fewer processors available, while the rest of the processors could be available for the other application processes in another container.
http://www.oracle.com/corporate/pricing/partitioning.pdf
Hard partitioning
Hard partitioning physically segments a server, by taking a single large server and separating it into distinct smaller systems. Each separated system acts as a physically independent, self-contained server, typically with its own CPUs, operating system, separate boot area, memory, input/output subsystem and network resources.
Examples of such partitioning type include: Dynamic System Domains (DSD) -- enabled by Dynamic Reconfiguration (DR), Solaris 10 Containers (capped Containers only), LPAR (adds DLPAR with AIX 5.2), Micro-Partitions (capped partitions only), vPar, nPar...
You would need to determine if you are using the POWER6 of a SystemZ processor, to understand exposure. Because the multiplier has increased, hard partitioning (LPAR, DLPAR, vPar, nPar) will not be able to directly limit your exposure - unless you implement fewer cores, to reduce your total number of cores, since each core will cost you more. The loss of a core, to bring your budget in-line, will result in a serious loss in CPU power (due to the high thread speed for the core) for a measly 0.25 multiplier increase in cost. Implementing partitioning under AIX may cost you more in IBM license fees, as well as orphaning a core or two, which may not be able to be realistically recovered in another application.

Clear as mud, right?

SUN, Solaris, Linux, and Growth

The Past 10 Years for SUN

SUN's investment into Linux, historically, to blunt Microsoft, has cut it's own throat since 2000. Without SUN's investment into Linux, UNIX like environments could have become irrelevant, however, with Microsoft's NT operating system release and IIS - so I think no matter what SUN did, it was a lose-lose situation... but SUN's backing of x86 Linux was a more strategic move than just ceding the position to Microsoft & x86, giving them a better position to compete later.

Linux and The Future

SUN's more recent targeted investment into Debian Linux to endorse Ubuntu and now adopt a variant of Debian packaging, may be an attempt to stop the bleeding of Solaris into RedHat and create more "choice" - which helps keep Solaris relevant under x64.

I think the adoption of Debian Linux packaging was a mistake by SUN, I believe they could have adopted new standards using a limited SVR4 format to achieve the same goals and back-port the new standard packaging to Linux for all of their OpenSource products (i.e. OpenOffice, NFS, ZFS, MySQL, GlassFish, Java, etc.)

Competition with Linux & Solaris under x64 and T Processors

Is Linux needed needed on the T processors to compete with x64?

Considering that SUN's hardware T market running Solaris has double the volume of the x64 market running combined Linux, Solaris, and Windows, Linux does not seem that important, to drive SUN sales (more on this later, with a quarterly report graph.)

Since the same software is available under Linux as it is under Solaris, perhaps not. I think the competition between the T and x64 processors is a more significant issue, with Linux impact. A single Solaris socket T processor no longer outruns Linux quad socket x64 processors on web serving workloads.

If Web Serving is the typical Linux workload, then the SPECWeb indicates that the T processors have been outperforming x64 for years on a price/performance ratio, until benchmarks published just a few months ago (with a single socket T2 outrunning quad sockets x64... but now quad socket hex core Intel chips are pushing 25% higher performance over a single socket T2) making x64 Linux price competitive with Solaris & SPARC T.
http://spec.org/cgi-bin/osgresults?conf=web2005&op=fetch&proj-COMPANY=256&proj-SYSTEM=256&proj-PEAK=256&proj-HTTPSW=256&proj-CORES=256&proj-CHIPS=256&proj-CORESCHP=256&proj-CPU=0&proj-CACHE1=0&proj-CACHE2=0&proj-CACHE3=0&proj-MEMORY=0&proj-NETNCTRL=0&proj-NETCTRL=0&proj-NNETS=0&proj-NETTYPE=0&proj-NETSPEED=0&proj-TIMEWAIT=0&proj-DSKCTRL=0&proj-DISK=0&proj-SCRIPTS=0&proj-WEBCACHE=0&proj-OS=0&proj-HWAVAIL=0&crit2-HWAVAIL=Jan&proj-OSAVAIL=0&crit2-OSAVAIL=Jan&proj-SWAVAIL=0&crit2-SWAVAIL=Jan&proj-LICENSE=0&proj-TESTER=0&proj-TESTDAT=0&crit2-TESTDAT=Jan&proj-PUBLISH=256&crit2-PUBLISH=Jan&proj-UPDATE=0&crit2-UPDATE=Jan&dups=0&duplist=COMPANY&duplist=SYSTEM&duplist=CORES&duplist=CHIPS&duplist=CORESCHP&duplist=CPU&duplist=CACHE1&duplist=CACHE2&duplist=CACHE3&duplist=NETTYPE&dupkey=PUBLISH&latest=Dec-9999&sort1=PEAK&sdir1=-1&sort2=SYSTEM&sdir2=1&sort3=CORESCHP&sdir3=-1&format=tab

This being said, in the carrier markets, with the 1U high dual T2+ platforms, there are no 8 socket 1U high hex-core Intel platforms to compete with it. Also, a 4U high quad socket T platform from sun scaling up to the equivalent of 4 T sockets, three quad socket X64 units would be required to compete (with dozens of NIC cards.) The modern x64 competition is starting to press the 1 & 2 year old T chips now. SUN really needs a T refresh (T3 should get them to be about 2-3x as fast as the T2 per-socket an restore the performance lead to 1x T socket being faster than 4x x64 sockets, to compete in this workload arena effectively.)

If SUN can release a T processor for embedded consumer or network devices, I think Linux may be a requirement, or a significantly slimmed down Solaris, in order to compete. I think that SUN avoiding this space has been disastrous decision, seeing the Apple had become largely relevant again, through this angle.

Profitability of the SUN SPARC T Processors

Some believe it is a "wild guess" to suppose the T family is profitable, but I think we can analyze the quarterly results to come up with a conclusion based closer to reality. SUN's product gross margins seem to float between 35% and 50%.
http://www.sun.com/aboutsun/investor/images/earnings_slides/img10_lg.jpg


It seems the T processors make up about 375 Million (in Q2-2009) vs non-T SPARC at about 700 Million.
http://www.sun.com/aboutsun/investor/images/earnings_slides/img07_lg.jpg


Everything else looks about equal. Take these two product sets (T SPARC, non-T SPARC), with increasing revenue on T and decreasing revenue on non-T, plot both against the Products gross margin... it looks like the T processors are not as profitable as the Non-T processors, but still reasonable. Clearly, SUN needs a refresh in the non-T processors (SPARC64 VII+ or RocK), to stabilize the downward trend, since this is the lion-share of the product revenue.

The "Other Systems" trend, seems to be inversely proportional to the T SPARC revenues... this bothers me historically, since any growth in the T SPARC seems to be getting canceled out by this other legacy category over the past 2 years, but this legacy category does not really exist any longer, as a proportion of significant revenue, so I don't believe it is worth tracking, moving forward.

If the T revenue can become in-parity with the non-T sales or supercede the non-T sales, then the unpredictability of SUN's quarterly profits & losses will be suppressed, improving the suitability for longer term investors.

Friday, March 20, 2009

IBM: Where SUN Has Been Competitive

There have been rumors about IBM purchasing SUN for a number of days now.

Where has SUN been competitive, where IBM would want to purchase them?

Since 2007, SUN has dominated performance of SPECWeb 2006 in 1 socket - it takes 4 socket systems to edge out a 1 socket SUN T2 processor - and of course, you just buy a 2, 3, or 4 socket T2 system to crush competing results, by an order of magnitude.

For most of 2008, SUN was at the top of the list for CINT2006 Rates in 1 socket

Since 2008 and so far into 2009, SUN is in the top 3 lists for in CINT2006 Rates in 2 sockets
http://spec.org/cgi-bin/osgresults?conf=rint2006&op=fetch&proj-COMPANY=256&proj-SYSTEM=256&proj-CORES=256&proj-CHIPS=256&critop-CHIPS=0&crit-CHIPS=2&proj-CORESCHP=256&proj-THREADS=0&proj-CPU=0&proj-CPU_MHZ=0&proj-CPUCHAR=0&proj-NCPUORD=0&proj-PARALLEL=0&proj-BASEPTR=0&proj-PEAKPTR=0&proj-CACHE1=0&proj-CACHE2=0&proj-CACHE3=0&proj-OCACHE=0&proj-MEMORY=0&proj-OS=0&proj-FS=0&proj-COMPILER=0&proj-HWAVAIL=0&crit2-HWAVAIL=Jan&proj-SWAVAIL=0&crit2-SWAVAIL=Jan&proj-COPIES=256&proj-PEAK=256&proj-BASE=256&proj-400PEAK=0&proj-400BASE=0&proj-401PEAK=0&proj-401BASE=0&proj-403PEAK=0&proj-403BASE=0&proj-429PEAK=0&proj-429BASE=0&proj-445PEAK=0&proj-445BASE=0&proj-456PEAK=0&proj-456BASE=0&proj-458PEAK=0&proj-458BASE=0&proj-462PEAK=0&proj-462BASE=0&proj-464PEAK=0&proj-464BASE=0&proj-471PEAK=0&proj-471BASE=0&proj-473PEAK=0&proj-473BASE=0&proj-483PEAK=0&proj-483BASE=0&proj-LICENSE=0&proj-TESTER=0&proj-SPONSOR=0&proj-TESTDAT=0&crit2-TESTDAT=Jan&proj-PUBLISH=256&critop-PUBLISH=-1&crit2-PUBLISH=Mar&crit-PUBLISH=2009&proj-UPDATE=0&crit2-UPDATE=Jan&dups=0&duplist=COMPANY&duplist=SYSTEM&duplist=CORES&duplist=CHIPS&duplist=CORESCHP&duplist=THREADS&duplist=CPU&duplist=PARALLEL&duplist=BASEPTR&duplist=PEAKPTR&duplist=CACHE1&duplist=CACHE2&duplist=CACHE3&duplist=OCACHE&duplist=COPIES&dupkey=PUBLISH&latest=Dec-9999&sort1=PEAK&sdir1=-1&sort2=SYSTEM&sdir2=1&sort3=CORESCHP&sdir3=1&format=tab

Since 2008 and so far into 2009, SUN is the top CINT2006 Rates in 4 sockets, even pulling away from the quad hex-core Intel processors by 25%

For most of 2008, SUN was at the top of the list for CFP2006 Rates in 1 socket.

For all of 2008 and so far though 2009, SUN is at the top of the list for CFP2006 Rates in 2 socket.

Since end of 2008 and so far though 2009, SUN is at the top of the list for CFP2006 Rates in 4 sockets.

SPARC has been clearly very competitive FOR YEARS on a field where POWER had decided to not even compete.

SUN has been very competitive in the Applications Arena. OpenOffice is a SUN led OpenSource project, which IBM rebranded as Lotus Symphony, and SUN rebrands as StarOffice.

SUN has been very competitive in the Application Foundation arena. Most cross-platform enterprise applications are written in JAVA.

SUN has been very competitive in Tape Storage. SUN and IBM are basically the only games in town for substantial tape storage. The American Government would probably demand a spin-off of something in the case of a merger.

SUN has been very competitive in the OS arena. There is nothing in the market like Open Source Solaris, only Windows has a more complete CIFS Kernel API set than OpenSolaris for CIFS/SMB. Only OpenSolaris offers a very full featured file system like ZFS (other OS's like Apple are starting to port and adopt pieces into MacOSX.) Systems administrators being able to trace third party applications programaticaly using DTrace is unheard of in the industry.

SUN has been very competitive in the Ultra-Thin Client arena. With third party manufacturers making ultra-thin laptops, SUN making ultra-thin desktops, significant power consumption savings from these units (better than any competing platform), and demonstrated savings over thens of thousand of users (SUN's policy of Eat Your Own Dogfood as well as U.S. Department of Defense) places SUN in a very unique position to share Solaris, Windows, and Linux applications securely over WiFi, Ethernet, and Fiber with zero desktop management (unless you consider unplugging and throwing out your box and moving to a different station to pick up from where you left off a problem!)

Considering the size of SUN and the resources of the competition, SUN has done fairly well, even if they have not been able to compete everywhere as effectively as those companies with deeper pockets such as IBM.

Monday, March 16, 2009

Choosing a Platform for a Workload (part2)

Choosing a Platform for a Workload
Part 2

The first part of this article described in some detail how real-world benchmarks of servers can show very startling results for some real world workloads.

If you have been following the article, you will notice the comparison to the HP platform, which was based upon a hex-core Intel processor.

One of the major issues with the HP platforms was tied around excessive use of rack space. The HP ProLiant DL580 (a Compaq hold-over, from when Compaq was purchased by HP) was a very capable server, with 4 sockets, to hold the Intel Hex Core 7000 Series CPU's. For roughly the same price point, the SUN server will half the rack space and reduce the power & cooling requirements of the HP server.
A Better Intel Platform

If you are sold on the Intel Hex-Core for your application load, an excellent servers solution was recently released: SUN Fire X4450.
This short video, introduced an SMP server leveraging the Intel 7000 series Dual, Quad, and Hex-Core server.

A Better Intel Platform With Co-Existing SPARC Platforms

The SUN X4450 server brings Intel closer closer in line with the SUN SPARC Enterprise T5240 T2+ servers, providing the network management architect a closer choice when trying to find similar performance characteristics in a similar space requirement.


A very nice piece of knowledge, for the data center which stores on-site spares: Many of the hardware spares (drives, power supplies, fans, boards, etc.) are can be interchanged between Intel & SPARC units of this family, providing lower maintenance costs.

A better AMD Platform for When Data Centers Co-Exist with SPARC and Intel

A Better SPARC for Real World Applications With External Storage

SPARC platforms normally scale linearly, as you add cores. This means, an architect can accurately predict costs and performance by adding sockets, cores and threads to an application in the same chassis by adding hardware or partitioning with LDOM's or Solaris 10 Containers.

If disk space is not an issue and you are using external storage and you are looking for real-world compute power in a small space, SUN SPARC Enterprise T5440 T2+ servers provide ample throughput. A single SUN T5440 consumes 4U, in comparison to 4x SUN X4450 at 8U, and in comparison to to 4x HP DL580 at 16U. For highly threaded real-world applications, this server is very hard to beat.


Dealing With Odd Application Vendor Licensing on Intel

With the odd way application vendors choose to license on platforms (some with per-platform, others with per-socket, really whacked licensing per-core) - Hex Core and Octal Core may not be as beneficial, from a cost perspective. To demonstrate how to work through those issues with Intel based servers, sometimes the best way to deal with it is by purchasing less hardware.

The Intel platforms normally do not scale linearly when you add cores and servers to clusters of Intel platforms. A more highly integrated socket with more cores may not perform equally as well (per core) a socket with fewer cores. The price/performance ratio per core basically rises for applications when the price/performance ratio per core basically lowers for server hardware.

The greater amount of cache, on levels of cache closer to the processing units, will also increase single thread performance as well as throughput, due to decreased latency on cache hits.

Also, robust bios/firmware capable of partitioning does not exist on Intel/AMD platforms, meaning partitioning must be done through an additional hypervisor with an additional cost (both in dollars as well as in system call performance.) If a larger Intel/AMD platform with more cores is purchased, even though the cores run at a slower speed, increasing the Application cost per core, Application cost is further degraded once a typical Intel/AMD hypervisor is added.

These two issues significantly hinders the options for architects trying to build a long term solution which will scale while optimizing costs on Intel/AMD platforms.

To try to deal with this Intel problem, server vendors leave CPU's with fewer cores in their product lines, even though the hardware costs do not differ significantly. To illustrate this, a single server may have a miriad of confusing consumer options for x64 processors, such as the Intel 7000 series based SUN Fire X4450.

Vendor, Family, Sockets, Model, Cores, GHz, Bus MHz, Consumption, MB Cache/Processor
Intel, Xeon, 4, E7220, 2-Core, 2.93, 1066 FSB, 80W, 2x4 L2 *
Intel, Xeon, 2, E7320, 4-Core, 2.13, 1066 FSB, 80W, 2x2 L2
Intel, Xeon, 2, E7340, 4-Core, 2.40, 1066 FSB, 80W, 2x4 L2
Intel, Xeon, 2, X7350, 4-Core, 2.93, 1066 FSB, 130W, 2x4 L2
Intel, Xeon, 4, L7345, 4-Core, 1.86, 1066 FSB, 50W, 2x4 L2
Intel, Xeon, 4, E7340, 4-Core, 2.40, 1066 FSB, 80W, 2x4 L2
Intel, Xeon, 4, X7350, 4-Core, 2.93, 1066 FSB, 130 W, 8 L3 **
Intel, Xeon, 2, E7420, 4-Core, 2.13, 1066 FSB, 90W, 8 L3
Intel, Xeon, 2, X7460, 6-Core, 2.66, 1066 FSB, 130 W, 16 L3
Intel, Xeon, 4, E7450, 6-Core, 2.40, 1066 FSB, 90W, 12 L3
Intel, Xeon, 4, X7460, 6-Core, 2.66, 1066 FSB, 130 W, 16 L3 ***


* where multiple Intel cores are not necessarily needed greater than 8, the dual core E7220 will offer the greatest single threaded application performance and the best application license cost per core ratio, but the overall throughput of the server will be weak
** where multiple Intel cores are not necessarily needed greater than 16, the quad core X7350 will offer weaker single threaded application performance, a medium application license cost per core ratio, and reasonable overall throughput on this server
** where multiple Intel cores are not necessarily needed greater than 24, the hex core X7460 will offer among the weakest single threaded application performance, the worst application license cost per core ratio, but the highest overall throughput on this server

Wednesday, March 11, 2009

Choosing a Platform for a Workload (part1)

Choosing a Platform for a Workload
Part 1

When working with a platform for managing networks, integrating systems through middleware, or presenting data to customers - web servers and encryption become extremely important. These two factors should be considered when choosing a platform.

Network Management increasingly requires encryption and compression functions for transport protocols. Encryption is part of established protocols such as SNMPv3. Compression is common in proprietary protocols, where data is built on a foreign platform, shipped to the management platform (increasingly over encrypted HTTPS), and unbundled.

Seasoned architects agree that the combination of encryption and web server performance becomes a key factor with scaling any application in large applications.

Web Serving Platform Metrics

Traditional benchmarks had surrounded CPU single thread performance in integer and floating point. Business applications were single threaded on desktops in the past, but modern applications are centrally deployed, driving the need for new benchmarks.

Newer benchmarks had surrounded multi-threaded CPU integer and floating point performance. Newer high-throughput CPU's, such as the Hex Core 7000 Series Intel provide outstanding throughput in comparison to older Octal Core T2 SPARC Series.

Sockets MHz Result Vendor Model
4 1414 301.0 SUN T2+ (8 cores/socket)
4 2667 294.0 Intel Xeon X7460 (6 cores/socket)
2 1415 160.0 SUN T2+ (8 cores/socket)
2 2667 158.0 Intel Xeon X7460 (6 cores/socket)
1 1417 085.5 SUN T2 (8 cores/socket)
CINT2006 Rates, 1 Sockets, (Cores/Socket > 5)
CINT2006 Rates, 2 Sockets, (Cores/Socket > 5)
CINT2006 Rates, 4 Sockets, (Cores/Socket > 5)


This is a better metric for measuring scalability of centrally deployed application, but this is beginning to be insufficient when modern CPU architectures include other embedded functionality to accelerate modern management applications with encryption and web serving requirements.

Web Serving Platform Metrics

Understanding the implications in platform choice in modern management application deployment has been lacking, until newer benchmarks have been made available.
The SPECweb2005 benchmark is a good start.
http://www.spec.org/cgi-bin/osgresults?conf=web2005&op=fetch&proj-COMPANY=256&proj-SYSTEM=256&proj-PEAK=256&proj-HTTPSW=256&proj-CORES=256&proj-CHIPS=256&proj-CORESCHP=256&proj-CPU=256&proj-CACHE1=0&proj-CACHE2=0&proj-CACHE3=0&proj-MEMORY=0&proj-NETNCTRL=0&proj-NETCTRL=0&proj-NNETS=0&proj-NETTYPE=0&proj-NETSPEED=0&proj-TIMEWAIT=0&proj-DSKCTRL=0&proj-DISK=0&proj-SCRIPTS=0&proj-WEBCACHE=0&proj-OS=0&proj-HWAVAIL=256&crit2-HWAVAIL=Jan&proj-OSAVAIL=0&crit2-OSAVAIL=Jan&proj-SWAVAIL=0&crit2-SWAVAIL=Jan&proj-LICENSE=0&proj-TESTER=0&proj-TESTDAT=0&crit2-TESTDAT=Jan&proj-PUBLISH=256&crit2-PUBLISH=Jan&proj-UPDATE=0&crit2-UPDATE=Jan&dups=0&duplist=COMPANY&duplist=SYSTEM&duplist=CORES&duplist=CHIPS&duplist=CORESCHP&duplist=CPU&duplist=CACHE1&duplist=CACHE2&duplist=CACHE3&duplist=NETTYPE&dupkey=PUBLISH&latest=Dec-9999&sort1=PEAK&sdir1=1&sort2=SYSTEM&sdir2=1&sort3=CORESCHP&sdir3=-1&format=tab

Platform Performance Metric Implications

Viewing the high-end of the report, performance implications are astounding.

CPU_ArchitectureSocketsCores/
Socket
Total
Cores
PerformanceHW_Avail
Sun UltraSPARC T218841847 Jan-2008
AMD Opteron 8384 441648007Jan-2009
Intel Xeon X7460462451395Jun-2008 *
* The Intel hex-core processor was not available for production release until Sept 2008

Is the best platform to deploy applications on a hex-core Intel or an octal-core SPARC?

The 4 processor Intel Xeon X7460 from vendors like HP will run you a similar cost to a 1 processor Sun SPARC T2 (i.e. low-mid $20K US$) - so it seems like a good possibility from price perspective.
http://www.pcworld.com/shopping/reviews/prtprdid,91898999-sortby,retailer/reviews.html
http://shop.sun.com/is-bin/INTERSHOP.enfinity/WFS/Sun_NorthAmerica-Sun_Store_US-Site/en_US/-/USD/ViewStandardCatalog-Browse?CategoryName=SPARC_T5120&CategoryDomainName=Sun_NorthAmerica-Sun_Store_US-SunCatalog


Probably not, if heat, cost, scalability, future growth, and rack space are considerations.
  • The Quad-Socket Hex-Core Intel platforms are typically 4U-5U in height, while the Single-Socket Octal-Core SPARC platforms are typically 1U in height.
  • The Quad-Socket Hex-Core Intel platforms are typically at their maximum number of CPU's, meaning a total of 8 sockets will mean 8U-10U in height, while the Dual-Socket Octal-Core SPARC platforms are typically 1U in height... but the Intel platform will require clustering hardware & software to take advantage of the additional capacity at lack of linear scalibility, while the SPARC platform will just scale linearly.
  • The Quad-Socket Hex-Core Intel platforms are typically at their maximum number of CPU's, meaning a total of 12 sockets will mean 12U-15U in height, while the Quad-Socket Octal-Core SPARC platforms are typically 4U in height... but the Intel platform will require clustering hardware & software to take advantage of the additional capacity at lack of linear scalibility, while the SPARC platform will just scale linearly.
  • The Quad-Socket Hex-Core Intel platforms are typically at their maximum number of CPU's, meaning a total of 16 sockets will mean 16U-20U in height, while the Quad-Socket Octal-Core SPARC platforms are typically 4U in height... but the Intel platform will require clustering hardware & software to take advantage of the additional capacity at lack of linear scalibility, while the SPARC platform will just scale linearly.
To chart the space, price, and performance implications... I am using a discounted price for HP and straight retail prices for SUN, meaning the SUN will probably be much lower.

CPU_ArchitectureSocketsCores/
Socket
Total
Cores
HeightUS$Model
Sun UltraSPARC T21881U$25KSUN T5120
Sun UltraSPARC T2+28161U$35KSUN T5140
Sun UltraSPARC T2+38244U$70KSUN T5440
Sun UltraSPARC T2+48324U$90KSUN T5440
Intel Xeon X746046244U$25KHP DL580
Intel Xeon X746086488U$50K *HP DL580
Intel Xeon X74601267212U$75K *HP DL580
Intel Xeon X74601669616U$100K *HP DL580
* Clustering hardware and software are not included, driving up cost; clustering decreases linear performance increase

It should be noted, the T2 and T2+ processors run 8 threads per core, meaning that single thread performance is slower than the single thread performance on the Xeon, while Opteron seems to have best single thread performance.

If single threaded performance is a requirement, then this should be kept in mind.

Future Architecture Planning

It is clear that the T2 & T2+ architecture is competitive today, while leading the market from the date of their initial release.

The T2 and T2+ processors have been out for years, indicating that a refresh on this CPU line will probably be released soon, to compete with the brand new Intel hex-core processors released just months back.

Considering how old the T2 processor line is and seeing how well it competes with modern processors on a price/performance basis, there is a good indication that the refreshed line will give a tremendous application performance boost, if you can delay hardware purchases until Q3 or Q4 of 2009 over the competition.

Wednesday, March 4, 2009

Partitioning: Oracle Licensing Terms & Agreements

When questions about Oracle licensing comes up, things can get rather puzzling.

How is one to determine license liability?

Single-Core vs Multi-Core Processors

Sometimes, there are web pages which help to determine liability with single and multi-core processors.
http://www.orafaq.com/wiki/Oracle_Licensing

Multi-core processors are priced as (number of cores)*(multi-core factor) processors, where the multi-core factor is:

  • 0.25 for SUN's UltraSPARC T1 processors (1.0 GHz or 1.2 GHz)
  • 0.50 for other SUN's UltraSPARC T1 processors (e.g. 1.4 GHz)
  • 0.50 for Intel and AMD processors
  • 0.75 for SUN's UltraSPARC T2 processors
  • 0.75 for all other multi-core processors
  • 1.00 for single-core processors
This may help guide towards a decision (i.e. if you need half of T2 processor for an application, there is a 50% discount when one purchases a system with a T1 processor for running Oracle.)
  • 8 (T1 cores) * .25 (multi-core 1.2 GHz T1 factor) = 2 (pricing factor)
  • 8 (T2 cores) * .75 (multi-core 1.2 GHz T2 factor) = 6 (pricing factor)
Examples of low-end T1 based systems include:
A T1 platform is a GREAT platform for deploying a basic development or test environment or a development or test clustering environment, where full fledged performance is not required, but binary compatibility is desired with SPARC applications.

Building applications which scale well on a T1 platform will offer excellent performance when the application needs to scale up with larger number of cores or processors, since it will be more likely to scale linearly since the CoolThreads cores will scale linearly in performance.

Partitioning Technologies

There are three primary partitioning technologies with Open platforms:
  • Dynamic System Domains
    Available for mid-range to high-end SUN and Fujitsu systems
    Allows for Solaris 8, Solaris 9, Solaris 10, and Solaris Express operating systems
    M4000 for up to 2 Dynamic System Domains
    M5000 for up to 5 Dynamic System Domains
    M8000 for up to 16 Dynamic System Domains
    M9000 for up to 24 Dynamic System Domains

  • Logical Domains or LDOM's
    Available for low-end to mid-range SUN and Fujitsu systems
    T1 Processors for up to 32 LDOM's
    T2 Processors for up to 64 LDOM's
    T2+ Processors for up to 256 LDOM's

  • Solaris 10 (capped) Conainers
    Solaris 10 Containers are available across all SUN & Fujitsu platforms
    Using BrandZ - Linux, Solaris 8 and Solaris 9 Operating Systems can run in Solaris Branded Zones
Partitioning with Oracle

There is a lot of mis-information about partitioning flooding the internet. The best place to go for information regarding partitioning is Oracle's web site. The following document is dated from 2002 and is still posted as current, as of the publishing of this blog entry.
http://www.oracle.com/corporate/pricing/partitioning.pdf

(page 1)
Soft Partitioning
...
As a result, soft partitioning is not permitted as a means to determine or limit the number of software licenses required for any given server.

(page 2)
Hard Partitioning

Hard partitioning physically segments a server, by taking a single large server and separating it into distinct smaller systems. Each separated system acts as a physically independent, self-contained server, typically with its own CPUs, operating system, separate boot area, memory, input/output subsystem and network resources.
Examples of such partitioning type include: Dynamic System Domains (DSD) -- enabled by Dynamic Reconfiguration (DR), Solaris 10 Containers (capped Containers only)...

Partitioning Examples:
A server has 32 CPUs installed, but it is hard partitioned and only 16 CPUs are made available to run Oracle. The customer is required to license Oracle for only 16 CPUs.

Very clearly, costs can be reduced by using Dynamic System Domains of high-end SPARC systems as well as Solaris 10 (capped) Containers on low-end to mid-range systems.

Other Helpful Oracle Guides
Partitioning & Architecture for Disaster Recovery and Development

With a T2 system being roughly twice the throughput of a T1 system, a low-end T2 makes a good production system which can scale up with a lower initial cost, leveraging hard partitioning options like LDOM's or Solaris 10 (capped) Containers.

For example, the following systems offer similar performance (omitting floating point applications):
  • 8 (T1 cores) * .25 (multi-core 1.2 GHz T1 factor) = 2 (pricing factor)
    A full system, no partitioning
  • 4 (T2 cores) * .75 (multi-core 1.2 GHz T2 factor) = 3 (pricing factor)
    Solaris 10 (capped) Container used to provide half the number of cores, leaving half the cores for later expansion
  • 4 (T2 cores) * .75 (multi-core 1.2 GHz T2 factor) = 3 (pricing factor)
    SPARC CoolThreads LDOM's used to provide half the number of cores, leaving half the cores for later expansion
As greater performance is needed with applications, the appropriate number of cores can be added to a T2 system, in order to provide higher capacity in affordable quantities.
  • 1 (T2 cores) * .75 (multi-core 1.2 GHz T2 factor) = 0.75 (pricing factor) = 1 (rounded up)
  • 2 (T2 cores) * .75 (multi-core 1.2 GHz T2 factor) = 1.50 (pricing factor) = 2 (rounded up)
  • 3 (T2 cores) * .75 (multi-core 1.2 GHz T2 factor) = 2.25 (pricing factor) = 3 (rounded up)
  • 4 (T2 cores) * .75 (multi-core 1.2 GHz T2 factor) = 3 (pricing factor)
  • 5 (T2 cores) * .75 (multi-core 1.2 GHz T2 factor) = 3.75 (pricing factor) = 4 (rounded up)
  • 6 (T2 cores) * .75 (multi-core 1.2 GHz T2 factor) = 4.50 (pricing factor) = 5 (rounded up)
  • 7 (T2 cores) * .75 (multi-core 1.2 GHz T2 factor) = 5.25 (pricing factor) = 6 (rounded up)
  • 8 (T2 cores) * .75 (multi-core 1.2 GHz T2 factor) = 6.00 (pricing factor)
As you can see, scaling up or down an LDOM or Solaris 10 (capped) Container to isolate Oracle license costs can be very effective to control business costs according to capacity need... except some choices may not make a good decision from an economic standpoint (i.e. 3 or 7 cores.)

The T2 may make a great consolidation platform for a Disaster Recovery platform, that could double as a Development Platform, by "scaling down" the number of cores in a container.