Locality Of Reference

In computer science, locality of reference, sometimes also called the principle of locality, is a concept which deals with the process of accessing a single resource multiple times. There are three basic types of locality of reference: temporal, spatial and sequential:
Temporal locality
The concept that a resource that is referenced at one point in time will be referenced again sometime in the near future.
Spatial locality
The concept that likelihood of referencing a resource is higher if a resource near it was just referenced.
Sequential locality
The concept that memory is accessed sequentially.
The reason these concepts are true is due to the manner in which computer programs are created. Generally, data that is related is stored in consecutive locations in memory. One common pattern in computing is that processing is performed on a single item and then the next. This means that if a lot of processing is done that the single item will be accessed more than once, thus leading to temporal locality of reference. Furthermore, moving to the next item implies that the next item will be read, hence spatial locality of reference, since memory locations are typically read in batches. Increasing and exploiting locality of reference are common techniques for optimization. This can happen on several levels of the memory hierarchy. Paging obviously benefits from spatial locality. A cache is a simple example of exploiting temporal locality, because it is a specially designed faster but smaller memory area, generally used to keep recently referenced data and data near recently referenced data, which can lead to potential performance increases. Data in cache does not necessarily correspond to data that is spatially close in main memory; however, data elements are brought into cache one cache line at a time. This means that spatial locality is again important: if one element is referenced, a few neighbouring elements will also be brought into cache. Finally, temporal locality plays a role on the highest level, since results that are referenced very closely together can be kept in a register. Programming languages such as C allow the programmer to suggest that certain variables are kept in register.

See also

 

<< PreviousWord BrowserNext >>
rita hayworth and shawshank redemption
the body
the new lieutenant's rap
books about stephen king
wizard and glass
apt pupil
bresenham's line algorithm
short fiction by stephen king
the waste lands
gnu mach
the eyes of the dragon
hearts in atlantis
umney's last case
nightmares & dreamscapes
lillehammer
skeleton crew
night shift (book)
philtrum press
riding the bullet
multiprocessing
selkirk rex
blood and smoke
dolores claiborne
gerald's game
the girl who loved tom gordon
the breathing method
the green mile
four past midnight
celebran
the long walk
celeborn
lrien
balrog
durin
michael heseltine
chromosomal crossover
mirrormere
boris johnson
misty mountains
the spectator
henley on thames
israeli palestinian conflict timeline
nain
nin