Our company has set up the Parabricks testing environment and is ready to discuss purchasing licenses. After some survey, we have 3 questions to clarify.
Q1: What does “license server” mean?
Our hardware (for example):
- on-premise (private cloud)
super node (T4x8, 64vCPU, RAN:720GB) x 4
Suppose we want to buy licenses for T4x8 (Total: 32). The option for the licenses should be: GPU Based License + Flexera based. Is this correct?
And about Flexera based
To be able to download NVIDIA Parabricks software licenses, you must create at least one license server on the NVIDIA Licensing Portal and allocate licenses in your entitlements to the server.
Does “license server” mean our local node(s) or a virtual group name, or something else?
Q2: As stated above, Is there more information about “license server”?
Q3: Can pbrun verify the license without accessing to the Internet when running the
pbrun germline (for example)?
We have 2 different license types.
Node-lock - which works similar to the eval license. You provide the GPU UUIDs to us and we create a specific license for those GPUs. If you have 8 GPUs, the license would be built exactly to those 8 GPUs and cannot be used anywhere else.
Flexera License Server - This offers more flexibility as the licenses are not directly tied to GPUs. If you buy 8 licenses, you add them to the Flexera LS, and they can be ‘borrowed’ by Parabricks and then returned after your job finishes. So you can share those 8 licenses amongst multiple people using Parabricks.
‘license server’ gets made in the NVIDIA License Portal and then you also create a Flexera License Server. This is an application you download and can put on any machine, as long as you can access it from the machine you’re running Parabricks on. Can be the same machine, can be a VM, etc.
Q2: Here is a link to our most detailed license server documentation:
Q3: If you have node-lock license, you don’t need the internet as it is baked into the install. For Flexera LS, you need to be able to access the LS over the network or on the same machine.
We have more questions.
Q4: For Node-lock, if we buy a license for 8 GPUs, and then suppose one of these GPUs doesn’t work and we buy a new GPU to replace it, can we get an updated license?
Q5: If pbrun crashes, such as OOM (killed by OOMKiller, sometimes occurs in shared nodes), can pbrun actively return the “borrowed flag”? If not, Can the license server get the crash signal and get the “borrowed flag” back?
Q6: How can client sides know where the license server is?
Flexera License, Debian Package — Clara Parabricks v3.7 documentation
where this document seems unclear.
For the server side (the license server):
# copy the license.bin to the installation folder
$ sudo cp license.bin /usr/local/parabricks/license.bin
For the client sides (super node x 4):
# no license.bin required (?)
# just tell a client where the flexera-server is (?)
$ sudo echo "flexera-server:<SERVER_IP>" >> /usr/local/parabricks/config.txt
Are these configurations correct?
Q7: I have an account “email@example.com”, but I couldnot log in to “NVIDIA Licensing Portal” (NVIDIA License Portal). Is there any limit to login the portal? (Currently, my Parabricks free trial has not expired.)
Q8: Are there any trials for Flexera License Server? So we can evaluate the Flexera-License case in super nodes.
Q4: Yes, we can create a new license file for you.
Q5: If the licenses don’t get returned we can help you return them manually or you can delete the database and re-upload the license.bin file giving you a fresh license server:
Q6: I’m not sure I understand what you’re asking, can you clarify? The License Server is wherever you installed it. So if you installed it on a machine with IP address 10.10.10.10 you would put “flexera-server:10.10.10.10:7070” in the command.
When you run a Parabricks job, it will pull licenses from the license server you specify.
Q7: When you purchase Parabricks you will get instructions on registering and creating an enterprise account. Trial users don’t have an enterprise account with NVIDIA License Portal access.
Q8: Unfortunately we don’t have trials with Flexera LS
For Q6, I give a clearer description as follows.
Suppose we have the following network information (IP info):
A: License Server:
192.168.1.2 (same as License Server, i.e. in the same machine)
- A is the server side (A: Apache Tomcat web server)
- B-to-E are the client sides that can execute the
How do we set up the relationship between the server side and the client sides?
For A (server side),
#Copy the license file generated from the flexera server setup process to installation folder.
$ sudo cp license.bin /usr/local/parabricks/license.bin
or upload the
license.bin via the web UI:
5.1. Installing a License
For B-E (client sides),
# tell the client where the Flexera server is
$ sudo echo "flexera-server:192.168.1.2:7070" >> /usr/local/parabricks/config.txt
Are the above configurations correct?
Then, suppose a user executes the
pbrun command on super-node4 (IP:
192.168.1.5), the pbrun program will automatically pull the
license.bin file from the Flexera server (IP:
192.168.1.2) and place it in
Thank you so much for answering so many questions.
You always need to upload the license.bin file to the web UI. Everything else looks good though.
Also, note, this is only for Debian install. For docker and singularity, you point it to the flexera server in the install and it automatically configures that config.txt file for you.
It doesn’t pull the license.bin file from the web server and place it anywhere. You put the license.bin file on the flexera server, and then this web app monitors how many licenses you are using. When you run Parabricks, it borrows the licenses, and then returns them when the job is finished.
Does it mean, users only pay the license fee when they are actually running pbrun? Or the fee is charged no matter they use it or not, since day 1?
The fee is charged no matter they use it or not, since day 1?
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.