Proto commits in camsas/firmament

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:ab3a874
Author:Ionel Gog
Committer:Ionel Gog

Replaced MachinePerfSample with ResourceStats. Unified Heapster ResourceStats and MachinePerfSample protobuf files and uniformized all memory/network fields to be KB. Affected modules: base engine messages platforms scheduling sim Change-Id: I60abe631020317c651652b42034c60e4bb1a88b5

The documentation is generated from this commit.

Commit:2973b1e
Author:Ionel Gog

Updated Task/ResourceStats types to match Heapster's types. Affected modules: base scheduling Change-Id: Idef3ad39d7fe9b908a00196f971827353ba017e6

Commit:d8f4e5d
Author:Ionel Gog

Extended scheduler service with task update support. This change exposes a RPC method that can be called to update a task's resource requirements, priority, labels and label selectors. Affected modules: scheduling Change-Id: Ia06ea5244377a3d7be917dac1724bc35198f1c44

Commit:94206ee
Author:Ionel Gog

Extended scheduler service with node update support. Previously, there was no way to update a node once it has been added to the Firmament scheduler. This change adds a simple NodeUpdate RPC that can be used to update the a node. It currently only supports node label updates. Affected modules: misc scheduling/firmament Change-Id: Id641929c32a49b527d43ebe8e15f55b2b79e97c2

Commit:be503b1
Author:Ionel Gog

Replaced TaskPerfStatisticsSample with TaskStats. TaskPerfStatisticsSample were not used in any cost model. This change unifies the two task statistics protobuf into a single one. This protobuf is either partially populated by TaskLib or fully populated by Heapster via cAdvisor. Affected modules: base engine messages scheduling Change-Id: I690458565431809d71af85b7ebe16a3bb1a2402b

Commit:851cb83
Author:Ionel Gog

Added hostname to TastStats message. Affected modules: scheduling Change-Id: I8229ac53aa88a784009a116dcceae31771b223bf

Commit:780217f
Author:Ionel Gog
Committer:Ionel Gog

Added fields to ResourceStats and TaskStats messages. Affected modules: scheduling Change-Id: Ic556ebe158d7f0ef409e65359760deaaa38b0d51

Commit:a013f2e
Author:Ionel Gog
Committer:Ionel Gog

Added Firmament GRPC scheduler service. This change exposes the Firmament service as a GRPC service. External cluster managers can use this service to interact with Firmament and get scheduling placements. Affected modules: misc scheduling Change-Id: I1dd7a5ef74294c2fd2640bcbf62b05d50a2d8a08

Commit:06b4570
Author:Ionel Gog
Committer:Ionel Gog

Added support for Kubernetes-style labels. This change adds support for Kubernetes-style labels as described here: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ Affected modules: base scheduling Change-Id: I22e2dd1e472699b41260cb6f256a294465353406

Commit:201aee9
Author:Ionel Corneliu Gog
Committer:Gerrit Code Review

Merge "Added Apache boilerplate notice to source files."

Commit:cdab929
Author:Ionel Gog
Committer:Ionel Gog

Added Apache boilerplate notice to source files. Change-Id: I069573759cb77aa129ee347492f7bce4a5622bbb

Commit:e76af82
Author:Malte Schwarzkopf

Make binary field in task descriptor a string. The field does not need to be type "bytes". The change has no substantial effect other than cleanup, since byte and string fields are treated the same in the Python and C++ protobuf generated code. Affected modules: base Change-Id: Ia9fa83c72e31e6d1f8be19535b9db30dfeaf8bf0

Commit:a1aab9d
Author:Ionel Gog

Removed unused messages protobuf. This change removes several protobuf messages that were not used. Affected modules: engine messages storage Change-Id: Ib1a726561838632a8aa74a674682883ec10c150b

Commit:d7e7de7
Author:Malte Schwarzkopf

Remove unused DataObjectName, TaskInstanceProfile. This change removes two unused protobuf files. Affected modules: base Change-Id: Ib806efc71bfa67611cb33d2cb7bf0d5b7045d26f

Commit:ab1e9b7
Author:Ionel Gog
Committer:Malte Schwarzkopf

