Tuesday, March 2, 2010

Understanding Processor Value Units (PVUs)

When you are a software developer, you don't necessarily have insight into the pricing and sales process. From coding days I know how to hook up functionality to a license server and how to make sure features are only used when money was paid (that's the part regarding job security). So recently I tried to learn more about how DB2 software (distributed software in general) is priced or what forms the basis for pricing. The magic term in IBM lingo is PVUs or Processor Value Units.

PVUs are not based on how much you actually paid for the machine, but how valuable in processing power (from IBM's view) your machine is. A number is first determined for a processor core, then the numbers are added up to account for all cores in a machine. A table with up-to-date PVUs for the different processor types is maintained at http://www-01.ibm.com/software/lotus/passportadvantage/pvu_licensing_for_customers.html. The new POWER7 processors, e.g., have 120 or 100 PVUs per core, depending on the server model. Based on the table you can do the math and can come up with the total PVUs your machine has, e.g., 800 PVUs. A different (and I can't say simpler or more comfortable) way is to use the "processor value unit calculator" where you click through a decision tree.

An introduction to the DB2 pricing with some background on why PVUs were introduced is this article by Paul Z. and Deb Jenson.

If you have read all this, you can determine how valuable your machine is. To no surprise, there are other licensing option like per server or per socket which are only available for certain DB2 editions (usually only the "smaller" editions). If you don't (want to) care about PVUs, maybe why not just start with the free DB2 Express-C?