summaryrefslogtreecommitdiff
path: root/opendc/opendc-experiments-sc20/schema.sql
diff options
context:
space:
mode:
Diffstat (limited to 'opendc/opendc-experiments-sc20/schema.sql')
-rw-r--r--opendc/opendc-experiments-sc20/schema.sql141
1 files changed, 0 insertions, 141 deletions
diff --git a/opendc/opendc-experiments-sc20/schema.sql b/opendc/opendc-experiments-sc20/schema.sql
deleted file mode 100644
index 92cb5d1f..00000000
--- a/opendc/opendc-experiments-sc20/schema.sql
+++ /dev/null
@@ -1,141 +0,0 @@
--- An experiment represents a collection of portfolios.
-DROP TABLE IF EXISTS experiments CASCADE;
-CREATE TABLE experiments
-(
- id BIGSERIAL PRIMARY KEY NOT NULL,
- creation_time TIMESTAMP NOT NULL DEFAULT (now())
-);
-
--- A portfolio represents a collection of scenarios tested.
-DROP TABLE IF EXISTS portfolios CASCADE;
-CREATE TABLE portfolios
-(
- id BIGSERIAL PRIMARY KEY NOT NULL,
- experiment_id BIGINT NOT NULL,
- name TEXT NOT NULL,
-
- FOREIGN KEY (experiment_id) REFERENCES experiments (id)
- ON DELETE CASCADE
- ON UPDATE CASCADE
-);
-
--- A scenario represents a single point in the design space (a unique combination of parameters)
-DROP TABLE IF EXISTS scenarios CASCADE;
-CREATE TABLE scenarios
-(
- id BIGSERIAL PRIMARY KEY NOT NULL,
- portfolio_id BIGINT NOT NULL,
- repetitions INTEGER NOT NULL,
- topology TEXT NOT NULL,
- workload_name TEXT NOT NULL,
- workload_fraction DOUBLE PRECISION NOT NULL,
- allocation_policy TEXT NOT NULL,
- failure_frequency DOUBLE PRECISION NOT NULL,
- interference BOOLEAN NOT NULL,
-
- FOREIGN KEY (portfolio_id) REFERENCES portfolios (id)
- ON DELETE CASCADE
- ON UPDATE CASCADE
-
-);
-
-DROP TYPE IF EXISTS run_state CASCADE;
-CREATE TYPE run_state AS ENUM ('wait', 'active', 'fail', 'ok');
-
--- An experiment run represent a single invocation of a trial and is used to distinguish between repetitions of the
--- same set of parameters.
-DROP TABLE IF EXISTS runs CASCADE;
-CREATE TABLE runs
-(
- id INTEGER NOT NULL,
- scenario_id BIGINT NOT NULL,
- seed INTEGER NOT NULL,
- state run_state NOT NULL DEFAULT 'wait'::run_state,
- submit_time TIMESTAMP NOT NULL DEFAULT (now()),
- start_time TIMESTAMP DEFAULT (NULL),
- end_time TIMESTAMP DEFAULT (NULL),
-
- PRIMARY KEY (scenario_id, id),
- FOREIGN KEY (scenario_id) REFERENCES scenarios (id)
- ON DELETE CASCADE
- ON UPDATE CASCADE
-);
-
--- Metrics of the hypervisors reported per slice
-DROP TABLE IF EXISTS host_metrics CASCADE;
-CREATE TABLE host_metrics
-(
- id BIGSERIAL PRIMARY KEY NOT NULL,
- scenario_id BIGINT NOT NULL,
- run_id INTEGER NOT NULL,
- host_id TEXT NOT NULL,
- state TEXT NOT NULL,
- timestamp TIMESTAMP NOT NULL,
- duration BIGINT NOT NULL,
- vm_count INTEGER NOT NULL,
- requested_burst BIGINT NOT NULL,
- granted_burst BIGINT NOT NULL,
- overcommissioned_burst BIGINT NOT NULL,
- interfered_burst BIGINT NOT NULL,
- cpu_usage DOUBLE PRECISION NOT NULL,
- cpu_demand DOUBLE PRECISION NOT NULL,
- power_draw DOUBLE PRECISION NOT NULL,
-
- FOREIGN KEY (scenario_id, run_id) REFERENCES runs (scenario_id, id)
- ON DELETE CASCADE
- ON UPDATE CASCADE
-);
-
-DROP INDEX IF EXISTS host_metrics_idx;
-CREATE INDEX host_metrics_idx ON host_metrics (scenario_id, run_id, timestamp, host_id);
-
--- Metrics of the VMs reported per slice
-DROP TABLE IF EXISTS vm_metrics CASCADE;
-CREATE TABLE vm_metrics
-(
- id BIGSERIAL PRIMARY KEY NOT NULL,
- scenario_id BIGINT NOT NULL,
- run_id INTEGER NOT NULL,
- vm_id TEXT NOT NULL,
- host_id TEXT NOT NULL,
- state TEXT NOT NULL,
- timestamp TIMESTAMP NOT NULL,
- duration BIGINT NOT NULL,
- requested_burst BIGINT NOT NULL,
- granted_burst BIGINT NOT NULL,
- overcommissioned_burst BIGINT NOT NULL,
- interfered_burst BIGINT NOT NULL,
- cpu_usage DOUBLE PRECISION NOT NULL,
- cpu_demand DOUBLE PRECISION NOT NULL,
-
- FOREIGN KEY (scenario_id, run_id) REFERENCES runs (scenario_id, id)
- ON DELETE CASCADE
- ON UPDATE CASCADE
-);
-
-DROP INDEX IF EXISTS vm_metrics_idx;
-CREATE INDEX vm_metrics_idx ON vm_metrics (scenario_id, run_id, timestamp, vm_id);
-
--- Metrics of the provisioner reported per change
-DROP TABLE IF EXISTS provisioner_metrics CASCADE;
-CREATE TABLE provisioner_metrics
-(
- id BIGSERIAL PRIMARY KEY NOT NULL,
- scenario_id BIGINT NOT NULL,
- run_id INTEGER NOT NULL,
- timestamp TIMESTAMP NOT NULL,
- host_total_count INTEGER NOT NULL,
- host_available_count INTEGER NOT NULL,
- vm_total_count INTEGER NOT NULL,
- vm_active_count INTEGER NOT NULL,
- vm_inactive_count INTEGER NOT NULL,
- vm_waiting_count INTEGER NOT NULL,
- vm_failed_count INTEGER NOT NULL,
-
- FOREIGN KEY (scenario_id, run_id) REFERENCES runs (scenario_id, id)
- ON DELETE CASCADE
- ON UPDATE CASCADE
-);
-
-DROP INDEX IF EXISTS provisioner_metrics_idx;
-CREATE INDEX provisioner_metrics_idx ON provisioner_metrics (scenario_id, run_id, timestamp);