Intel HPC Job Bank
HPC in the Cloud


Dedicated to covering high-end cloud computing
in science, industry and the datacenter

Language Flags

The Path to Grid-Friendly Software Licensing


** The views and opinions expressed herein are strictly those of the author and do not necessarily reflect those of Micron Technology Inc. or its subsidiaries or affiliates

Introduction

Grid computing, coupled with companies' ongoing market pressure to reduce operating costs, is changing the way IT applications are run. However, current software licensing methods may restrict the ability to leverage applications with the flexibility that the Grid can provide. This article reviews several licensing schemes in terms of their Grid-friendliness and suggests minor changes to licensing models to better promote Grid usage.

A Review of Licensing Models

Three fundamental licensing models that warrant coverage in any discussion of Grid computing are: 1) user-based, 2) host-based and 3) concurrent.

User-based licensing associates a license with a named user. Typically, named users can upgrade their systems and re-install the software without further involvement of the supplier (i.e., nothing special about a particular machine, like its name or ID, enables or disables the software from operating). In some cases, it is acceptable for these users to have such licensed software installed on more than one machine (e.g., work and home, desktop and laptop, etc.) based on the concept that they can only use a single copy at any given time.

The extreme case of this licensing model is that an application could be available on any host (machine), but is only usable by a finite number of licensed users. One can think of this as a "don't care where, but who" scheme. An advantage is that a named user always has access to the application because nobody else can use it. On the other hand, the license is wasted when the named user is away, for example, on vacation.

Host-based licensing has an opposite focus from user-based licensing. One can think of this as a "don't care who, but where" model. Host-based licenses can either be floating (run on any host) or locked (tied to a specific machine by name or ID). An advantage of this approach is that many users can share a license (e.g., in a training lab or on a shared workstation). A disadvantage is that many licenses can go unused.

Concurrent licensing draws on parts of the two previous schemes. One can think of this approach as "don't care who or where, but how many." Concurrent licensing models generally involve the use of a license server to keep track of how many licenses are available to be checked out. Generally, a cost will be associated with running such a license server. However, this cost is more than offset by the reduced number of licenses required because this scheme promotes maximal sharing of a license among a group of users. While this approach can facilitate "any time, anywhere" access to a minimally sufficient number of licenses, some vendors artificially limit licenses to a set of nodes or geographical region (i.e., subnet, etc.). These vendors often will allow wider geographical use for an extra fee.

A Changing Computing Landscape


Not too long ago, computing environments were quite static. The user interface consisted of a personal desktop running client-server software connected to back-end systems located in a basement machine room. Today, the use of laptops is on the rise, and employees are increasingly working at home and on the go. On the back end, big iron typically talked to other big iron. More recently, much of the big iron is being replaced by a lot of little iron, but everything is still statically configured: a named machine gets a bunch of software installed based on its role.

In forward-looking companies, however, Grid computing technologies and the continual focus on reducing costs have driven hardware virtualization and consolidation efforts to support greater application portability, reliability and scalability. Many companies are migrating much of their computing infrastructure to a small number of super data centers; maybe one per continent. The transaction that used to run in the basement may now run one or more time zones away.

In some cases, companies may choose to run their applications on someone else's computers. Sun Microsystems recently announced a program to provide CPU cycles by the hour. The bottom line is that the day is rapidly approaching when applications -- both user-facing and back-office -- will run anywhere. The location and association between an application and the hardware on which it runs will be very dynamic. One may run an application from a box in Austin, Texas, on Monday and the same application from a box in Singapore on Thursday.

Grid-Friendly Software Licensing

While today's Grid-enabled infrastructure supports most of what is discussed above, we're still a few years from seeing widespread availability of Grid-enabled software as the industry sorts out all the standards and value propositions. What is Grid-enabled software? Grid-enabled software actively discovers and utilizes a Grid to improve efficiency, reliability and scalability. As the industry goes along the path to Grid-enabled software, perhaps it should consider an interim step to Grid-friendly software.

The goal of Grid-friendly software is simple: don't do anything to interfere with a Grid execution model. While there are a few technical considerations for Grid-friendly software, the focus of this article is on licensing. Consider how the three licensing models can become more Grid-friendly.

The Grid supports location- (i.e., machine) independent application execution. User-based licensing models could better support this flexibility through a replicated or centralized table of authorized users. Users should be able to run a local copy of "their" software in the morning (maybe a lightweight trial run) and a remote copy via the Grid in the afternoon (a CPU-intensive run that has been matched to a beefy machine, for example). The FlexLM license management system from Macrovision is one tool that supports such an execution model.

The Grid also supports the matching of jobs to machines based on job requirements and machine capabilities. Most Grids can publish arbitrary machine capabilities such as a list of available software. Host-based licensing models can be effectively leveraged on the Grid by such an automated discovery. For example, if a company has purchased 1,000 copies of an application, and 450 are actively being used, the Grid can automatically process a queue of work with the remaining 550 copies. Application providers that use host-based licensing could explicitly state that this use model is acceptable in their licensing agreements.