Removed unused DIOS protobufs. This changes removes unused DIOS protobufs together with coordinator's code that was handling some of them. Affected modules: engine messages Change-Id: I487911df380884d2b5a901152fe3245f1278d2d5

Commit:c247b27
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Port code to protobuf3 APIs. This change ports all C++ code to the new protobuf3 interfaces. They are mostly the same as in protobuf2, but there are two differences that had breaking effects on our code: 1) Singular numeric fields no longer expose has_<field>() method, but are always initialized to the default value (zero). This requires us to compare against the default zero value instead of checking whether an optional field exists (all fields are optional in protobuf3). 2) Singular string fields likewise no longer expose a has_<field>() method either, and are instead initialized to the empty string. This requires us to change all checks for these fields to compare against the empty string instead. Note that this requires the condition to be negated: previously, we checked for has_<field>() being TRUE, and now we need to check for <field>().empty() being FALSE (and vice versa). The good news is that these changes tend to simplify our code: in several places, conditionals can be omitted because default initialization values have the right effect (e.g., with numeric fields being set to zero). Affected modules: base engine misc scheduling scheduling/flow sim storage Change-Id: I291e748f869d5a05c0f98c205b8b1fd9bf958261

Commit:1e56f78
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Move protocol buffers to protobuf3 syntax. The new version of Protocol Buffers makes backwards-incompatible changes to the protobuf syntax. This change ports all of our protobufs to the new syntax, but does not (yet) fix the Firmament C++ code to use the correct new protobuf3 APIs. Affected modules: base messages scheduling sim Change-Id: Icbcb6e9bec24a3cd895d6747177dfa4890419a65

Commit:58807dc
Author:Malte Schwarzkopf

Remove unused protobuf imports. Affected modules: base messages Change-Id: I3060108f1c93e5bdf5be28f77a457f4ddee66d45

Commit:4a3cbce
Author:Ionel Gog
Committer:Ionel Gog

Updated net stats usage to differentiate between rx and tx. Previously, we were using a single value for network bandwidth. This diff changes how we account for network usage by using two values: one for network rx and another one for network tx. The diff also appropriately updated the CoCo and Net cost models. Affected modules: scripts src/base src/engine src/platforms src/scheduling/flow src/sim src/webui Change-Id: I30c52be480df35260d16c01101273db85514f435

Commit:60ae346
Author:Ionel Gog
Committer:Ionel Gog

Added scheduling method that returns deltas. Affected modules: scheduling scheduling/flow scheduling/simple Change-Id: Iec6466084d4b83099a63aa838b0beeed60cb8b95

Commit:bfb9d37
Author:Ionel Gog
Committer:Ionel Gog

Pass the priority and scheduling fields to the simulator. Affected modules: sim Change-Id: Ie7fd70443956215dbf45ff8d283badf80e34dbfe

Commit:7fdf1b9
Author:Ionel Gog
Committer:Ionel Corneliu Gog

Fixed QuincyCostModel's cost to the unscheduled aggregator. The previous implementation was only considering the total time spent unscheduled before previous task runs. However, for non-repeating tasks this would always be 0. The change updates the code to include the unscheduled time of the current run as well. NOTE: The change resets the submit time after every task eviction. This may lead to some time stats having negative values in the UI. Moreover, the change adds code to print the number of preference arcs to racks and machines. Affected modules: base engine/executors scheduling/flow Change-Id: Ie507e5e6d3b4d5626e40ed6a4de2bb8ecba97923

Commit:178179e
Author:Ionel Gog
Committer:Ionel Gog

Removed legacy actioned field from scheduling deltas. This field is not useful in our current design. We do not have to track if we've actioned on a scheduling event because we currently handle all event types. The deleted code was slowing down the scheduler 3x. Affected modules: scheduling/flow Change-Id: I30aaf9f52eaa7f8b260a7d19d8f09ef841eff0bd

Commit:5d7f4e1
Author:Ionel Gog
Committer:Ionel Gog

