JARVICE Quick Start Guide


General Information

Browser Requirements

JARVICE requires Internet Explorer 10 and 11 on Windows, as well as the latest versions of Chrome and Firefox on all platforms.  While other browsers may work, please use a supported web browser to ensure the best experience possible.

Signing up for Service

Please visit the JARVICE Platform Sign-up page to create your user account.  You will need to provide your full name and a valid email address to start the process.  JARVICE will send you a confirmation email to the address provided.  Click on the link in the email to complete the registration and create your account.

Logging into JARVICE

Once you’ve created your account, visit the JARVICE Platform Login page to log in to your dashboard and start using the platform.  If at any time you forget or would like to change your password, simply click the Forgot Password? link at the bottom to reset it.

Uploading and Downloading Data

Nimbix provides you with up to 1 terabyte (TB) of free data storage for your compute jobs in a service called drop.jarvice.com. You can upload and download your data at any time whether you are running jobs or not, via the Secure FTP protocol (SFTP) and or using our Nimbix File Manager over HTTPS. Please note, it’s best to use SFTP for large file transfers, i.e. anything over 100gig.

Using the Nimbix File Manager, to move data over HTTPS

In order to use the Nimbix File Manager, please follow the quick and easy steps below.

  • Login to the portal at https://platform.jarvice.com.
  • Click “Compute” in the top navigation bar.
  • Scroll down to and click “Nimbix File Manager”.
  • This will expand the application drop down. Click on “File Manager”.
  • This will take you to a “Task Builder” screen.  At this point unless instructed otherwise, please take all of the defaults, and click the green “Continue” button.
  • After you click the “Continue” button, this will bring you to a “Confirm job submission” screen.  Please click “Submit”.
  • After clicking “Submit”, you see a “Job submission response”. Please click “Ok”.
  • Once this is done, you’ll be returned to your Dashboard. After a few seconds, you’ll see a new job titled “Nimbix File Manager: filemanager”, please click on this next.
  • Once you’ve clicked on this, you’ll now want to click on the green “Connect” button.
  • A new browser window will appear, asking for a password. You’ll notice that user nimbix is already filled in. To get your password for the File Manager, click back to your Dashboard tab and click “Click to show” for your password.
  • Once you have your password, paste this back into the File Manager browser tab, and click the arrow pointing right.
  • At this point you should now see the content of your /data folder. At this point you can now drag and drop files and folder from your local machine to your /data, aka drop.jarvice.com.

Once you’re done moving data, you can go back to your Dashboard and click the “Shutdown” button, to stop the File Manager.

Using SFTP to move data

The popular (free) FileZilla client is recommended if you are using a Windows or Mac computer. Please be sure to download the client (from the above link) and not the server. If you are behind a corporate firewall, you may need to request OUTBOUND access to port 22 (TCP) from your IT department.

Your SFTP login is the same as the JARVICE login you created when you registered for service. Your SFTP password, however, is your API key, not the password you use to log into JARVICE regularly. To find your API key, log into JARVICE, click your user name at the top right hand corner, and click Account Settings from the drop down menu that appears. You will see a long string of hexadecimal digits in the “API Key” field. You can copy those to your clipboard and paste in the SFTP client password prompt. Be sure to copy/paste the digits only, without any leading or trailing white space. One you have your user id and API key ready, please point your favorite SFTP client to drop.jarvice.com. You’ll want to make sure in your client that you specify port 22, which is used by SFTP. You can also change your API key at any time by clicking Edit at the top of the Settings box and then clicking Regenerate Key.

For additional information, please see the related article, How do I transfer files to and from JARVICE?

Authorizing Other Users (Managing a Team)

If you would like to invite other users to run jobs on the Nimbix Cloud using your payment terms and application licenses, you can click on your account name at the top right hand corner, then Settings.  Click the Team link on the right.  From here you can invite users by clicking the Add button and entering their names and email addresses.  You can remove users at any time, but note that this does not stop jobs they are currently running.  If you need additional help with this, please contact Nimbix Support at any time.

Once team members complete their registration, you can see team billing statistics on the dashboard, and run either summary or itemized billing reports showing activity for the entire team at any time.

