A simulated computer system
Inheritance:
Public Methods
-
System(const ID newID = 0, const string newName = "Simulated System")
- Default constructor
-
~System()
- Destructor
-
bool activate(void)
- Activates the components of the simulator
-
bool simulate(void)
- Starts the simulation
-
void extractTokenInfo(const Token& token, ID& tokenID, Thread*& thread, Process*& process, ID& computer, Computer*& computerPtr)
-
-
bool addComputer(Computer newComputer)
- Adds a computer to the system
-
void replaceScheduler(Scheduler* newScheduler)
- Replaces the system's scheduler with the one provided
-
bool connectComputers(const network_topology topology, const double bandwidth, const TIME latency, const TIME switchdelay)
- Builds a network to connect the computers already in the system.
-
bool setProcessList(vector<Process*>* list)
- Sets the systems process list to the one passed
-
void setMemAccessRate(const TIME rate)
- Sets the default amount of time each process spends accessing virtual memory
-
void setCommRate(const TIME rate)
- Sets the default amount of time each (parallel) process spends communicating.
-
void setSynchRate(const TIME rate)
-
-
void setMaxSimTime(const TIME time)
-
-
ID getNextComputer()
- Returns the ID of the next computer able to accept more jobs
-
double getMemAccessRate(void) const
- Gets the default percentage of time each parallel process spends accessing virtual memory.
-
double getCommRate(void) const
- Gets the default percentage of time each (parallel) process spends communicating.
-
string toString(void) const
- returns a string representation of the entire system
-
string toComputerString(void) const
-
-
string toProcessString(void) const
-
-
void calcMetrics(void)
- Gathers interesting information from processes, resources, etc. and calculates metrics based on them.
-
void clearMetrics(void)
- Resets metrics variables so that they may be recalculated
-
void calcAllocationMetrics(void)
-
-
string toMetricsString(void)
- Converts the calculated metrics to a string suitable for printing to cout
-
string toMetricsLine(void)
- Converts calculated metrics to a single-line string suitable for printing to a log file
-
void setUpdateOutput(OutputObject* out)
- set the output object for simulator progress updates
-
void setMetricsOutput(OutputObject* out)
- set the output object for simulator metrics updates
-
void setMetricsCollectionPeriod(TIME period)
- Set the amount of time between metrics collections
Inherited from SimObj:
Public Methods
-
string getName(void) const
-
ID getID(void) const
-
void setName(const string newName)
-
void setID(const ID newID)
-
virtual void clear(void)
Documentation
The system class encapsulates all of the computers and their
interconnecting network. It also stores all processes that will
run on the system.
System(const ID newID = 0, const string newName = "Simulated System")
-
~System()
-
bool activate(void)
-
bool simulate(void)
-
void extractTokenInfo(const Token& token, ID& tokenID, Thread*& thread, Process*& process, ID& computer, Computer*& computerPtr)
-
bool addComputer(Computer newComputer)
-
void replaceScheduler(Scheduler* newScheduler)
-
bool connectComputers(const network_topology topology, const double bandwidth, const TIME latency, const TIME switchdelay)
-
bool setProcessList(vector<Process*>* list)
-
void setMemAccessRate(const TIME rate)
-
void setCommRate(const TIME rate)
-
void setSynchRate(const TIME rate)
-
void setMaxSimTime(const TIME time)
-
ID getNextComputer()
-
double getMemAccessRate(void) const
-
double getCommRate(void) const
-
string toString(void) const
-
The representation will consist of every computer,
every network component, and every process in the system.
So look out - the output can be VERY large!
- Returns:
- a string representation of the system.
string toComputerString(void) const
-
- Returns:
- string info on computers in system
string toProcessString(void) const
-
- Returns:
- string info on processes in system
void calcMetrics(void)
-
void clearMetrics(void)
-
void calcAllocationMetrics(void)
-
string toMetricsString(void)
-
string toMetricsLine(void)
-
void setUpdateOutput(OutputObject* out)
-
void setMetricsOutput(OutputObject* out)
-
void setMetricsCollectionPeriod(TIME period)
-
- This class has no child classes.
- Author:
- John Oleszkiewicz
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.