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:
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.