Commit 33953e32 authored by Hines, Jesse's avatar Hines, Jesse
Browse files

Update models and forms with new fields

parent 124a93a7
Loading
Loading
Loading
Loading
+33 −1
Original line number Diff line number Diff line
import { ChangeEvent } from "react";
import { JobsMode } from "../../models/Scheduler.model";
import { JobsMode, Scheduler } from "../../models/Scheduler.model";
import { SimulationRequest } from "../../models/SimulationRequest.model";
import { Checkbox } from "../shared/checkbox";
import { Select } from "../shared/dropdown";
@@ -80,6 +80,38 @@ export function RAPSForm(props: {
          />
        </>
      )}
      <Select
        label="Schedule Policy"
        choices={[
          //{ label: "Custom", value: "custom" },
          { label: "fcfs", value: "fcfs" },
          { label: "sjf", value: "sjf" },
          { label: "prq", value: "prq" },
        ]}
        value={props.form.scheduler.schedule_policy}
        onChange={(e) => {
          props.setForm({
            ...props.form,
            scheduler: {
              ...props.form.scheduler,
              schedule_policy: e.target.value as Scheduler['schedule_policy'],
            }
          });
        }}
      />
      <Checkbox
        label="Reschedule"
        checked={props.form.scheduler.reschedule}
        onChange={(e: ChangeEvent<HTMLInputElement>) => {
          props.setForm({
            ...props.form,
            scheduler: {
              ...props.form.scheduler,
              reschedule: e.target.checked,
            },
          });
        }}
      />
    </>
  );
}
+7 −1
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@ export interface IScheduler {
  enabled: boolean;
  down_nodes: string[];
  jobs_mode: JobsMode;
  schedule_policy: 'fcfs'|'sjf'|'prq'
  reschedule: boolean
  jobs: CustomJob[];
  seed: number | null;
  num_jobs: number | null;
@@ -16,14 +18,18 @@ export class Scheduler implements IScheduler {
  down_nodes: string[];
  jobs: CustomJob[];
  jobs_mode: JobsMode;
  num_jobs: number | null;
  schedule_policy: 'fcfs'|'sjf'|'prq'
  reschedule: boolean
  seed: number | null;
  num_jobs: number | null;

  constructor() {
    this.down_nodes = [];
    this.enabled = true;
    this.jobs = [];
    this.jobs_mode = "replay";
    this.schedule_policy = 'fcfs';
    this.reschedule = false;
    this.num_jobs = null;
    this.seed = null;
  }
+1 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ export interface Simulation {
  id: string;
  user: string;
  state: "running" | "success" | "fail";
  error_messages: string|null;
  start: string;
  end: string;
  execution_start: string;
+5 −2
Original line number Diff line number Diff line
@@ -8,10 +8,13 @@ export interface SimulationStatistic {
  throughput: number;
  average_power: number;
  average_loss: number;
  min_loss: number;
  max_loss: number;
  system_power_efficiency: number;
  total_energy_consumed: number;
  carbon_emissions: number;
  total_cost: number;
  p_flops: number;
  g_flops_w: number;
  p_flops: number|null;
  g_flops_w: number|null;
  system_util: number|null;
}
+12 −0
Original line number Diff line number Diff line
@@ -104,6 +104,18 @@ function SimulationConfiguration() {
            </Box>
          </>
        ) : null}
        <Box>
            <Box.Header>Schedule Policy</Box.Header>
            <Box.Value>
              {data.config.scheduler.schedule_policy}
            </Box.Value>
        </Box>
        <Box>
            <Box.Header>Reschedule</Box.Header>
            <Box.Value>
              {`${data.config.scheduler.reschedule}`.toUpperCase()}
            </Box.Value>
        </Box>
      </Section>
      <Section header="Cooling Configuration">
        <Box>