Added support for multiple tasks running on the same PU. Previously, we could only run one task on a PU. This diff removes that limitation with the help of the following additions: 1) For each PU resource descriptor we set the num_running_tasks_below field to a FLAG value rather than setting it to 1. 2) We also set the capacity from the PU to the sink the the same flag value. 3) We replaced ResourceDescriptor's current_running_task with a repeated current_running_tasks field. 4) We changed the logic in which we generate preemption deltas to work with the repeated field. The old logic would have required us to constantly remove from the repeated field. However, this would have been inefficient because repeated fields do not have any remove(element) method. We now create all the preemption deltas and clear the current_running_tasks field before we generate other kinds of deltas. While we generate these other deltas we make sure to repopulate current_running_tasks with the task that haven't been moved. Affected modules: base scheduling scheduling/flow Change-Id: I77faffc746cab7e9d1526eccd221dac17c02060f

Commit:a87f72d
Author:Ionel Gog
Committer:Ionel Gog

Compute total unscheduled and run time for every task. Quincy cost model requires access to the total run and unscheduled time of a task. This change adds total_run_time and total_unscheduled_time fields to the task descriptor. Moreover, the change makes sure the fields are updated when the state of a task changes. Affected modules: base engine misc scheduling/flow sim Change-Id: Ifc466b78ccae12a9e416b9d4636116b98a0ee1e1

Commit:fedda68
Author:Ionel Gog
Committer:Ionel Gog

Moved NodeBindingToSchedulingDelta from SolverDispatcher to FlowGraphManager. NodeBindingToSchedulingDelta was previously located in SolverDispatcher despite not accessing any of SolverDispatcher's field. Moreover, the method requires access to the FlowGraph. This change moves the method to the FlowGraphManager. In order to be able to do that, I had to change FlowGraphNodes to store TaskDescriptors rather than TaskID_ts. Affected modules: scheduling scheduling/flow Change-Id: I647a60837da0ed27c0bfdac478cef1c661f9dc91

Commit:ae5a521
Author:Ionel Gog
Committer:Ionel Gog

Fixed EquivClassToResourceNode to return the correct capacity type. EquivClassToResourceNode and TaskFitCount were returning the capacity as an int64_t despite the capacity's type being uint64_t. Moreover, TaskFitCount was initializing the number of tasks that fit to MAX_INT64 which would cause the solver to overflow because several arcs with max capacity can point to a node. This change makes sure that FlowGraphManager doesn't overwrite the return we get from EquivClassToResourceNode. Previously, FlowGraphManager would set the capacity to the number of tasks slots when EquivClassToResourceNode was returning a negative capacity. This is dangerous to do because it can change the behaviour of some cost models. The cost models should return the correct capacity. Lastly, the change moves the logic that computes the number of tasks that fit into a resource subtree to the cost models. Affected modules: scheduling/flow scheduling/flow/sim Change-Id: If71d453fe8e1d6a8b779400d3eebbb0eb740954f

Commit:a93f206
Author:Ionel Gog

Removed unused flow_node_type.proto. Affected modules: scheduling/flow Change-Id: I9a8aad57a21992033968f2728091a502fcd360b9

Commit:57eb226
Author:Ionel Gog
Committer:Ionel Gog

Updated simulator and CoCo to correctly handle resource request. This change updates to correctly set the resource requests in the simulator. Moreover, the change makes sure that CoCo handles well tasks that request 0 CPUs. Such tasks exist in the Google trace. Affected modules: base scheduling/flow sim Change-Id: I97c45c38e04cfcc1fb762186afc154940ba46e7f

Commit:d7f843b
Author:Ionel Gog
Committer:Ionel Corneliu Gog

Updated TraceGenerator to print the machine ids for scheduled tasks. Previously, we weren't printing the machine_id field in the task_events table. This change, adds functionality so TraceGenerator can print the machine_id for the TASK_SCHEDULED events. Moreover, the change removes the hack of passing trace_machine_id via the resource's friendly name. Affected modules: base misc scheduling/flow sim Change-Id: I0116bbf3c35af2308f563fddd3e7122e043e2173

Commit:fc5f125
Author:Ionel Gog
Committer:Ionel Corneliu Gog

