250 likes | 487 Views
고급컴퓨터구조. Keywords List. Keywords List (1/2). Keywords List (2/2). Keywords List (1/2). “ 감출 건 감추고 보일 건 보여준다 .” Complexity 의 Limitation 감출 것 : Implementation Detail Encapsulation Information Hiding 보 일 것 : 사용하는 데 필요한 정보 Configuration 과 Invokation 을 위한 Parameterization.
E N D
고급컴퓨터구조 Keywords List
Keywords List (1/2) • “감출 건 감추고 보일 건 보여준다.” • Complexity의 Limitation • 감출 것 : Implementation Detail • Encapsulation • Information Hiding • 보일것 : 사용하는 데 필요한 정보 • Configuration과 Invokation을 위한Parameterization
Keywords List (1/2) • 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
Keywords List (1/2) • “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하게!!
Keywords List (1/2) • Cache의 write buffering : Store를 Asynchronous하게 • 이럴 경우의 문제 → Consistency • Cachemiss가 났을 때 Memory 뿐만 아니라Write buffer를 뒤져야 한다는 것“Which is most “Up-to-Date” copy”?
Keywords List (1/2) • Coherence의 문제가 발생하는 경우 • 동일한 Entity의 Multiple Copy가존재하는 경우
Keywords List (1/2) • 다양한 System을 만들기 위해유한한 Component들을 이용할 수 있다. • 가장 좋은 예 : 레고 시스템 • 이 철학이 결국Object Oriented Design
Keywords List (1/2) • Consistency 역시 Synchronous처럼다양한 Context에서 다양한 의미로 사용 • In ACID Property • Database에서 지켜야 하는 Assertion을만족시키는 것 • 예) 좌변의 합은 우변의 합과 항상일치하여야 한다. • In Cache • Coherence와 비슷한 의미로 사용
Keywords List (1/2) • Deadlock : “Under Any Circumstances” (∀) • 미래가 어떻게 되더라도 이 상황은 바뀌지 않음 • Starvation : “There Exists a Scenario.” (∃) • 시간이 지나면 풀릴 수는 있음
Keywords List (1/2) • Memory Allocation
Keywords List (1/2) • Atomicity에서 한 번 언급 • 한 번 하나 무한 번 하나 효과는 동일 • 예) Store at a location • 어떤 Recovery의 Idempotent를 보여주려면각각의 Idempotent를 보여줘야 함 • Idempotent를 보장하기 위한 Technique • Logging, Shadow Paging
Keywords List (1/2) • “감출 건 감추고 보일 건 보여준다.” • 감출 것 • Encapsulation • Information Hiding
Keywords List (1/2) • 불만 : 무언가 굼뜰 때(Delay가 존재할 때)나보다 상대적으로 Latency가 긴 것을상대할 때 • 예) DRAM Interleaving • 이걸 구현하는 가장 중요한 Keyword는? • Multiplexing & Concentration • Multiplexing은 뭐 하나를 나누어 각각하나 있는 것 처럼 하는 것 • Time, Frequency, Code… • 하나를 나눠 여러 놈이 쓰게 했으면여러 개를 합쳐 하나로 만들 수 있어야한다 → Aggregation
Keywords List (1/2) • “감출 건 감추고 보일 건 보여준다.” • 감출 것 • Encapsulation • Information Hiding
Keywords List (1/2) • “감출 건 감추고 보일 건 보여준다.” • 감출 것 • Encapsulation • Information Hiding
Keywords List (1/2) • On demand : 요청을 받아서 하는 것 • Lazy – Something : 최대한 늦추다 해야만할 때 하는 것 • Lazy initialization • Lazy Evaluation ↔ Eager Evaluation
Keywords List (1/2) • “감출 건 감추고 보일 건 보여준다.” • 감출 것 • Encapsulation • Information Hiding
Keywords List (1/2) • “감출 건 감추고 보일 건 보여준다.” • 감출 것 • Encapsulation • Information Hiding
Keywords List (1/2) • 기능을 하나 추가해서 모든 고민을떨쳐버리는 것 • 예) ECC를 기똥차게 둬서 마치Data Corruption이 없는 것처럼하게 하는 것 → Layering
Keywords List (1/2) • “놀면 뭐해?” • Prediction이 잘못됐을 때 Recover할 수 있는Correct한 Mechanism 필요 • HW Mechanism : Roll back mechanismby Reorder Buffer • Reorder Buffer를 이용한 다른 기능→ Exception Handling : Precise exception & Precise Interrupt • 그 다음은? Performance를 생각해야 함.이것을 위해서는? Prediction을 얼마나 잘해내는지를 확인해야 함 • ※ 내가 하나의 Mechanism이 있는데 그게 다른기능도 해낸다. 이게 뭔가? (숟가락만 얹는 것)→ Piggybacking : Computer Network에서 내가 보낼 놈에 하나를 더 얹어서 두 개이상의 기능을 활용하는 것
Keywords List (1/2) • Synchronization과 연관되어 보다Specific한 개념을 나타내는 단어는?(Key Concept) • Event Ordering- event간의 Partial Ordering을Enforce하는 방법 (?) Partial Ordering vs Total Ordering?- Topology Sorting • Mutual Exclusion- 이 개념이 Transaction System에서 Isolation
Keywords List (1/2) • 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를 높일 수 있음
Keywords List (2/2) • “역사는 반복된다.” • Event A 이후에 Event B가 발생하는 경우,이후에도 비슷한 경향이 있을 것이라는 것 • 예) Prefetching