Group 7 Lab 0 Due Date: Oct 15, 2025
Team Members: Michael, Edward, Camden, Tristen, Kushi
High-Level Tasks
- Workload Generation & Visualization
Workload Generator: Create synthetic workloads with configurable distributions (uniform, normal, geometric, Poisson). Inputs should come via command-line arguments.
Workload Visualizer: Build plotting tools in Python/R for histograms and scatter plots (arrival times, task lengths).
Assigned To: Camden and Tristen Reasoning: This piece is foundational and requires careful coding discipline to ensure reproducibility. Michael’s strong programming background makes him well-suited to handle input parsing and visualization setup.
- Simple Queueing System
Queue Configuration: Build support for multiple queues, servers, sources, and sinks.
Server Functions: Implement functions like Sub-X and support chaining functions with time-step rates.
Queue Metrics: Output queue statistics (qmet.csv) including jobs waiting, jobs in service, and errors.
Event Logs: Implement logging of job transitions, errors, task starts/stops.
Assigned To: Kushi and Michael Reasoning: This section is central to the simulator. It involves consistent state tracking and error handling—Tristen will own this piece to ensure system integrity.
- Tooling for Metrics & Logs
Filter Tools: Implement CLI utilities to filter metrics (filter-by-queue) and event logs (filter-by-job).
USE Metrics: Compute utilization, saturation, and error statistics over sliding windows (10, 100, 1000).
Plotting: Generate plots for USE metrics, throughput, latency, and job-level metrics.
Assigned To: Edward and Camden Reasoning: This is data-engineering heavy work with parsing, transformations, and visualizations. Edward’s role will focus on building reliable tooling for post-simulation analysis.
- Modeling and Analysis
Single Queue Modeling: Pick a real-world process, map it into a single-queue system, configure workloads, run simulations, and interpret metrics.
Multi-Queue Modeling: Extend to networks of queues, generate large-scale configurations from graph files, and run sensitivity studies (+/- resources).
Assigned To: Kushi and Tristen Reasoning: This piece is analytical, requiring creativity in selecting real-world analogues and interpreting results against simulator outputs. Kushi will bridge theory with experiment design.
- Reporting and Presentation
Technical Report: Write introduction, theory, mechanism, and analysis sections. Summarize both single-queue and multi-queue results.
Presentation: Create slides covering methodology, results, and sensitivity studies. Ensure clarity and narrative flow.
Assigned To: Michael Reasoning: This is synthesis-heavy work. Camden will consolidate inputs from all members and produce professional deliverables for submission.
Collaboration Plan
Version Control: Shared GitLab repository with separate branches per module.
Meetings: Weekly sync to merge progress and flag integration issues.
Dependencies:
Tristen must deliver workload generator early for testing.
Kushi’s queue system is the backbone for Edward’s tooling and Kushi’s modeling.
Edward depends on timely delivery of results and plots.