|
Active Virtual Network Management Prediction (AVNMP) Classes | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.util.Date | +--avnmp.java.lp.AvnmpTime | +--avnmp.java.lp.AvnmpDebug | +--avnmp.java.gvt.Gvt | +--avnmp.java.lp.AvnmpLP
This class implements the AVNMP logical process. The general idea is to have a working process modified as follows:
Normal process: input -> process -> output Virtual Time Process (normal operation): input -> getvm(); getnext() -> process -> sendvm() -> output | V savestate() Virtual Time Process (rollback): if(getvm() != 0) getstate() -> process() -> rbq() -> outputThis research is funded by DARPA/ITO Contract Number: F30602-98-C-0230 supported by the Air Force Research Laboratory/IF.
Inner Class Summary | |
class |
AvnmpLP.ParmTable
This table will hold a list of parmTime objects used to set and check parameter changes. |
class |
AvnmpLP.parmTime
This class holds a list of new LP parameter values and the time at which they should take effect. |
Field Summary | |
AppCommunicator |
context
The Snmp Agent Context |
long |
gvtupdate
How often to update global virtual time in milliseconds. |
protected boolean |
islp
Is this a logical process or a driving process ? |
long |
lookahead
Distance into the future to predict |
java.lang.Integer |
LpNum
Unique process id |
protected AvnmpTime |
lvt
Local virtual time |
java.lang.String |
name
Process name |
AvnmpStat |
numAnti
Total number of anti-messages generated. |
AvnmpStat |
numCausalityRb
Number of Causality rollbacks |
AvnmpStat |
numPackets
Total number of packets received. |
AvnmpStat |
numToleranceRb
Number of Tolerance rollbacks |
protected java.lang.Double |
outq_size
Send queue size |
AvnmpLP.ParmTable |
parmTable
|
java.util.Vector |
procList
A list of all the known processes. |
AvnmpStat |
ReRate
Real Message Rate |
AvnmpTime |
start_time
Time actual simulation processing starts |
AvnmpStateQueue |
stateq
State queue |
long |
stepsize
Logical process simulation resolution |
java.lang.String |
terminal
|
AvnmpStat |
Tla
Sampled lookahead |
java.lang.Double |
tolerance
Tolerance before rollback |
AvnmpStat |
Tspeedup
Sampled Speedup: LVT/t samples. |
AvnmpStat |
Ttrb
Total of rollback time samples. |
AvnmpStat |
Tttask
Total of task execution time samples. |
protected AvnmpRecQueue |
vminq
Input queue |
protected AvnmpSndQueue |
vmoutq
Output queue |
AvnmpStat |
VmRate
|
Fields inherited from class avnmp.java.gvt.Gvt |
COLLECTMIN, GvtReportInput, GvtUpdateRequest, GvtUpdateResponse, IDLE, lm, REPORTLOCAL, START |
Fields inherited from class avnmp.java.lp.AvnmpDebug |
dlevel, DRIVER_D, GVT_D, html, LP_D, LPSTATE_D, MEASURE_D, NodeName, PACKET_D, PAYLOAD_D, PP_D, PREDM_D, RECQ_D, ROLLBACK_D, SNDQ_D, STATEQ_D, SYSTEM_D, TIME_D, TOLERANCE_D |
Fields inherited from interface avnmp.java.lp.ConfigInterface |
Dvm, initTolerance, logdir, lvm, ootLimit, pdir, rmlog, rmplots, rmsnmp, runMinutes, snmpdir, VirtualMessageRatio |
Constructor Summary | |
AvnmpLP(java.lang.String n,
java.lang.String nn)
Create a Logical Process. |
Method Summary | |
boolean |
checkParameterTimes()
Check if the time has been reached to set new parameter values. |
abstract PayLoad |
Compute(PayLoad pl)
This method is to be over-ridden by the physical process. |
void |
displayConfiguration()
|
protected void |
displayLvt()
Display the logical process local virtual time. |
void |
displayLVT()
|
void |
displayQueues()
Display all the queues associated with this logical process. |
void |
finalize()
|
long |
getCausalityRollbacks()
Return the number of causality rollbacks for this object. |
double |
getGenRate()
Return the virtual/real generation rate for driving process prediction. |
long |
getlvt()
Return the Local Virtual Time for this object. |
protected AvnmpPacket |
getnext()
Return the next packet to be processed by the physical process. |
abstract java.lang.Double |
getPPstate()
This method is to be over-ridden by the physical process. |
long |
getRealTime()
Return the real time since this object created. |
long |
getRecQSize()
Return the Receive Queue Size for this object. |
long |
getSndQSize()
Return the Send Queue Size for this object. |
protected AvnmpState |
getstate(long d)
Get the cached state closest to the input time. |
long |
getStateQSize()
Return the State Queue Size for this object. |
java.lang.Double |
getTolerance()
Get the max/min allowed value outside of which rollback will occur. |
long |
getToleranceRollbacks()
Return the number of out of tolerance rollbacks for this object. |
protected long |
getvm(AvnmpPacket ap)
Receive the next input message and enter it into the input queue. |
AvnmpQueue |
inputvm(AvnmpPacket ap)
Main input to the logical process. |
boolean |
isLP()
Is this a logical process or a driving process ? |
boolean |
isQuitTime()
Check if time has expired. |
void |
logState()
Log the complete LP state |
java.lang.String |
myname()
Display the logical process name. |
abstract int |
portTable()
|
void |
savestate(AvnmpState s)
Save the current state in the state queue. |
void |
setGenRate(double gr)
Set the virtual/real generation rate for driving process prediction. |
void |
setGVTUpdate(long g)
Set the GVT update interval for the AVNMP system. |
void |
setLookahead(long l)
Set the maximum distance into the future which this logical process may run. |
void |
setParameterTimes()
Set the parameter values and the times at which they take effect. |
abstract void |
setPPstate(java.lang.Double is)
This method is to be over-ridden by the physical process. |
void |
setProcList(java.util.Vector pq)
Provide this object with a list of all the other processes. |
void |
setStepsize(long s)
Set the step size for driving process prediction. |
java.lang.String |
toString()
Display the logical process id. |
Methods inherited from class avnmp.java.gvt.Gvt |
addProcs, calcLocalMinimum, collectMinima, getNumProcs, getNumUpdates, getProcReport, getState, getTimeSinceLastUpdate, getUpdateInterval, isDone, isUpdateTime, reportIn, reportLocalMinimum, resetGvt, startGvt, storeIn, storeOut |
Methods inherited from class avnmp.java.lp.AvnmpDebug |
debugType, log, log, log, log, measure, resetLog, setLevel, writeLog |
Methods inherited from class avnmp.java.lp.AvnmpTime |
add, adjustRelative, diff, now, resetRelative, set, startTime, time |
Methods inherited from class java.util.Date |
after, before, clone, compareTo, compareTo, equals, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTime, getTimezoneOffset, getYear, hashCode, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setTime, setYear, toGMTString, toLocaleString, UTC |
Methods inherited from class java.lang.Object |
getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
public java.lang.String terminal
public java.lang.String name
public java.lang.Integer LpNum
protected boolean islp
protected java.lang.Double outq_size
public AvnmpStat numCausalityRb
public AvnmpStat numToleranceRb
protected AvnmpRecQueue vminq
protected AvnmpSndQueue vmoutq
public AvnmpStateQueue stateq
protected AvnmpTime lvt
public long lookahead
public java.lang.Double tolerance
public AvnmpTime start_time
public long gvtupdate
public long stepsize
public AvnmpStat numPackets
public AvnmpStat numAnti
public AvnmpStat ReRate
public AvnmpStat VmRate
public AvnmpStat Tttask
public AvnmpStat Ttrb
public AvnmpStat Tspeedup
public AvnmpStat Tla
public java.util.Vector procList
public transient AppCommunicator context
public AvnmpLP.ParmTable parmTable
Constructor Detail |
public AvnmpLP(java.lang.String n, java.lang.String nn)
n
- A unique process namec
- SnmpAgentContextnn
- The current node nameMethod Detail |
public void savestate(AvnmpState s)
s
- A state object.protected AvnmpState getstate(long d)
d
- Input timeprotected long getvm(AvnmpPacket ap)
ap
- The next packet to be receivedgetnext()
,
AvnmpRecQueue.getNext(avnmp.java.lp.AvnmpTime, long, avnmp.java.lp.AvnmpLP)
,
AvnmpRecQueue.recvm(avnmp.java.lp.AvnmpPacket, avnmp.java.lp.AvnmpTime, avnmp.java.lp.AvnmpLP, avnmp.java.lp.AvnmpStateQueue, avnmp.java.lp.AvnmpTime, avnmp.java.lp.AvnmpSndQueue)
,
lvt
public long getlvt()
getlvt
in class Gvt
public long getRealTime()
getRealTime
in class AvnmpDebug
public long getRecQSize()
public long getStateQSize()
public long getSndQSize()
public long getCausalityRollbacks()
public long getToleranceRollbacks()
protected AvnmpPacket getnext()
AvnmpRecQueue.getNext(avnmp.java.lp.AvnmpTime, long, avnmp.java.lp.AvnmpLP)
public java.lang.Double getTolerance()
public double getGenRate()
public void setGenRate(double gr)
s
- Step virtual/readl driving process msg generation rate.public void setStepsize(long s)
s
- Step size for driving process prediction.public void setGVTUpdate(long g)
g
- The GVT update interval for the AVNMP system.public void setLookahead(long l)
l
- The maximum distance into the future which this
logical process may run.public java.lang.String toString()
toString
in class Gvt
LpNum
public java.lang.String myname()
myname
in class Gvt
name
protected void displayLvt()
lvt
public void displayLVT()
public void displayQueues()
vminq
,
vmoutq
,
stateq
public AvnmpQueue inputvm(AvnmpPacket ap)
vm
- Input messagegetvm(avnmp.java.lp.AvnmpPacket)
,
AvnmpRecQueue.recvm(avnmp.java.lp.AvnmpPacket, avnmp.java.lp.AvnmpTime, avnmp.java.lp.AvnmpLP, avnmp.java.lp.AvnmpStateQueue, avnmp.java.lp.AvnmpTime, avnmp.java.lp.AvnmpSndQueue)
,
PP.Compute(avnmp.java.pp.PayLoad)
public boolean isQuitTime()
public void finalize()
finalize
in class java.lang.Object
public boolean isLP()
public void setProcList(java.util.Vector pq)
pq
- The other processes.public void logState()
public void setParameterTimes()
parmTable
,
checkParameterTimes()
,
ConfigInterface.initTolerance
public boolean checkParameterTimes()
parmTable
,
setParameterTimes()
public void displayConfiguration()
public abstract PayLoad Compute(PayLoad pl)
The
- input to the physical process.public abstract java.lang.Double getPPstate()
public abstract void setPPstate(java.lang.Double is)
The
- state to be restored to the physical process.public abstract int portTable()
|
Active Virtual Network Management Prediction (AVNMP) Classes | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |