memory/storage architecture lab 고급컴퓨터구조 keywords list
TRANSCRIPT
Memory/Storage Architecture Lab
고급컴퓨터구조
Keywords List
Memory/Storage Architecture Lab 22
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering) On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
Memory/Storage Architecture Lab 33
Keywords List (2/2)
Causality Orthogonality
Fairness Portability
Flexibility Scalability
Inter-operability Transparancy
isolation Visibility
Locality(Temporal / Spatial)
Memory/Storage Architecture Lab 44
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
“ 감출 건 감추고 보일 건 보여준다 .”→ Complexity 의 Limitation
• 감출 것 : Implementation Detail- Encapsulation- Information Hiding
• 보일 것 : 사용하는 데 필요한 정보- Configuration 과 Invokation 을 위한
Parameterization
Memory/Storage Architecture Lab 55
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
• Exception vs Interrupt- Exception : Synchronous,
내가 일으키는 일- Interrupt : Asynchoronous,
다른 Entity 에 의해 일어나는 일 .•Logic Circuit
- Clock 에 의해 동작하면 Synchronous,- 그렇지 않으면 Asynchronous
•Blocking & Non-blocking in Storage System
- Read : Blocking, 읽어올 때 까지기다려야 함 → Synchronous
- Write : Non-blocking, 주면 알아서기록 → Asynchronous
Memory/Storage Architecture Lab 66
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
“All or Nothing.”
• Instruction 이 Atomic 하다면 ?- 다른 Event 들이 봤을 때 Individual 한 것- 어떤 Instruction 이 Atomic 하기 어려운가 ?
: Block copy. Why? Interrupt → (Mysterious 하게 ) 어떤 Routine 으로 .
그럼 어디에서 다시 시작해야 하는가 ? Atomic 하면 ISA 만 신경쓰면 됨 . 그렇지 않다면 ? 어디든 추적하기 위해 더 알아야 함
• Transaction Process System 에서 Atomicity- 만약 , Power Fail 시 Atomic 한 View 를 제공하는 방법은 ? Recovery Operation.- 문제 : 복구 중 Power Fail → 무한의 가능한 Scenario 등장
(Normal → Power Fail → Power Fail → … → Power Fail → Recovery)- 그래서 성현들이 제공한 방법 : Idempotent 하게 !!
Memory/Storage Architecture Lab 77
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
• Cache 의 write buffering : Store 를 Asynchronous 하게- 이럴 경우의 문제 → Consistency
Cache miss 가 났을 때 Memory 뿐만 아니라Write buffer 를 뒤져야 한다는 것“ Which is most “Up-to-Date” copy”?
Memory/Storage Architecture Lab 88
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
• Coherence 의 문제가 발생하는 경우→ 동일한 Entity 의 Multiple Copy 가
존재하는 경우
Memory/Storage Architecture Lab 99
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
• 다양한 System 을 만들기 위해유한한 Component 들을 이용할 수 있다 .
- 가장 좋은 예 : 레고 시스템- 이 철학이 결국
Object Oriented Design
Memory/Storage Architecture Lab 1010
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
Visibility
• Consistency 역시 Synchronous 처럼다양한 Context 에서 다양한 의미로 사용
• In ACID Property- Database 에서 지켜야 하는 Assertion 을
만족시키는 것- 예 ) 좌변의 합은 우변의 합과 항상
일치하여야 한다 .• In Cache
- Coherence 와 비슷한 의미로 사용
Memory/Storage Architecture Lab 1111
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
• Deadlock : “Under Any Circumstances” (∀)- 미래가 어떻게 되더라도 이 상황은 바뀌지 않음
• Starvation : “There Exists a Scenario.” (∃)- 시간이 지나면 풀릴 수는 있음
Memory/Storage Architecture Lab 1212
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
Memory Allocation
Memory/Storage Architecture Lab 1313
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
• Atomicity에서 한 번 언급• 한 번 하나 무한 번 하나 효과는 동일
- 예 ) Store at a location• 어떤 Recovery 의 Idempotent 를 보여주려면
각각의 Idempotent 를 보여줘야 함• Idempotent 를 보장하기 위한 Technique
- Logging, Shadow Paging
Memory/Storage Architecture Lab 1414
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
Visibility
“ 감출 건 감추고 보일 건 보여준다 .”
• 감출 것 - Encapsulation- Information Hiding
Memory/Storage Architecture Lab 1515
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
• 불만 : 무언가 굼뜰 때 (Delay 가 존재할 때 )나보다 상대적으로 Latency 가 긴 것을상대할 때- 예 ) DRAM Interleaving
• 이걸 구현하는 가장 중요한 Keyword 는 ?- Multiplexing & Concentration
• Multiplexing 은 뭐 하나를 나누어 각각하나 있는 것 처럼 하는 것- Time, Frequency, Code…- 하나를 나눠 여러 놈이 쓰게 했으면
여러 개를 합쳐 하나로 만들 수 있어야한다 → Aggregation
Memory/Storage Architecture Lab 1616
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
“ 감출 건 감추고 보일 건 보여준다 .”
• 감출 것 - Encapsulation- Information Hiding
Memory/Storage Architecture Lab 1717
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
“ 감출 건 감추고 보일 건 보여준다 .”
• 감출 것 - Encapsulation- Information Hiding
Memory/Storage Architecture Lab 1818
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
• On demand : 요청을 받아서 하는 것• Lazy – Something : 최대한 늦추다 해야만
할 때 하는 것 - Lazy initialization- Lazy Evaluation ↔ Eager Evaluation
Memory/Storage Architecture Lab 1919
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
“ 감출 건 감추고 보일 건 보여준다 .”
• 감출 것 - Encapsulation- Information Hiding
Memory/Storage Architecture Lab 2020
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
“ 감출 건 감추고 보일 건 보여준다 .”
• 감출 것 - Encapsulation- Information Hiding
Memory/Storage Architecture Lab 2121
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
• 기능을 하나 추가해서 모든 고민을떨쳐버리는 것- 예 ) ECC 를 기똥차게 둬서 마치
Data Corruption 이 없는 것처럼하게 하는 것 → Layering
Memory/Storage Architecture Lab 2222
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
“ 놀면 뭐해 ?”
• Prediction 이 잘못됐을 때 Recover 할 수 있는Correct 한 Mechanism 필요- HW Mechanism : Roll back mechanism
by Reorder Buffer- Reorder Buffer 를 이용한 다른 기능
→ Exception Handling : Precise exception & Precise Interrupt
• 그 다음은 ? Performance 를 생각해야 함 .이것을 위해서는 ? Prediction 을 얼마나 잘해내는지를 확인해야 함
※ 내가 하나의 Mechanism 이 있는데 그게 다른 기능도 해낸다 . 이게 뭔가 ? ( 숟가락만 얹는 것 ) → Piggybacking : Computer Network 에서 내가 보낼 놈에 하나를 더 얹어서 두 개 이상의 기능을 활용하는 것
Memory/Storage Architecture Lab 2323
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
• Synchronization 과 연관되어 보다Specific 한 개념을 나타내는 단어는 ?(Key Concept)1. Event Ordering
- event 간의 Partial Ordering 을 Enforce 하는 방법 (?) Partial Ordering vs Total Ordering?- Topology Sorting
2. Mutual Exclusion- 이 개념이 Transaction System 에서 Isolation
Memory/Storage Architecture Lab 2424
Keywords List (1/2)
Abstraction Interleaving (Multiplexing / Concentration)
Asynchronous / Synchronous Level of indirection
Atomicity Lookahead
Caching (Read caching / Write buffering)
On demand / Lazy – something/ Eager – something / Pre – something
Coherence Pipelining
Compositional Safeness/Liveness Property
Consistency Separation of concerns
Deadlock / Starvation Speculation
Dynamic / Semi-dynamic / Static Synchronization
Idempotent Virtualization
Inheritance/Operator Overloading/Polymorphism
• Keyword : Illusion어떤 의미로는 Abstraction 의 한 Example
• Process : 여러 개의 Logical 한 CPU- How? Context Switch by OS,
Using HW Mechanism→Timer Interrupt (Multiplexing)
- Save & Resume 할 내용이 잘 기술되어있어야 함 → ISA 라는 Interface 에 잘기술되어 있는 State. Register : 직접 Save. Memory : Virtual Memory 개념 이용
• Virtual Machine Monitor : Infinite 한 Computer System 을 무한히 사용하는 Illusion- 서로 다른 OS 를 동시에 사용- Portability 를 높일 수 있음
Memory/Storage Architecture Lab 2525
Keywords List (2/2)
Causality Orthogonality
Fairness Portability
Flexibility Scalability
Inter-operability Transparancy
isolation Visibility
Locality(Temporal / Spatial)
“ 역사는 반복된다 .”
• Event A 이후에 Event B 가 발생하는 경우 ,이후에도 비슷한 경향이 있을 것이라는 것- 예 ) Prefetching