Perhaps the greatest power of Grids lies in their ability to easily run many jobs in parallel. Concurrent licensing models readily support Grid execution because they generally use a centralized license server. However, usage-based (utility) models would support Grid execution more flexibly and provide better license utilization. For example, if a company was licensed for the concurrent use of 10 copies of software, it could obviously run 10 instances 24 hours in a day for a total of 240 instance-hours. But, on another day, it should be able to run 24 instances for 10 hours. This is also the best model for externally-hosted applications that are run via an Application Service Provider (ASP). Interestingly, the FlexLM license management system mentioned above supports such a licensing model today.

Other Considerations

Please don't make price an issue. Some vendors might want to charge more for the ability to use their application in a Grid. To the extent that customers are just using an off-the-shelf application on the Grid, charging more is not justified. The customers are simply leveraging the investment in their IT infrastructure more wisely. In some cases, when specific functionality is built into the software to explicitly leverage Grid capabilities (like automatically parallelizing tasks perhaps), a price uplift might be justified -- but now we're talking Grid-enabled software, not just Grid-friendly software.

It's no longer about location, location, location. From the section on the changing computing landscape, it should be clear that applications increasingly are run independently from user and data location. Licensing schemes that restrict (or charge extra for) use based on geography are antiquated and artificially restrict the way companies must do business to compete in today's global market.

While the thrust of this article is directed at software suppliers, the Grid community is not without involvement. The ability to match jobs to computing resources should be enhanced to support matching on arbitrary resource constraints. Today, the Grid throttles the number of active jobs based on the number of available machines to run those jobs. It would be nice to be able to throttle the active jobs based on some other constraint such as the number of available licenses or the number of available database connections. One Grid computing software vendor, Platform Computing, offers a product called License Scheduler that can manage job deployment based on license resource availability.

Summary

We are entering a new era in location-independent computing flexibility brought forth by Grid technology and driven by a business focus on reduced cost and increased efficiency. While Grid technologies are fairly mature in their ability to match application requirements to compute nodes, perform data transfer, and start and manage remote applications, the applications themselves are not very Grid-friendly. This article suggests the most expeditious path to fully-Grid-enabled applications is for application vendors to first address Grid-unfriendly licensing models and then address the associated technical issues.

This Week's Headlines


Most Read Features

Most Read Around the Web

Most Read This Just In

Most Read Blogs

Intel

Short Takes

Hacking into the N-Queens Problem with Virtualization

Jun 19, 2013 | Ruan Pethiyagoda, Cameron Boehmer, John S. Dvorak, and Tim Sze, trained at San Francisco’s Hack Reactor, an institute designed for intense fast paced learning of programming, put together a program based on the N-Queens algorithm designed by the University of Cambridge’s Martin Richards, and modified it to run in parallel across multiple machines.
Read more...

Datapipe and Verne Global's Green Cloud

Jun 17, 2013 | With that in mind, Datapipe hopes to establish themselves as a green-savvy HPC cloud provider with their recently announced Stratosphere platform. Datapipe markets Stratosphere as a green HPC cloud service and in doing so partnering with Verne Global and their Icelandic datacenter, which is known for its propensity in green computing.
Read more...

IBM's Guide to Cloud Based HPC

Jun 12, 2013 | Cloud computing is gaining ground in utilization by mid-sized institutions who are looking to expand their experimental high performance computing resources. As such, IBM released what they call Redbooks, in part to assist institutions’ movement of high performance computing applications to the cloud.
Read more...

OpenStack and the SDSC Research Cloud

Jun 06, 2013 | The San Diego Supercomputer Center launched a public cloud system for universities in the area designed specifically to run on commodity hardware with high performance solid-state drives. The center, which currently holds 5.5 PB of raw storage, is open to educational and research users in the University of California.
Read more...

Sponsored Whitepapers

Best Practices in Big Data Storage

05/10/2013 | Cleversafe, Cray, DDN, NetApp, & Panasas | From Wall Street to Hollywood, drug discovery to homeland security, companies and organizations of all sizes and stripes are coming face to face with the challenges – and opportunities – afforded by Big Data. Before anyone can utilize these extraordinary data repositories, however, they must first harness and manage their data stores, and do so utilizing technologies that underscore affordability, security, and scalability.

Exploring the Potential of Heterogeneous Computing

04/02/2012 | AMD | Developers today are just beginning to explore the potential of heterogeneous computing, but the potential for this new paradigm is huge. This brief article reviews how the technology might impact a range of application development areas, including client experiences and cloud-based data management. As platforms like OpenCL continue to evolve, the benefits of heterogeneous computing will become even more accessible. Use this quick article to jump-start your own thinking on heterogeneous computing.

Sponsored Multimedias

Newsletters

Stay informed! Subscribe to HPC in the Cloud email Newsletters.

HPC in the Cloud Update
HPCwire Weekly Update
Digital Manufacturing Report
Datanami
HPCwire Conferences & Events
Job Bank
HPCwire Product Showcases



HPC Job Bank


Featured Events




  • November 17, 2013 - November 22, 2013
    SC'13
    Denver, CO
    United States


HPC in the Cloud Conferences & Events