For additional information on team management, please refer to the Account, Teams and Billing section of our online help.


Ready to run Workflows

Selecting Workflows or Applications

Nimbix is constantly updating The JARVICE application catalog with new workflows and applications, both free and commercial.  Once you log into the portal, you can access this catalog by clicking Compute at the very top of the page next to Dashboard.  Once there, you can sort by application category as well as applications that require leased licenses versus ones you can run on demand.  For licensed applications, you should contact Nimbix Support to connect your license server or key to your account.

Clicking on an application will expand a menu of “commands”.  Commands typically correspond to specific workflows.  Once you click on the command you want to run, you’ll be brought to the Task Builder.  Here you will enter required and optional parameters in a workflow-specific context.  If the workflow requires data, you will be able to select input file(s) from your drop.jarvice.com account directly in the Task Builder.

Submitting Jobs

Once you finish entering your parameters, click the green Continue button at the bottom of the page.  This will bring up a confirmation dialog where JARVICE shows you what API call it will make to the cloud.  Click Submit to submit the job.  Once the submission completes, you will get a pop up window with some the job name and job number – click OK to dismiss it and return to the Dashboard.

Jobs immediately enter a Submitted state.  This means the platform accepted the job submission and is in the process of allocating the appropriate resources to it.  If the resources are not immediately available, the job will queue (remain in the Submitted state) until the resources become available *.  Billing does not start until the job moves to Processing state, at which point you are billing for compute time at the rate shown in the Task Builder when you constructed the workflow.  Nimbix bills by the fractional minute, so you are not billing for a complete hour if you run for less time than that.

* If you prefer not to have jobs queue and start automatically at a later date, you can click on the job and click the Abort button.

Connecting to, Monitoring, and Controlling Jobs

Once a job is running (in Processing state), you can simply click on the blue text link that describes the application and command you selected to expand the actions for it.  Click the Help button on the right for workflow-specific help.  If you see a green connect button, this will open the user interface for the workflow in your browser.  You can terminate jobs immediately with the Abort button, or shut them down gracefully with the Shutdown button.  Some workflows may display an Actions menu that has job control actions specific to the application running.  The Output button will show you the job “console”, which in the case of batch jobs is how you generally monitor progress.

At any time while the job is running, you can access drop.jarvice.com via SFTP (as described above) to access the data it is producing.


PushToCompute™/Custom Applications

You can create and deploy custom application images using PushToCompute. Please see the PushToCompute Work Flow Deployment Guide. This section is for developers looking to either implement or integrate custom applications not available as ready to run workflows in the JARVICE application catalog.  The assumption is that you are proficient in working with Linux and Linux applications from this point forward.  If you have a specific catalog application that you believe Nimbix should support for you, please contact Nimbix Support with details on that application.

Connecting Storage

Launching environments does not automatically connect the drop.jarvice.com storage to them.  You must do this explicitly by clicking the Storage subtab and selecting it from the list of vaults. Vaults are mounted in the environment on /data.

Advanced Block Storage

Nimbix also offers block storage both as single volumes and volume arrays.  Single volume block vaults can be encrypted with a customer-known key that Nimbix does not have access to.  Block arrays can be used for distributed filesystems such as HDFS, and can be grown both vertically (size per slice) and horizontally (number of slices – scales up and down automatically with machine scale when launching environments).  If you are interested in this technology, please contact Nimbix Support to request block storage.

Layout of The Nimbix Application Environment

/

This directory corresponds to the root filesystem and behaves the same way it would on a physical or virtual machine.  The nimbix user account has passwordless sudo access and you are free to install applications in any location on the filesystem.

/tmp

This directory allows for temporary storage and is automatically flushed at the end of each section.  Typically it provides up to 100GB of disk space.

/data

This directory mounts the user data vault, which can either be drop.jarvice.com or a block vault if you’ve requested one.  When building applications you should assume all user persistent data lives under /data.

/home/nimbix

