CPU Scheduling Simulator (CPUSS)

Welcome to the CPUSS project. CPUSS is a framework designed to help with the design and analysis of CPU scheduling strategies.

Installation:

Release history:

Requirements

Runtime binaries

Each release of CPUSS contains two release run time binaries:

Note: if you are only wanting to use the simulation framework and not the strategies that ship with CPUSS then you need only reference Cpuss.dll.

Compiling the source code

Note: the steps outlined here refer not only to building the source code of a release, but also the source code of any change set.

The source code for the CPUSS project contains of a Visual Studio 2008 solution, which in turn contains four C# projects:

When you open the solution you will be prompted for the password to the strong key, the password is !Cpuss86 (change sets 6502 onwards).

Now follow the steps below:

  1. Build the entire solution
  2. Run all the unit tests

Note: if you encounter problems with either of the steps please inform me via the projects homepage.

Setting up the database

Setting up the database for CPUSS is easy, simply locate the Setup.sql file located in the SQL folder and execute the script. This will create a database called Cpuss with the required tables.

Release history

CPUSS 1.0 RTW

Release Date: 08/04/08
Release URL:   https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=cpuss&ReleaseId=11881

Added Features

Work item no. Component Work item title
1956 Simulator Add throughput to report
1979 Simulator Add custom window time frame for throughput to manual and automated process loads
1980 Simulator Add /window flag to CPUSSRG

Issues

Fixed:

Work item no. Component Work item title
1952 Simulator Resource names
1957 Simulator Relative paths for image files

CPUSS 0.9 RC

Release Date: 03/04/08
Release URL:   http://www.codeplex.com/cpuss/Release/ProjectReleases.aspx?ReleaseId=11880

Added Features

Work item no. Component Work item title
1882 Simulator Add #runs to HtmlReport
1883 Simulator Finer grain process breakdown graphs
1887 Simulator CPU Utilization
1888 Simulator Turnaround time
1889 Simulator Response time
1937 Simulator Add turnaround and response times to HtmlReport
1947 Simulator Throughput

Issues

Fixed:

Work item no. Component Work item title
1864 Simulator Report title wrong
1865 Simulator Strategy ToString not correct
1881 Simulator Negative values accepted in RepeatRunner

 

CPUSS 0.8 Beta 2

Release Date: 29/03/08
Release URL:   https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=cpuss&ReleaseId=11879 

Added Features

Work item no. Component Work item title
1852 Simulator Load 3rd party plugin strategies
1853 Simulator Strategy selection via report tool

Issues

Fixed:

Work item no. Component Work item title
1857 Simulator Remove file extensions if name of report file includes that

 

CPUSS 0.7 Beta 1

Release Date: 28/03/08
Release URL:   http://www.codeplex.com/cpuss/Release/ProjectReleases.aspx?ReleaseId=11878

Added Features

Work item no. Component Work item title
1800 Simulator Command line invoker tool
1805 Simulator Variance with predicate function
1806 Simulator Std deviation with predcate function
1807 Simulator Repeat run n times
1808 Simulator Related to work item 1800
1822 Simulator Report
1823 Simulator Run method for RepeatRunner

Issues

Fixed:

Work item no. Component Work item title
1804 Simulator Lock down calculations until simulation is complete

 

CPUSS 0.6

Release Date: 22/03/08
Release URL:   http://www.codeplex.com/cpuss/Release/ProjectReleases.aspx?ReleaseId=11674

Added Features

Work item no. Component Work item title
1728 Simulator CPU Idle time
1729 Simulator CPU busy time
1730 Simulator Standard deviation
1731 Simulator Get average wait time for a category of process
1803 Simulator Variance

Issues

None.

CPUSS 0.5

Release Date: 16/03/08
Release URL:   http://www.codeplex.com/cpuss/Release/ProjectReleases.aspx?ReleaseId=11166

Added Features

Work item no. Component Work item title
1724 Simulator Process resumed event
1725 Simulator Wait times for every process
1726 Simulator Min wait time
1727 Simulator Max wait time

Issues

None.

CPUSS 0.4

Release Date: 14/03/08
Release URL:   http://www.codeplex.com/cpuss/Release/ProjectReleases.aspx?ReleaseId=11165

Added Features

Work item no. Component Work item title
1732 Simulator Scattered priorities
1626 Simulator Preemption event

Issues

Fixed:

Work item no. Component Work item title
1625 Strategies Perf work on strategies that require frequent polling of the ready queue Title is required
1676 Simulator List refactoring Title is required

 

CPUSS 0.3

Release Date: 05/03/08
Release URL: http://www.codeplex.com/cpuss/Release/ProjectReleases.aspx?ReleaseId=10741 

Added Features

Work item no. Component Work item title
336 Simulator Logging - SQL Server 2005
1096 Strategies Shortest Job First - Expert rule
1350 Simulator IsComplete method for Process
1491 Simulator Preemptive process metrics
1609 Simulator Average wait time

Issues

Fixed:

Work item no. Component Work item title
1614 Simulator BurstTime enum

 

CPUSS 0.2

Release Date: 15/02/08
Release URL: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=cpuss&ReleaseId=10310

Added Features

Work item no. Component Work item title
1093 Strategies Round Robin strategy
1095 Strategies Priority first strategy
1099 Simulator ProcessEventArgs - support Priority
1094 Simulator Process Priority

Issues

Fixed:

Work item no. Component Work item title
1098 N/A build error (release builds) Title is required

 

CPUSS 0.1

Release Date: 30/01/08
Release URL: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=cpuss&ReleaseId=8605

Added Features

Work item no. Component Work item title
952 Simulator Completed event for Runner
1013 Simulator ProcessLoad property read-only collection
951 Simulator Started event for Runner
950 Strategies Shortest Job First strategy
335 Simulator Metrics Process minimum data requirements
334 Simulator Define mean time of a process load EDIT: define number of proceses of each size
333 Simulator Auto generated process load for simulation
332 Simulator Select strategy to use
774 Simulator Process minimum data requirements

Issues

Fixed:

Work item no. Component Work item title
953 Simulator ProcessCount not correct in RunnerCompletedEventArgs when using a strategy that modifies the ReadyQueue Title is required
990 Simulator Process auto gen - AutoGeneratedLoadMetricsPopulatedByEventsTest exception Title is required