Saturday, May 4, 2024

Software has Three Data Types

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

Thread Safe Computers

  The invention redefines thread safe.  For comparison, two current definitions are shown below. Due to blog incompatibility current version...