Added trace job and task id fields to TaskDescriptor. In this change I've added task and job trace id fields to the TaskDescriptor protobuf. This allowed us to get rid of the hack we were previously using to pass trace ids to the TraceGenerator. Affected modules: base misc sim Change-Id: I76a5fefb7619eecc5250377d27ca40729a663e31

Commit:8117f10
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Remove deprecated PlatformID argument. The constructors for Node and Coordinator used to take an argument indicating the current platform ID. We never used this for anything and deprecated it a while ago; I've removed all references to it from the code base. Change-Id: I768c2ddea5bf6225cea7cc6c11b93acebeea4d5d

Commit:b511c0e
Author:Ionel Gog

Removed deprecated Ensemble code. Affected modules: base misc Change-Id: Ie9b750f6d76a87441e008633decf62a699284db5

Commit:e7c2828
Author:Ionel Gog
Committer:Gerrit Code Review

Merge "Removed unused SchedulingParameters protobuf."

Commit:9dd9075
Author:Ionel Gog

Removed old simulator and moved new one to src/sim. This change removes the old simulator and moves the code of the new simulator from sim/trace-extract to sim. Affected modules: engine scheduling/flow sim/dfs sim Change-Id: If4482770ff8d00f502a0bc180b62b3236d4ef83e

Commit:349d191
Author:Ionel Gog
Committer:Ionel Gog

Refactored google_trace_bridge to use the scheduler_interface. This change refactors the simulator to make it compatible with different types of schedulers and cost models. Affected modules: engine schedulng scheduling/flow scheduling/simple sim/trace-extract Change-Id: Ibddd4d8f5771658da566df00b05df2e20c04a8c9

Commit:b54c000
Author:Ionel Gog

Removed unused SchedulingParameters protobuf. This change removes the deprecated SchedulingParameters protbuf. These parameters are a property of the cost model and not the flow scheduler. Hence, they should not be passed and stored in the FlowScheduler. Affected modules: engine scheduling/flow Change-Id: Ifc6df1b731c347ea903f8f678b8c61517f38f531

Commit:1add1dd
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Add initial support for resource reservations. This change introduces the infrastructure necessary to support resource reservations. However, they won't work quite yet: code to set and propagate the reservation will be pushed in a separate change. The current implementation of reservations is *always strict*: in other words, a task will never be placed in a location where the resource reservation is not satisfied in all dimensions. In principle, however, the code is set up to support non-strict fit (opportunistic overcommit) and partial fit. Affected modules: base scheduling/flow Change-Id: If503ae17daa51129d45a61ceb0c84b958d500237

Commit:ab5f0a7
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Correctly propagate and assign interference scores. This change completes the CoCo cost model implementation by propagating the interference score vectors (now represented by the CoCoInterferenceScores protobuf) through the topology and by assigning the interference score on the TEC -> resource aggregate arc as the vector's element in the incoming task type dimension. (In other words, the cost is the penalty for running a task of this type under this resource aggregate). When propagating the interference vector, we divide by the number of subordinate resources at each branching point in order to keep the cost within (0, omega_). However, the division only takes place when using the accumulated value *at the next level*, since we don't know whether we have accumulated to the total before then. Affected modules: base scheduling/flow Change-Id: I064bfb37d0e0944f5b5ff82a494b5f01d18c989f

Commit:3c51ef4
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Track machine resource capacities and use in CoCo. This change adds several features related to tracking overall resource capacity of a machine: 1. We automatically read resource capacities for CPU cores, RAM and network bandwidth from procfs and sysfs at coordinator startup, and store them in the machine resource descriptor's resource_capacity field. 2. We calculate available resources in the CoCo cost model using the known load information from the KB and the extracted capacities. The change also adds a more generic unit conversion header. Affected modules: base engine platforms/unix scheduling/flow Change-Id: I76e2c61f74823de4235765991847373e70a60bc8

