This project implements a dynamic resource allocator for experiments. It allows you to define experiments with computational speed and memory preferences and then allocates resources based on those preferences and available resources.
The project is organized into the following packages:
bhos.ndrrr
: Contains the main classes and entry point of the application.bhos.ndrrr.model
: Contains theExperiment
andResource
classes representing experiments and resources, respectively.bhos.ndrrr.util
: Contains utility classes used in the project.
Experiment
: Represents an experiment with a name, computation speed preference, memory preference, and allocated resources.Resource
: Represents the available resources with memory and computation speed.ResourceAllocator
: Allocates resources to experiments based on their preferences.
- Create instances of experiments with their computation speed and memory preferences.
- Define the available resources using the
Resource
class. - Create a
ResourceAllocator
instance with a list of experiments and the available resources. - Call the
allocateResources
method to allocate resources to experiments. - Access the allocated resources for each experiment through the returned map.