  Adaptive workloads can change on--the--fly the configuration of their jobs,
in terms of number of processes. In order to carry out these job
reconfigurations, we have designed a methodology which enables a job to
communicate with the resource manager and, through the runtime, to change its
number of MPI ranks. The collaboration between both the workload
manager---aware of the queue of jobs and the resource allocation---and the
parallel runtime---able to transparently handle the processes and the program
data---is crucial for our throughput-aware malleability methodology. Hence,
when a job triggers a reconfiguration, the resource manager will check the
cluster status and return an action: an expansion, if there are spare
resources; a shrink, if queued jobs can be initiated; or none, if no change can
improve the global productivity. In this paper, we describe the internals of
our framework and how it is capable of reducing the global workload completion
time along with providing a smarter usage of the underlying resources. For this
purpose, we present a thorough study of the adaptive workloads processing by
showing the detailed behavior of our framework in representative experiments
and the low overhead that our reconfiguration involves.
