Browse Prior Art Database

Locality in Simulation and Reduction of Traces of Computer Operations

IP.com Disclosure Number: IPCOM000045565D
Original Publication Date: 1983-Apr-01
Included in the Prior Art Database: 2005-Feb-07
Document File: 1 page(s) / 13K

Publishing Venue

IBM

Related People

So, K: AUTHOR

Abstract

It is well known that simulations of compute systems (i.e., interconnections of processors, memories and I/O devices) are very time consuming. The fact is that mostly sequential programs are utilized to simulate highly parallel hardware. However, the trend in computer systems is toward faster and more complex systems. Longer and much more detailed simulations are needed to capture the true characteristics of the systems simulated. Thus, the time spent in simulation becomes increasingly critical.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 1

Locality in Simulation and Reduction of Traces of Computer Operations

It is well known that simulations of compute systems (i.e., interconnections of processors, memories and I/O devices) are very time consuming. The fact is that mostly sequential programs are utilized to simulate highly parallel hardware. However, the trend in computer systems is toward faster and more complex systems. Longer and much more detailed simulations are needed to capture the true characteristics of the systems simulated. Thus, the time spent in simulation becomes increasingly critical.

Usually the major part of a simulation involves many table lookups to update the status of the system being simulated and to collect statistics during the process. A simple technique is set forth below which avoids these lengthy searches, and hence cuts down significantly on the amount of time spent in simulation. Due to the way programs are coded and run, locality remains a dominating factor in computer operations, despite the rapid advance of computer technology. Since a system will stay in a state for a while, we can use some additional variables to remember Its status periodically, and will not have to search every time. Two typical areas are as follows:

1. Simulation of cache organizations. The storage unit of a cache is a line which can hold a small segment of bytes. A cache is a two-dimensional array in columns and rows of lines. In real hardware, for every double word access, the line address is hashed to a row and is compared simultaneously with all the lines currently residing in the row to determine if it is a cache hit or miss...