
5
Resource Management
5.1
Manage Resources on Urika-GX
Mesos is used as the resource manager in the default service mode, whereas Kubernetes works as the resource
manager in the secure services mode.
The resource management model of Mesos is different from traditional HPC schedulers. With traditional HPC
schedulers, jobs request resources and the scheduler decides when to schedule and execute the job. Mesos on
the other hand offers resources to frameworks that are registered with it. It is up to the framework scheduler to
decide whether to accept or reject its resources. If framework rejects the offer, Mesos will continue to make new
offers based on resource availability. Framework refers to implementation of different computing paradigms such
as Spark, Hadoop, CGE etc.
For example, a user submits a spark job that requests 1000 cores to run. Spark registers as a framework with
Mesos. Mesos offers its available resources to Spark. If Mesos offers 800 cores, Spark will either choose to
accept the resources or reject it. If Spark accepts the resource offer, the job will be scheduled on the cluster. If it
rejects the offer, Mesos will continue to make new offers.
Mesos Frameworks on Urika-GX
When users submit jobs to a Mesos cluster, frameworks register with Mesos. Mesos offers resources to registered
frameworks. Frameworks can either choose to accept or reject the resource offer from Mesos. If the resource
offer satisfies the resource requirements for a job, they accept the resources and schedule the jobs on the slaves.
If the resource offer does not satisfy the resource requirements, frameworks can reject them. Frameworks will still
be registered with Mesos. Mesos will update the resources it has at regular intervals (when an existing framework
finishes running its job and releases the resources or when some other frameworks reject the resources) and
continues to offer the resources to registered frameworks.
Each spark job is registered as a separate framework with Mesos. For each spark job that has been submitted,
Mesos makes separate resource offers.
Marathon is registered as a single framework with Mesos. Marathon provides a mechanism to launch non-
framework applications to run under Mesos. Marathon enables long-running services under Mesos such as
databases, streaming engines etc. Cray has developed:
●
the
mrun
command, which sets up resources for CGE and HPC jobs. For more information, see the
mrun
man page.
●
scripts for setting up resources for YARN
These are submitted as applications to Marathon. Marathon negotiates for resources from Mesos and they get
resources from Marathon.
Resource Management
S3016
124