Licenses Float!
JMSL is an extremely powerful and widely used numerical computing library. Today I adapted one of the demo applications bundled with JMSL as a JIVA application. I’ve never used JMSL before and this was my first task application written to run on a JIVA Network (I’ve been working on other aspects of JIVA development for awhile though). I wanted to get an idea of how easy it would be for our users to adapt preexisting applications to JIVA applications. The answer (fortunately) is that it was pretty easy.
The app in question was a financial risk analysis application that was based on a monte carlo simulation. It’s bundled with the JMSL demo (available here).
JMSL uses a FlexLM floating license management server which is an interesting licensing scheme for grid computing. This means that the licenses can be passed to whatever node in the grid is currently computing. Fortunately support for this kind of licensing is built into JIVA so setting that up was only a matter of entering the FlexLM Server IP into the JIVA configuration editor.
The risk management app used a Swing GUI for input and output. Modifying the program was simply a matter of decoupling the gui interface and turning it into data file based input and output. Doing this was pretty quick (it took about half an hour). All that remained after that was modifying the main class to implement the task interface from the JIVA SDK which took another half hour.
This is reassuring because it helps confirm that the work we’ve been doing to make JIVA really easy to use has been paying off.
-Nathan
Filed under: JIVA, JIVA (Technical) by nathan
Interesting article. I’d just like to follow up that often when you have many nodes using licenses it can be hard to keep track of how high the license usage really is. This is a quite common problem that you have to take into account. It’s possible to monitor the license usage with something like License Statistics though ( http://www.x-formation.com/license_statistics ). This is a good lowcost solution to see how licenses are used. Besides one of it’s features are that you can detect hung licenses. This is naturally useful to track how long jobs run on specific nodes on average and implement a filter for jobs going over the specific rate to warn sys admin etc.