Next: The Monitor System Up: Layer 1: Monitoring Previous: Layer 1: Monitoring

Hybrid Monitoring

The first step during the analysis of any computer system using monitoring is the recording of data. For this, software, hardware or hybrid monitoring can be used. With hybrid monitoring, the recognition of events is done in software, but the recording and time stamping is done in hardware. This introduces a minimal delay only (unlike software monitoring), but establishes a relation between the measured data and the program under investigation (unlike hardware monitoring). Thus, the advantages of both software and hardware monitoring are combined. A fundamental problem of hybrid monitoring which remains, is the adaptation of the hardware monitor to the object system, i.e. to find a possibility to transmit the information about the event occurred from the object system to the monitor. Normally, parallel or distributed systems do not have such interfaces. Therefore, other interfaces are often "misused" for this purpose. There are basically three possibilities:

direct:
If an object system has a special hardware interface which can also be used for monitoring, we will speak of direct adaptation. This interface can be a special monitor register, a status display or a field of LEDs. But the application program must be able to access this interface. In this case, the event data can be sent directly to the interface (without using the operating system) and therefore is very fast. The disadvantage is often the limited width of the output data (4 to 8 Bit). An example of direct adaptation is described in [6].
output:
With output adaptation, an ordinary output interface for printing or communication is used for monitoring. Such an interface often exists or can be bought. However, this method should only be used if this interface can be accessed without involving the operating system. Otherwise the output of event data takes too much time and the application program is delayed more than acceptable. In some cases this can change the dynamic behavior of the program. Oehlrich and Quick [24] used a serial interface (Transputer link) for monitoring.
bus:
Bus adaptation is possible if the internal bus of the object system is externally accessible. The idea is very simple: with a machine instruction "STORE Addr, Value" the event information is transmitted via the internal bus. The address which is otherwise not used or physically not exists, encodes the event type, and the value can be used for event attributes. A simple bus adapter, consisting of an address comparator and two registers, catches and stores the events and the additional data. This is very fast, and normally 16 or 32 Bit for address and data can be used. The disadvantage is that extra hardware has to be built. Examples for a bus adaptation are a first version of the TRAMS monitor [18] and the TMP [4].

Output adaptation and bus adaptation have another advantage: if the object system or its clusters are bus-coupled, the whole system or cluster can be monitored with one interface connected with the global bus. This may reduce the expense in hardware to a great extent.

A standard for hybrid monitoring could define the width of the address and data lines, the control signals and the electrical behavior of the interface. In [14] Malony and Nichols proposed such an "External Hardware Instrumentation Interface (EHII)". The acceptance of such a standard depends on the willingness of the hardware vendors to provide a monitoring interface for the users. Therefore, a standard appears unrealistic.

Our hardware monitoring system ZM4, which is described in the following section, provides a parallel 48 Bit wide interface for hybrid monitoring. Four additional signal lines can be used to indicate the occurrence of an event so that four independent event streams can be monitored. A prototype was implemented in 1989 and used in several projects. We implemented each method of hybrid adaptation at least once (see table 1 in section 6 for a summary). The performed projects showed that a standard interface such as the one proposed by Malony and Nichols and used in our ZM4, is working and can be used to monitor all types of parallel object systems with minimal object-specific hardware. The table also shows that bus adaptation is the best approach concerning the delay and the maximum width of the output data. With regard to the output speed (Bit/s) the bus adaptation is 250 to 1,500 times faster than direct adaptation, and 1,000 to 20,000 times faster than output adaptation.



Next: The Monitor System Up: Layer 1: Monitoring Previous: Layer 1: Monitoring


mohr@cs.uoregon.edu
Fri Feb 25 11:04:10 PST 1994