Why Dual Core Might Not Be A Good Idea
With advances in technology, computers have become faster, smaller and cheaper. Everyone knows that. What you may not know is that more computers than ever have multiple cores, (or Central Processing Unit, CPU), built in. These offer increases in performance but they may come with a large hidden software cost. The historical licensing models for large enterprise software applications such as databases and servers are not adaptive to changes in hardware technology.
In the beginning of the large database server days, large computers were required to run the biggest database and server applications. Companies such as Oracle, Informix and Microsoft, supplied their products in enterprise editions. These took advantage of the full computing power available. Because the computer platforms were expensive, and capable of handling large amounts of data, the software needed to be capable and robust as well. For this, customers paid a premium over other versions of software. Back in these days, roughly the 1980's and 90's, computers rarely shipped with multiple cores. Those that did were significantly more expensive and more powerful. The rationale of the day for software vendors was to charge a significant premium for multiple core installations. This was to reflect the ability of the host server to perform much more work with the same set of software.
This software strategy was relatively logical back in the day. Very large computers which contained multiple cores allowed companies to install one server rather than a multiple. With a single server, networking was easier. Maintenance was far easier. Physical requirements such as space, electricity and cooling, were lower. Since a multiple core computer was beneficial in so many ways, companies generally regarded the additional software license costs per core to be a reasonable business expense. Soon, however, hardware vendors started shipping multiple core computers in smaller, and cheaper configurations. This caused software licensing costs to skyrocket for many organizations.
Another factor in the technology arena has been the increase in capability of smaller computers. Personal computers, home workstations, and even laptops, have become incredibly powerful. Taken to the extreme, modern laptop computers often ship with 8 billion bytes of memory, (8gb), five hundred billion bytes of disk memory, (500gb), and dual core microprocessors. This in a package that costs perhaps $500. In addition, stunning graphics, wireless Internet and stereo sound is included. Many of these low end computers are far more powerful than enterprise servers from ten years ago. Such devices are more than capable of handling the server requirements of a large enterprise database. It is shocking, however, to realize that a $500 laptop would require an enterprise license worth $20,000 in order to run a large database application.
Of course, no organization would actually run an enterprise database on a laptop, but they could. Instead, many companies purchase server computers which are designed to be installed in a server room. In other cases, they purchase large sized workstations and install them as servers. These devices are very capable of performing a lot of work. They can be configured with substantial amounts of memory, both RAM and disk. They make very good servers and are relatively cheap. Many of these devices, however, come with multiple cores.
It is these modern low cost servers that may be subject to very high software license costs. When purchasing such a machine, it is natural to use the number of cores as just another evaluation metric. Machine "A" has 16gb of RAM, 1000gb of disk and dual cores. Machine "B" has 16gb of RAM, 1000gb of disk and quad cores, for the same cost. Many companies would choose the quad core machine over the dual core. Unfortunately, the software licensing cost for the quad machine could be double. Each core in the computer requires an additional license, as stated above. The theory is that the dual core performs much more work than single. Quad core performs double the work of dual. With modern computers, however, this is simply not true.
Any computer with multiple cores is only able to perform more work if the system is optimized for multiple cores and the work can be divided across the cores. Most computers only partially fit the model so they only partially utilize the power of multiple cores. Workstations, and small servers, have a single memory array. While these have controllers and are arranged very efficiently, they do not offer independent memory to each of the cores. Similarly, the disk drive structure is shared among the cores. Even the internal computer wiring is shared. Hopefully, the various sharing mechanisms work together to ensure that each core receives exactly what it needs at all times. This would allow a dual core computer to be twice as fast as a single core. Sadly, this is rarely the case.
Modern multiple core computers are actually far less than 100% faster for each added processor. The realities of the memory, disk system and network, show that additional cores add substantially less power than the first core. They are faster at many operations but certainly not twice as fast for a dual core. Yet the enterprise database software still maintains that a dual core is twice as capable. The license cost, therefore, is twice as much. This would be acceptable to most businesses if they had hardware choices but in many cases, they do not. Computer chip manufacturers have found that they can make computers more capable by increasing speed or by adding additional cores. With the speed of modern computers, it has become very expensive to develop faster chips. It is comparatively cheaper to add additional cores.
Over time, computer chip makers have greatly increased their offerings of multiple core computer chips. The once rare dual core is now commonplace. As mentioned, entry level laptops costing less than $500 often have dual cores. Larger computers are commonly available with quad cores. Workstation and server units are available for under $3000. Such a unit might incur a $100,000 enterprise database license cost.
To be fair to software vendors, they have adjusted their license models to meet the new reality. A discussion of the uses of the software is required. The key, however, is negotiation with the vendor sales person. Since the cloud computing model is becoming so common, vendors are often very willing to agree to licensing terms. This could save significant dollars for an organization.