This chapter assumes that the previous chapter covering
the SNMP instrumentation and connection to Atropos of an active network application
in Magician has been read and understood. In this chapter, and throughout
the rest of this tutorial, we add incremental features to our sample application
known as LoadGen. Recall from the previous chapter that we have enhanced
the number of packets transmitted with Atropos by making its SNMP Object
Identifier known to Atropos.
Key Concept
- The goal in this chapter is to take a more detailed look at
the Driving Process and its role in the optimistic simulation based virtual
overlay of Atropos. The Driving Process generates virtual messages which
represent messages and/or states expected to occur in the future. These message
are automatically propagated throughout the system and drive Atropos forward
in time and space. A simplified view is shown below. The Driving Process makes
a prediction, generally by either encapsulating or sampling the edge of the
Atropos-enhanced system. Then the prediction is sent to the destination Logical
Process as an active packet. A copy is stored in the Send Queue by sendvm()
in case a rollback is necessary:
Predict
-> output -> sendvm()
The following lines of code control the performance of the Driving
Process:
final static
double lvm = 0.5;
final static long Dvm = 20000;
|
The first line is the message generation rate of virtual
messages. The second line is the interval of virtual time between virtual
messages; i.e. the time step of the simulation.
Running the Complete Atropos Active Application
After reading through this code and understanding what it does, you can compile
the code "as-is" using the included Makefile. Run in the Magician execution
environment by entering:
- send InjectSnmp AH-1
- send LoadGenAppBasic AH-1
- send Flood AH-1
- send AvnmpSmartDriver AH-1
The object identifiers created within the application and the predictions
generated by AVNMP should now be queriable via an SNMP client.
|