Package org.apache.sysds.resource.enumeration

## Class EnumerationUtils.InstanceSearchSpace

- java.lang.Object
- - java.util.AbstractMap<K,​V>
  - - java.util.TreeMap<Long,​TreeMap<Integer,​LinkedList<CloudInstance>>>
    - - org.apache.sysds.resource.enumeration.EnumerationUtils.InstanceSearchSpace

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Map<Long,​TreeMap<Integer,​LinkedList<CloudInstance>>>`, `NavigableMap<Long,​TreeMap<Integer,​LinkedList<CloudInstance>>>`, `SortedMap<Long,​TreeMap<Integer,​LinkedList<CloudInstance>>>`

Enclosing class:
  EnumerationUtils

    public static class EnumerationUtils.InstanceSearchSpace
    extends TreeMap<Long,​TreeMap<Integer,​LinkedList<CloudInstance>>>

Data structure representing a projected search space for VM instances as node's memory mapped to further maps with the node's numbers of cores for the given memory mapped to a list of unique object of type `CloudInstance` which have this corresponding characteristics (memory and cores). The higher layer keep the memory since is more significant for the program compilation. The lower map level contains the different options for number of core for the memory that this map data structure is being mapped to. The last layer of LinkedLists represents the unique VM instances in lists since the memory - cores combinations is often not unique. The `CloudInstance` objects are unique over the whole set of lists within this lowest level of the search space.
This representation allows compact storing of VM instance characteristics relevant for program compilation while still keeping a reference to the object carrying the whole instance information, relevant for cost estimation.
`TreeMap` data structures are used as building blocks for the complex search space structure to ensure ascending order of the instance characteristics - memory and number of cores.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class java.util.AbstractMap

`AbstractMap.SimpleEntry<K extends Object,​V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object,​V extends Object>`

### Constructor Summary

Constructors
`InstanceSearchSpace()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `initSpace​(HashMap<String,​CloudInstance> instances)`

### Methods inherited from class java.util.TreeMap

`ceilingEntry, ceilingKey, clear, clone, comparator, containsKey, containsValue, descendingKeySet, descendingMap, entrySet, firstEntry, firstKey, floorEntry, floorKey, forEach, get, headMap, headMap, higherEntry, higherKey, keySet, lastEntry, lastKey, lowerEntry, lowerKey, navigableKeySet, pollFirstEntry, pollLastEntry, put, putAll, remove, replace, replace, replaceAll, size, subMap, subMap, tailMap, tailMap, values`

### Methods inherited from class java.util.AbstractMap

`equals, hashCode, isEmpty, toString`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.Map

`compute, computeIfAbsent, computeIfPresent, equals, getOrDefault, hashCode, isEmpty, merge, putIfAbsent, remove`

### Constructor Detail

#### InstanceSearchSpace

    public InstanceSearchSpace()

### Method Detail

#### initSpace

    public void initSpace​(HashMap<String,​CloudInstance> instances)