This Article 
 Bibliographic References 
 Add to: 
An Optimal Graph-Construction Approach to Placing Program Signatures for Signature Monitoring
November 1993 (vol. 42 no. 11)
pp. 1372-1381

A new approach produces optimal signature placement for concurrent detection of processor and program-memory errors using signature monitoring. A program control-how graph, labeled with the overhead for placing a signature on each node and arc, is transformed into an undirected graph. For an order-independent signature function such as an XOR or arithmetic checksum, the undirected graph and a spanning tree algorithm are shown to produce an optimal placement in O(n log beta (n, m)) time. Cyclic codes, which are order dependent, are shown to allow significantly lower overhead than order-independent functions. Prior work suggests overhead is unrelated to signature-function type. An O(n) graph-construction algorithm produces an optimal signature placement for cyclic codes. Experimental data show that using a cyclic code and horizontal reference signatures, the new approach can reduce average performance overhead to a fraction of a percent for the SPEC89 benchmark suite, more than 9 times lower than the performance overhead of an existing O(n/sup 2/) placement algorithm.

[1] A. V. Aho, R. Sethi, and J. D. Ullman,Compilers: Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.
[2] T.H. Cormen, C.E. Leiserson, and R.L. Rivest,Introduction to Algorithms, McGraw-Hill, Cambridge, Mass., 1990.
[3] H. Gabow, Z. Galil, T. Spencer, and R. Tarjan, "Efficient algorithms for finding minimum spanning trees in undirected or directed graphs,"Combinatorica, vol. 6, no. 2, pp. 109-122, 1986.
[4] H. Gabow and R. Tarjan, "A linear-time algorithm for finding a minimum spanning pseudoforest,"Info. Proc. Letts., vol. 27, pp. 259-263, 1988.
[5] U. Gunneflo, J. Karlsson, and J. Torin, "Evaluation of error detection schemes using fault injection by heavy-ion radiation," inProc. 19th Int. Symp. Fault-Tolerant Comput. (FTCS), June 1989, pp. 340-347.
[6] J. Hennessy and T. Gross, "Postpass Code Optimization of Pipeline Constraints,"ACM Trans. Programming Languages and Systems, Vol. 5, No. 3, New York, July 1983, pp. 422-448.
[7] MIPS Computer Systems Inc.,Language Programmer's Guide, 1986.
[8] G. Kane,MIPS RISC Architecture, Prentice-Hall, Englewood Cliffs, N.J., 1988.
[9] R. Leveugle, T. Michel, and G. Saucier, "Design of microprocessors with built-in on-line test," inProc. 20th Fault Tolerant Computing Symp., June 1990.
[10] A. Mahmood and E. McCluskey, "Concurrent error detection using watchdog processors--A survey,"IEEE Trans. Comput., vol. 37, no. 2, pp. 160-174, Feb. 1988.
[11] T. Michel, R. Leveugle, and G. Saucier, "A New Approach to Control Flow Checking Without Program Modification,"Proc. IEEE Fault-Tolerant Computing Symp. 21, 1991, pp. 334-341.
[12] B. Moret and H. Shapiro, "An empirical analysis of algorithms for constructing a minimum spanning tree," inProc. Workshop Algorithms Data Structures (WADS '91), 1991, pp. 400-411.
[13] M. Namjoo, "Techniques for concurrent testing of vlsi processor operation," inProc. 12th ITC, 1982, pp. 461-468.
[14] M. Namjoo, "Cerberus-16: An architecture for a general purpose watchdog processor," inProc. 13th FTCS, 1983, pp. 216-219.
[15] W. Peterson and E. Weldon Jr.,Error-Correcting Codes. Cambridge, MA: MIT Press, 1972.
[16] N. R. Saxena and E. J. McCluskey, "Control-flow checking using watchdog assists and extended-precision checksums,"Proc. 19th Int. Symp. on Fault-Tolerant Computing, 1989, pp. 428-435.
[17] N. Saxena and E. McCluskey, "Control-flow checking using watchdog assists and extended-precision checksums,"IEEE Trans. Comput., vol. 39, no. 4, pp. 554-558, Apr. 1990.
[18] M. Schuette and J. P. Shen, "Processor control flow monitoring using signatured instruction streams,"IEEE Trans. Comput., vol. C-36, pp. 264-276, Mar. 1987.
[19] J. Shen and S. Tomas, "A roving monitoring processor for detection of control flow errors in multiple processor systems,"Microprocessing and Microprogramming, vol. 20, nos. 4, 5, pp. 249-269, May 1987.
[20] J. Sosnowski, "Detection of Control Flow Errors Using Signature and Checking Instructions,"Proc. IEEE Int'l Test Conf., 1988, pp. 81-88.
[21] T. Sridhar and S. Thatte, "Concurrent checking of program flow in vlsi processors," inProc. 12th ITC, 1982, pp. 191-199.
[22] R. Endre Tarjan,Data Structures and Network Algorithms, Society for Industrial and Applied Mathematics, 1983.
[23] P. S. Yu and D.M. Dias, "Concurrency control using locking with deferred blocking," inProc. 6th Int. Conf. Data Engineering, pp. 30-36, 1990.
[24] N. Warter and W. Hwu, "A software based approach to achieving optimal performance for signature control flow checking," inProc. 20th FTCS, 1990, pp. 442-449.
[25] K. Wilken, "Optimal signature placement for processor-error detection using signature monitoring," inProc. 21st FTCS, 1991, pp. 326-333.
[26] K. Wilken and J. Shen, "Embedded signature monitoring: Analysis and technique," inProc. 17th ITC, 1987, pp. 324-333.
[27] K. Wilken and J.P. Shen, "Continuous Signature Monitoring, Low-Cost Concurrent Dtection of Processor Control Errors,"IEEE Trans. Computer Aided Design, Vol. CAD-9, No 6, June 1990, pp. 629-641.

Index Terms:
optimal graph-construction approach; program signatures; signature monitoring; concurrent detection; program-memory errors; undirected graph; XOR; arithmetic checksum; spanning tree algorithm; optimal placement; cyclic codes; optimal signature placement; SPEC89 benchmark suite; cyclic codes; error detection; fault tolerant computing; logic testing.
K.D. Wilken, "An Optimal Graph-Construction Approach to Placing Program Signatures for Signature Monitoring," IEEE Transactions on Computers, vol. 42, no. 11, pp. 1372-1381, Nov. 1993, doi:10.1109/12.247847
Usage of this product signifies your acceptance of the Terms of Use.