This directory is the nimbix user account home directory, but is only persistent in non-ephemeral Staging environments.  Ephemeral or release environments automatically get a clean /home/nimbix when starting up.  You should not install any applications in /home/nimbix – instead, use it for compiling applications and then installing from their to their appropriate targets (e.g. in /usr or /usr/local).  From a security perspective, this also ensures that any SSH keys or private information is not available when running ephemeral environments of your image (e.g. security keys used for accessing GIT repositories, etc.).

/etc/JARVICE

This directory contains generated runtime information files and is entirely owned and controlled by the platform.  The nodes file provides a list of compute nodes used in the current environment.  The nimbix account has passwordless SSH trust between these nodes automatically.  The cores file provides a list of nodes repeated once for every core on each node (e.g. 16 copies of each node name if you launch on 16 core machine type), and is appropriate for use as a machine file argument for MPI applications.  You should also use it to calculate how many phyiscal cores are in the environment.  The line count of /etc/JARVICE/cores divided by the line count of /etc/JARVICE tells you how many physical cores an application can use.

/etc/NAE

This directory provides metadata to JARVICE front-ends such as help information, etc.  You can modify the files there to change what is displayed to users when clicking the Help button.  You can also create an about.html (or about.txt for plain text) that will then cause the portal to render an About button for end users.  These files are intended to be application specific, so JARVICE won’t modify them after you create an image.

Running Commands at Image Launch Time

The command you run should start in the AppDef.json with the full path to the executable you want to start.  You should not make any assumptions about PATH – e.g. if the executable is called hello and lives in /usr/local/bin, specify /usr/local/bin/hello at the start of the command.  You can pass additional arguments as you would on the shell when launching this command by just specifying them after the executable.  Be sure to use \’s to escape special characters as you would on the Linux shell.

The executable you specify in the command parameter runs as user nimbix.  If you need specific services started, such as sshd on CentOS, you must start these explicitly in your executable script, as command execution does not perform a full system boot up.  (Using passwordless sudo it is possible to run administrative commands such as service from inside your executable).

Once the command is running, you can monitor its standard output and standard error with the Output button for the running job on the Dashboard.  The environment automatically terminates when the command does, and if the command returns a non-zero value, the state of the completed job will be Completed with Error instead of Completed.

Adding Custom Applications to the Compute Catalog

Once you have a working image and would like to make it accessible either to other users publicly or yourself privately as an application, please contact Nimbix Support and one of our application engineers will help you complete this process.  You can also make business arrangements with Nimbix to charge license fees for your application workflows on a per hour basis.

 


The JARVICE API

In addition to submitting jobs from the web portal at platform.jarvice.com, it is also possible to do this via web service API.  The API also allows clients to access further job control, status, and information methods.  The API documentation is available directly on api.jarvice.com.


CUDA Developer Environments using Bitfusion Boost

Nimbix and Bitfusion have partnered to bring cost effective CUDA development environments to market.  You can find these machine types listed in the Launch tab.  If you launch and connect to the graphical environment on a Boost-enabled machine, you can execute CUDA applications directly from the command line as Bitfusion Boost is automatically set up in the environment. Please note that since there is no on-board GPU in the Bitfusion Boost environments, you will not be able to run nvidia-smi to query GPU information.

The Boost “server” component is built into the JARVICE platform and need not be managed as a separate machine environment.  All Boost licenses are also built into the JARVICE platform and orchestrated automatically.  The licensing fee is implicit to the hourly machine rate.  There is no need to contact Bitfusion in order to get a license or download binaries as Nimbix has has already licensed this software into the JARVICE platform.  Code developed in these environments may also be launched on higher end machine types, including K40 and K80 machines (in single or dual GPU configuration), for high performance testing and production workflows.

For more information about Bitfusion and the Boost technology, please visit bitfusion.io.


Getting Additional Help or Providing Feedback

For additional help, please contact Nimbix Support at any time.  Our team is standing by 24 hours per day, 7 days per week to assist you.

We are also delighted to hear your feedback on the quality of service, product features, and anything else you’d like to tell us.  Please do not hesitate to contact us at any time and we’ll gladly take all your comments into consideration.

Thank you for choosing the Nimbix Cloud, powered by JARVICE!