From GridWiki
Revision as of 23:58, 24 August 2012 by LindaLopez (talk | contribs) (minor updates)
Jump to: navigation, search

Grid Engine 6 FlexLM License Integration (Olesen Method)

  • This document was last updated: ----fx Tue May 4 17:20:50 BST 2010
  • Computational chemistry software from Schrödinger was extensively used during the creation and testing of this document and the methods it describes. It is difficult to write about FLEXlm license integration without having licensed applications onhand to test with. The authors of this document would like to acknowledge and thank Schrödinger for their generous donation of software and licenses.


Integrating license applications into Grid Engine systems is pretty easy if:

  • The application is unrestricted due to site-wide or enterprise licensing agreements
  • The application is node-locked to particular cluster nodes
  • The available license pool is larger than the number of job slots managed by Grid Engine
  • The license server and application is exclusive to the Grid Engine system (no external usage at all)

If you need to integrate a licensed application into a Grid Engine (aka N1GE) managed system, and any of the above conditions applies to your situation then consider yourself lucky as you will not need to use the methods described in this document. Node-locked applications can be handled via simple configuration of Grid Engine requestable resources and dedicated cluster license servers (where the cluster nodes are the only possible consumers of license tokens) can be easily handled via user requestable, consumable resources. Search the Grid Engine or N1GE documentation for the words highlighted in bold for specific implementation details.

This document is for people who need to handle multiple license servers scattered throughout an enterprise or instances where the Grid Engine cluster is not the sole consumer of license tokens. This document describes a new method of making the Grid Engine scheduler and resource allocation policy mechanisms aware of the ever changing license availibility data.

Readers are encouraged to follow and read the links located in the Primary References section. There is a significant amount of intro and background material contained in those links that is not duplicated here.


Mark Olesen, posting on the Grid Engine users list, made some very interesting comments about FlexLM license integration when Grid Engine load sensors are used for resource reporting. In particular, he proposed a method by which the entire load sensor process could be bypassed altogether in favor of methods that directly adjust the value of user requestable consumable resources within the Grid Engine complex.

Mark also mentioned that he was willing to share his code but that he did not have the time to handle user questions or any sort of support related duties. Chris Dagdigian volunteered to provide support via the http://gridengine.info site and the users@gridengine.sunsource.net mailing list.

Primary References

Additional Reference Material

The Proposed Methods

Problems With The Load Sensor Approach

An obvious problem with the load sensor approach is the delay associated with the load reports, as mentioned in the online documentation (see http://gridengine.sunsource.net/project/gridengine/howto/resource_management.html):

  Unfortunately, due to the loadsensor's delay, it can't be 100% excluded
  that batch jobs are dispatched and started although the license has been
  aquired by an interactive job.

The problem is actually much more serious than suggested by this warning! A race condition between a GridEngine job and an interactive job is less problematic than what actually occurs.

In the following examples, we'll examine how the licenses are managed with different approaches. For the sake of clarity, a new pseudo-variables internal_count and available have been introduced to reflect the current internal GridEngine state. The other variables - complex_values and load_values - are retrieved via qconf -se global.

The Pure Load Sensor Approach

Here the complex_values are left as NONE. The license availability is managed exclusively over the load sensor. This combination has the interesting side-effect that the internal bookkeeping is not used.

Consider the following:

    all licenses are available 

  load_values      license=4
  complex_values   NONE
  (internal_count) NONE
  (available)      license=4

   launch X jobs, each with -l license=4

Since all nodes provide resource license=4 and there is no internal bookkeeping to track the consumption of the resource, all jobs attempt to start at the same scheduling interval. Only one job wins the race and others fail with licensing problems.

A Combined Internal and Load Sensor Approach

Here the complex_values are set to the number of licenses available. The GridEngine decides on availability based on complex_values minus (internal_count) or the load_values. The lowest value dictates the availability, as mentioned in the online documentation (see http://gridengine.sunsource.net/project/gridengine/howto/loadsensor.html):

  The lesser of the Consumable Resources or the load sensor
  value will be used to prevent license oversubscription.

Consider the following:

    all licenses are available 

  load_values      license=4
  complex_values   license=4
  (internal_count) NONE
  (available)      license=4

   launch two jobs, each with -l license=4:
... \n

How To Let Go of Insecurities 7 Steps To Build Your Confidence

Self-worth comes from one thing thinking that you are worthy. Wayne DyerIts okay to have insecurities, we all do and its crucial for us to observe and understand the impact these insecurities have on the quality of our lives.

[How To Let Go of Insecurities 7 Steps To Build Your Confidence]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

7 Reasons Why Not Making Mistakes Is The Biggest Mistake

The FEAR of being nothing, achieving nothing and becoming nothing should be way bigger than the fear of making mistakes.A life spent making mistakes is not only more honorable, but more useful than a life spent doing nothing. ~ George Bernard Shaw

[7 Reasons Why Not Making Mistakes Is The Biggest Mistake]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Servant Leadership: Helping People Come Alive

"Its a powerful perspective on work -- holding within it a value for collaboration, agency, creativity, and meaning. What if we all could see what we do in that way? What if our organizations supported us in holding that perspective, and to go one step further, how can we create institutions that release these core values? In his seminal 1970 essay 
[Servant Leadership: Helping People Come Alive]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Disney Brings "Cars" To Life With Cars Land

After five years in the making, Disney California Adventure is finally ready to rev up the engines on Cars Land. Disneys latest creation, based on the hit Pixar movie, brings the popular characters to life at Disney California Adventure.

[Disney Brings "Cars" To Life With Cars Land]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Love Everything, Be Attached To Nothing

As human beings we all want to be happy and free from misery we have learned that the key to happiness is inner peace. The greatest obstacles to inner peace are disturbing emotions such as anger, attachment, fear and suspicion, while love and compassion and a sense of universal responsibility are the sources of peace and happiness. Dalai Lama

[Love Everything, Be Attached To Nothing]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]