Imagine working on your computer and suddenly realizing that you need more processing power than you currently have. Now consider the ability to simply go online to the computer or processor vendor's website, submit your credit-card information, specify how much more processing power you need, and for how long, hit a button, and, bam!there appears a pop-up that says, "Congratulations, your hardware has been upgraded." Similarly, imagine the ability to downgrade at will or, for that matter, pay for processing power just like electricity or cell phone serviceonly for what you have used.
We believe that such economic models may indeed become feasible for many-core processors. Current economic models for processors require customers to estimate their average-case or worst-case computational requirements beforehand, and then buy a processor or system that meets those needs. This causes computational resources on chips to often not match computational requirements of customers and their applications. So processors are often under- or over-utilized, both resulting in "wasted" dollars. And the problem gets exacerbated as the number of cores on a processor increase.
Joseph Sloan and I have published a technical report (www.crhc.uiuc.edu/~rakeshk/techrep_economic.pdf) that presents four alternative economic models for many-core computing. The proposed models recognize that when a many-core chip is bought, the customer may often wish to pay for fewer cores than what is present on a chip. The models provide the customer the flexibility to change the available peak computational capability of the chip (or effective number of cores) during the lifetime of the chip.
- The Upgrades Only model lets users adapt to increased average computation needs by scaling up any time postfabrication and postpurchase.
- The Limited Up/Downgrade model lets users adapt to changes in computational need by upgrading/downgrading the chip on demand.
- The Cores On Rent model lets users rent access to cores as long as the hardware has a valid lease. Access to cores is revoked upon lease expiration.
- Finally, the Pay Per Use model measures and records hardware usage and the billing happens over a specified lease period.
The last two models let users treat processing as a service by decoupling payment from ownership. These models are in addition to an Intelligent Baseline model, where users make one-time decisions about the number of cores they need, and vendors appropriately enable a subset of cores on the chip before shipping.
There is also a strong economic motive to look at alternative economic models. Currently, each chip has exactly one peak computational capability. Because the number of unique chips is decreasing due to prohibitive manufacturing costs and diminishing profit margins, there is an increasing disparity between the computational power that a customer needs and the capability that a chip can provide. This again results in wasted dollars and reduced efficiency. The problem gets worse with increasing number of cores on a die.
Economic models such as this are not new.
Large-scale server systems (or mainframes) also use a Capacity-On-Demand (COD) system where the economic models are similarthe IBM COD systems being just one example. The primary difference is the nature of customers. For the COD systems, the customers are typically a relatively small number of trustworthy, visible companies that can be tracked and made accountable if they do not subscribe fairly to the economic model. With many-core processors, authentication becomes a concern due sheer volume and anonymity of customers. Similarly, security and robustness become a concern as anonymity may encourage malicious users/customers to unlock the processing power. Also, reversibility (or downgrades) needs to be enforced more stringently as there are fewer ways to force the customer to give up resources. This difference in the nature of customers translates into unique support and enforcement mechanisms. In fact, the bulk of our work in this area is devoted to looking at the hardware and system-level mechanisms that are needed to enable the economic models. Mechanisms range from techniques to uniquely identify a chip, to securely authenticating a user, to locking access to unauthorized cores. Most policing mechanisms need to be implemented in hardware and made inaccessible to the user to ensure the integrity of the models.
Several other issues need to be worked out to make these models a reality, the biggest being the concern about the licensing model for software. Conventional software licensing models tie licensing to a peak computational capability. The proposed models allow changes in the available peak computational capability of a chip and may, therefore, require unconventional software licensing models.
But then again, imagine...