Commit:9fcbc7b
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Propagate interference scores across topology. This change implements the CoCo cost model's propagation of interference scores from the tasks (at the leaves) through the resource topology. Compared to the written description, a number of bugs have been fixed: 1) The scale factor's directionalty is now correct (more idle cores = lower scale factor = lower cost). 2) The impact of a particular leaf's score *decays* through the topology, as the formula calculates, for vertex u with children v \in V: cost(u) = ( e^( (t-i) / t) * \sum_v( cost(v) / |V| ) ) - \sum_v( cost(v) / |V| ) This leaves only the cost execess caused by non-idle leaves, with an impact that is proportional to the fraction of occupied leaves, but which decays in magnitude (although costs are, of course, summed all the way to the leaves when solving the optimisation). In order to make this work, we now track both the number of occupied leaves below a resource and the total number of leaves below it via the resource statistics mechanism (similar to how the Octopus cost model works). Affected modules: base engine scheduling/flow Change-Id: I5af001d518176b1275b7e1c32936ed68e613161a

Commit:5847b83
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Resource-fitting admission control for CoCo cost model. This change adds multi-dimensional resource fitting admission control to the CoCo cost model (as per cost model description). Arcs are added between TECs and maximally aggregated subtrees of the resource topology. To detect such trees, a partial BFS of the resource topology is completed for each TEC. However, the BFS skips subtrees where tasks from the TEC definitely do or do not fit, and only explores until either of those cases is hit. This means that while it is O(N) in the topology size in principle, it's actually much faster in practice (i.e., << O(N)). This is a large change that brings in significant new code, including resource vector comparators, CoCo's statistics Prepare-Gather-Update cycle and various others. Affected modules: scheduling/flow Change-Id: I640459e9e5b432f2844594dfe8d003fc7f32bc17

Commit:064aafc
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Add COORDINATOR node type and use it in FlowGraph. This change replaces the GLOBAL_AGGREGATOR flow node type (which we no longer use) with a COORDINATOR one. This is used to represent the resource corresponding to a coordinator in the flow graph; the CoCo cost model requires this (as the COORDINATOR -> MACHINE arcs contain machine-specific costs). Affected modules: scheduling/flow Change-Id: I893175be58351723f395f0aab27ab661a0550f81

Commit:b0e77c3
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Add statistics and initialise protobufs to zero. This change adds fields to track current disk I/O and network I/O bandwidth in the MachinePerfStatisticsSample. It also initialises fields' default values in relevant protocol buffers to zero, since they may otherwise contain uninitialised values in release mode. Affected modules: base Change-Id: Id66f13eee6d512777a43d8c4ef0e929a5548699b

Commit:d06ef07
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Add logic for preference arcs in CoCo cost model. This change brings a simple partial BFS traversal of the resource topology in order to identify maximally aggregated subtrees under which a task can definitely fit. Effectively, we perform a BFS and stop exploring a subtree once we discover that tasks from a TEC can definitely fit under *all* subordinate resources, or cannot ever fit under *any* subordinate resources. As part of this change, the now more generally used ResourceRequest protobuf was renamed to ResourceVector, and additional fields were added to the task descriptor. Affected modules: base scheduling/flow Change-Id: I23deb5498737d478edb692fb784a1f44ce6fd730

Commit:7f32263
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Implement Whare-MCs part of Whare-Map cost model. This change introduces support for the part of the Whare-Map cost model that implements the "Whare-MCs" strategy in the Mars and Tang 2013 ISCA paper: 1) preference arcs from TECs to preferable machines are added (number controlled by a command line flag), with the cost set to the cost of scheduling in the presence of the existing co-located tasks. 2) PsPI values are recorded for < <TEC, co-runners>, MEC> tuples in the xi_map_ (named after the cost model formula, Xi(c_t, L_m, c_m)). We also separately track best and worst-case values for Xi, since they're more specific than the Whare-M ones (Psi). Affected modules: base scheduling/flow Change-Id: I04545cf52d9b8751e04e86e68766d1c25a3edd17

