Feature overview for developers
The following steps are common to almost all Qarnot computing applications.
- Find an already existing Docker container or prepare a new one with your application binaries.
- Upload the resources to be processed to a Qarnot bucket. You can upload your files programmatically with the REST API or by using the console.
- Create a task programmatically with the REST API. To create a task, you need to specify a task profile an the desired number of instances.
- Attach your bucket and your Docker container to your task.
- Submit your task.
- Monitor the progress and retrieve the task output.
Qarnot computing components
The following elements are common in the Qarnot computing environment:
Create your Qarnot account for free now if you don't already have one.
The authentication token is an hexadecimal string that grants you access to the REST API
It can be found in the console by clicking on the top right buddy icon > API Token.
A compute node is a bare metal server embedded inside Qarnot's digital heaters or its industrial version.
CPU are high-end Intel® Core™ i7 (4c/8t) with a frequency of 3.5 GHz or more and 16 GB of RAM.
The entire CPU is reservered for your task, CPUs are not shared between customers.
Compute nodes are diskless, when your task arrives on a compute node, the entire node is rebooted. So your task is guaranteed to start in a clean and safe environment.
As the compute nodes are rebooted between different tasks, no data leakage is possible on the compute node.
The frequency could be adjusted if a task is running for a long time on a digital heater that goes beyond the target temperature.
For practical raisons, the deployment of application is done by using Docker container which limits the supported operating system to the Linux environment. If you need to run Microsoft Windows applications, you can contact us.
The features included in your batch environment depends on the chosen profile.
Docker is an innovative technology to easily package, deploy and run your applications. It is the world’s leading software containerization platform. Moreover a wide variety of images already exists and are freely available on Docker Hub. And most of them are already Qarnot ready!
Profiles define the way your task behaves, and are configured by constants. We provide some profiles to let you run your own Docker images, or to use our Blender application. Each of those profiles come with a set of constants to configure them, for instance to select the appropriate Docker image to run, or the Blender file to render.
Depending on the profile, there can be several flavors with different characteristics such as Internet access or inbound connections. See the detailed profiles section for more information.
Buckets are used to store the files you want to process and your task results.
Your application's working directory,
$TASK_PATH, contains the resources, and anything
you write into it will be available as a result on our REST Api.
Find more information about buckets in the buckets section.
A task describes the computations to perform on compute nodes. A task has the following properties:
- A profile
- Zero or more constants
- Zero or more resource buckets
- Zero or one result bucket
- A number of instances or a specific range
- A status
You can find more information about tasks, their lifecycle, and how to monitor them in the tasks section, about tasks with multiple instances in ranges section, and about the execution environment and directories layout in the environment section.
- Walk through the samples.