Three Data Types
Software recognizes three types of data
But hardware can not differentiate.
Idea 1 - Create Data Type Allocation Instruction
Idea 2 - Store Data in one place
1970 - Relational Data Bases
Idea 3 - Serialize updates through one instruction
1973 - Conditional compare and swap (CS)
Combine the three ideas:
Allocation instruction enables hardware to protect update integrity in three ways.
Exclusive data is not shared and can reside in a cache.
Shared data is updated in one place and CS protects using a pointer swap or lock.
Swap data is handled with an atomic CS. (pointer swap, lock, counter)
The hardware no longer needs to ensure update integrity because the software protects with a CS. Because data is stored in one place.
However:
CS was implemented in the cache and with coherence (1965 algorithm).
Solution:
Perform the CS in one place which for multi-core is main memory.
Result:
Coherence vanishes because the software provides update integrity.
Scalable processors that connect only to the bus.
These multi-core processors can either reduce the multitasking queue or
run a dedicated process or both.
Different Algorithms for the Same Problem
No comments:
Post a Comment