Commit:97ca08c
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Correct insertion of remote tasks' final reports to parent coordinator. Before this change, the delivery of delegated tasks' final reports was implemented by adding a second submessage into the message informing the parent coordinator of the task completion (both TaskStateMessage and TaskFinalReport were present). However, since the TaskFinalReport part of the message was only processed *after* the task state change, the cost model's update functions were invoked before the report had been processed, and thus no report was linked in the TD yet. This commit adds an optional field for the report to the TaskStateMessage, allowing it to be processed alongside that. Affected modules: engine messages Change-Id: I90e02b2166a2378eecec5e28355b0b40d771a8f4

Commit:2941b39
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Implement Whare-M policy in WhareMap cost model. This change adds all necessary functionality to support the Whare-M cost model: when a task finishes, the psPI value (picoseconds per instruction, an inverse version of Whare-Map's instructions per second, IPS, since the flow network requires greater cost to correspond to worse placements) is stored under a mapping of the form <task equiv class, machine equiv class> -> [psPI val 0, ..., psPI val n] This requires a number of API changes in the cost model and in other parts of the system. Specifically, the TD now also stores copies of the scheduled resource and the task's final report (for easier reference from the cost model), which are stored by the EventDrivenScheduler base once a task has been placed and once it completes. There is more work to be done: the pspi_map_ contents in the WhareMap cost model are not currently used; this will follow in a separate change. Affected modules: base engine scheduling scheduling/flow Change-Id: I84bb6829f79443495e267e038c9d9b5d8fa9365e

Commit:6a84109
Author:Malte Schwarzkopf
Committer:Malte Schwarzkopf

Implement Whare-M policy in WhareMap cost model. This change adds all necessary functionality to support the Whare-M cost model: when a task finishes, the psPI value (picoseconds per instruction, an inverse version of Whare-Map's instructions per second, IPS, since the flow network requires greater cost to correspond to worse placements) is stored under a mapping of the form <task equiv class, machine equiv class> -> [psPI val 0, ..., psPI val n] This requires a number of API changes in the cost model and in other parts of the system. Specifically, the TD now also stores copies of the scheduled resource and the task's final report (for easier reference from the cost model), which are stored by the EventDrivenScheduler base once a task has been placed and once it completes. There is more work to be done: the pspi_map_ contents in the WhareMap cost model are not currently used; this will follow in a separate change. Affected modules: base engine scheduling scheduling/flow Change-Id: I84bb6829f79443495e267e038c9d9b5d8fa9365e

Commit:c2be7f1
Author:Malte Schwarzkopf

[scheduling] Reorganize scheduling code, splitting it into a flow scheduler subdirectory and a simple scheduler subdirectory. This addresses the cyclic dependency that made unit test compilation fail (see #15). Issue: #15 Change-Id: Iab17f81d609ca9e367e08bb8ec92ad55b529390b

Commit:a9dc6e4
Author:Adam Gleave

[simulator] Add support for scheduling latency online mode

Commit:2b68a51
Author:Malte Schwarzkopf

[base] Track RTND with each ResourceStatus, and add resource load aggregation fields to RD.

Commit:a594f7d
Author:Malte Schwarzkopf

Merge branch 'master' of github.com:ms705/firmament Conflicts: src/base/resource_desc.proto src/scheduling/quincy_scheduler.cc

Commit:58ea660
Author:Malte Schwarzkopf

[base] Add load field to RD (needed for CoCo cost model).

Commit:0b804ce
Author:Ionel Gog

[scheduling] Work on Octopus cost model.

Commit:ef32e5c
Author:Ionel Gog

[scheduling] Tested resource statistics gatherer.

Commit:4beeb08
Author:Ionel Gog

[base] Added whare-map statistics protobuf.

Commit:7ffbfb4
Author:Malte Schwarzkopf

[base] Add resource request protobuf.

Commit:caf803b
Author:Malte Schwarzkopf

Merge branch 'master' of github.com:ms705/firmament

Commit:24deffc
Author:Malte Schwarzkopf

[base] Add priority and resource request fields to TD.

Commit:b835315
Author:Ionel Gog

[scheduling] Fixed remove machine.

Commit:79fc935
Author:Ionel Gog

[scheduling] Code to add the aggregators for WhareMap cost model.

Commit:ad53446
Author:Ionel Gog

Removed superfluous fields from resource_desc.proto.

Commit:36d3cc6
Author:Malte Schwarzkopf

[messages] Make naming of task_final_report field consistent.

Commit:271927e
Author:Malte Schwarzkopf

[base] Make ABORTED state consistent with TaskDescriptor.

Commit:14e8168
Author:Malte Schwarzkopf

[base] Add task finish time field to TDD.

Commit:dc7dfda
Author:Malte Schwarzkopf

[base] Make some fields optional.

Commit:29e4c49
Author:Malte Schwarzkopf

[scheduling] Add new handlers for job completion and fix a few inconsistencies between queue-based and flow schedulers.

Commit:dcab695
Author:Malte Schwarzkopf

[base] Add heartbeat time field to TD.

Commit:0ce5457
Author:Malte Schwarzkopf

[base] Add delegated_to field to task descriptor and seperate it from the heartbeat location field.

Commit:0455e7a
Author:Malte Schwarzkopf

[messages] Restructure sub-messages to be more logically named and ordered.

Commit:0dbc753
Author:Malte Schwarzkopf

[base] Restructure TaskDescriptor fields and add a few more.

Commit:7b4d669
Author:Ionel Gog

[sim] Untested single priority queue simulator.

Commit:7659116
Author:Ionel Gog

[sim] Added simulator event protobuf.

Commit:f9cbbee
Author:Malte Schwarzkopf

[base] Task-specific field to toggle LD_PRELOAD injection.

Commit:f4b1512
Author:Malte Schwarzkopf

[messages] Add final report to task messages.

Commit:e25e95f
Author:Malte Schwarzkopf

[base] Add extra fields to task descriptor and statistics protobuf.

Commit:83d4abf
Author:Malte Schwarzkopf

[base] [engine] Plumb scheduler statistics through the heartbeat protocol.

Commit:73b85fd
Author:Malte Schwarzkopf

[sim] Clean out old simulator code and add skeleton infrastructure for new simulation mode.

Commit:1185386
Author:Malte Schwarzkopf

[base] Add cache reference count field to task report.

Commit:fc13eba
Author:ms705

[scheduling] More fixes to min-flow scheduler.

Commit:9ec1035
Author:ms705

[base] Protobufs for task profiling.

Commit:2dd5406
Author:ms705

[base] Support final report from task on exit.

Commit:ac17a29
Author:ms705

[base] Add info as to where a delegated task came from.

Commit:faa7aac
Author:ms705

[messages] Support response message for task delegation attempt.

Commit:d300bab
Author:ms705

[engine] [base] [messages] Add support for success indication on task delegation.

Commit:0faafc3
Author:ms705

[base] Add TaskFinalReport protobuf.

Commit:8acc970
Author:ms705

[base] [messages] [storage] Make location a singular field.

Commit:2d7b3ce
Author:ms705

[messages] Add protobufs for libDIOS interaction messages.

Commit:4527bb3
Author:ms705

[scheduling] Quincy scheduler now applies deltas to schedule tasks.

Commit:2bb8f13
Author:ms705

[engine] [messages] Working machine statistics as part of heartbeats to parent coordinators.

Commit:28e6f6a
Author:ms705

[base] [engine] Working task kill message dispatch.

Commit:60fec1e
Author:ms705

[engine] [messages] [scheduling] Add a TaskKillMessage.

Commit:a831354
Author:ms705

Moving from uint64_t DataObjectIDs to 256-bit UUIDs as per libDIOS. This commit touches almost everything, and rewrites significant portions of code. Breakage is not only expected, but very likely.

Commit:61011cd
Author:Ionel Gog

Get machine CPU/Mem info.

Commit:4ac9770
Author:Ionel Gog

Gather machine usage.

Commit:4e55b6c
Author:ms705

Remove use of protobuf extensions (unsupported in protobuf-c).

Commit:c6e84df
Author:ms705

[scheduling] Add missing file.

Commit:9a438cb
Author:ms705

[scheduling] Working extraction of scheduling decisions from solver output.

Commit:329b47d
Author:Ionel Gog

From Quincy to worker to task mapping.