memory/storage architecture lab 고급컴퓨터구조 keywords list

25
Memory/Storage Architecture Lab 고고고고고고고 Keywords List

Upload: zoe-miller

Post on 04-Jan-2016

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

Memory/Storage Architecture Lab

고급컴퓨터구조

Keywords List

Page 2: 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

Page 3: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

Memory/Storage Architecture Lab 33

Keywords List (2/2)

Causality Orthogonality

Fairness Portability

Flexibility Scalability

Inter-operability Transparancy

isolation Visibility

Locality(Temporal / Spatial)

Page 4: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 5: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 6: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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 하게 !!

Page 7: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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”?

Page 8: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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 가

존재하는 경우

Page 9: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 10: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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 와 비슷한 의미로 사용

Page 11: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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.” (∃)- 시간이 지나면 풀릴 수는 있음

Page 12: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 13: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 14: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 15: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 16: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 17: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 18: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 19: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 20: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 21: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 22: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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 에서 내가 보낼 놈에 하나를 더 얹어서 두 개 이상의 기능을 활용하는 것

Page 23: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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

Page 24: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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 를 높일 수 있음

Page 25: Memory/Storage Architecture Lab 고급컴퓨터구조 Keywords List

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