잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).

여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.

감사합니다. -현록

후원해주실 분은 여기로→

현록의 기록저장소

컴퓨터 구조 및 설계 - Chapter 6. Storage and Other I/O Topics 본문

Study/Computer Science

컴퓨터 구조 및 설계 - Chapter 6. Storage and Other I/O Topics

현록 2019. 12. 29. 20:55

Chapter 6. Storage and Other I/O Topics

ㆍI/O 시스템을 이해할 수 있다.

6.1 - Introduction

6.2 - Dependability, Reliability, and Availability

6.3 - Disk Storage

6.4 - Flash Storage

6.5 - Connecting Processors, Memory, and I/O Devices

6.6 - Interfacing I/O Devices to the Processor, Memory, and Operating System

6.7 - I/O Performance Measures: Examples from Disk and File Systems

6.9 - Parallelism and I/O: Redundant Arrays of Inexpensive Disks

6.8 - Designing an I/O System

6.10 - Real Stuff: Sun Fire x4150 Server

6.12 - Fallacies and Pitfalls

6.13 - Concluding Remarks

(목차를 블록 선택 후, Ctrl+F로 탐색 가능 - 브라우저에 따라 다를 수 있음)


<6.1 - Introduction>

 

 

 

Introduction

 

*I/O 장치들은 다음으로 분류될 수 있다.

 ㆍ동작: Input, Output, Storage

 ㆍ파트너(누구와 동작하는지): 인간 또는 다른 장치

 ㆍdata rate: bytes/sec, transfer/sec

 

*I/O bus connections

 

 

 

I/O System Characteristics

 

ㆁDependability(신뢰성)이 중요하다.

 *특히 storage device(저장장치)에서는 더욱.

 

ㆁ성능은 다음으로 측정된다.

 *Latency(response time. 응답시간. 명령이 완료될 때까지 걸리는 총 수행시간)

 *Throughput(bandwidth. 대역폭. 처리량.)

 

 *desktop & embeded systems

  ㆍ주로 response time(속도)과 diversity of devices(다양한 장치와 호환)에 초점

 *servers

  ㆍ주로 throughput(처리량)과 expendability of devices(장치의 소비성)에 초점

 


<6.2 - Dependability, Reliability, and Availability>

 

 

 

Dependability

 

*Falut(결점): component(구성요소)의 failure(실패)

 ㆍsystem failure로 이어지거나, 그렇지는 않거나.

 

 

 

Dependability Measures

 

*Reliability(신뢰성, 확실성): Mean Time To Failure (MTTF)

 ㆍ오류까지의 평균시간.

  즉, 오류가 언제마다 한 번씩 발생하는지의 평균.

  정상적으로 수행되는 상태의 시간들.

 ㆍ클 수록 적게 발생하고, 작을 수록 잦게 발생한다는 것이니, 클 수록 좋은 것.

 

*service interruption(중단): Mean Time To Repair (MTTR)

 ㆍrepair(수리)에 걸리는 시간

 ㆍ작을 수록 빨리 복원되는 것이니, 작을 수록 좋은 것.

 

*Mean Time Between Failures (MTBF)

 ㆍ오류들 사이의 평균시간.

 ㆍ--------v=-------v=----v=-v=---...에서,

  -(정상), v(오류), =(복구)라 하면,

  오류(v)들 사이의 시간들은 -나 =으로 이루어져 있으니,

  정상 수행과 복구에 걸리는 시간들의 각각의 평균의 합으로.

 ㆍMTBF = MTTF + MTTR

 

*Availability(가용성. service가 제대로 수행될 확률) = MTTF / (MTTF + MTTR) = MTTF / MTBF

 

*Availability를 향상시키려면,

 ㆍMTTF를 늘린다(오류가 더 적게 발생하도록):

  fault avoidance(회피), fault tolerance(허용. 즉, 극복하고 실행), fault forecast(예보. 예측)

 ㆍMTTR을 줄인다(복구가 빠르도록):

  진단(diagnosis)과 수리(repair)를 위한 향상된(improved) 도구(tool)와 프로세서.

 


<6.3 - Disk Storage>

 

 

 

Disk Storage

 

*nonvolatile(비휘발성), rotating magnetic storage. 자기를 띤, 겹친 디스크가 회전.

 ㆍtrack의 sector에 데이터가 쓰여짐.

 

 

 

Disk Sectors and Access

 

ㆁ각 sector에는 다음이 기록(record)되어있다.

 *sector ID

 *data (512bytes, 4096bytes(4KB)가 선호된다.)

 *Error Correcting Code (ECC)

  ㆍ결함(defects) 및 기록 오류(recording errors)를 숨기는데(hide) 사용????

 *synchronization fields(동기화를 위한 영역)와 gaps(간격)

  ㆍsector간 구분을 위해 gap이 존재

 

ㆁsector에 access하는데에 다음의 과정들이 소요된다.

 *만약 다른 access가 보류중(pending)이라면, 대기열에 들어가며 기다린다(queing delay).

 *seek(찾기): head를 원하는 track위로 움직인다.

 *rotational latency: track 중에 sector가 head 위치에 오도록, 디스크가 회전.

 *data transfer

 *controller overhead(간접비)

 

 

 

Disk Access 예제

 

*조건

 ㆍ512B sector

 ㆍ15,000 rpm

 ㆍ4 ms average seek time

  (track의 깊이에 따라 다르기 때문에 평균으로)

 ㆍ100 MB/s transfer rate

 ㆍ0.2 ms controller overhead

 ㆍidle(이상적인) disk: queing delay가 없다고 봄.

 

*평균 read time

 ㆍ4 ms (seek time)

  + ((1/2) / (15000 rpm / 60 sec per min) = (1/2) / 250rps = 0.002s = 2ms) (rotational latency. 평균으로서 1/2.)

  + ((512 B) / (100 MB/s) = 0.005 ms) (transfer time)

  + 0.2 ms (controller delay)

  = 6.205 ms

 

*만약 실제 평균 seek time이 1 ms라면,

 ㆍ평균 read time = 3.205 ms

 ㆍtransfer time이 가장 미미하고, seek time, rotational latency가 가장 큰 비중을 차지.

 

 

 

Disk Performance Issues

 

*제조사는 평균 seek time을 명시(quote)해야한다.

 ㆍ가능한 모든(멀,중,가..) seek에 기초하여 계산.

 ㆍlocality와 OS scheduling이 실제로는 평균 seek time보다 빠르도록 해줄 것임.

 

*smart disk controller는 disk에 physical sector를 할당시킨다(allocate).

 ㆍhost의 logical sector와 disk의 physical sector간의 interface.

 ㆍhost(host system. 컴퓨터측)의 logical sector를 실제 physical sector로.

  (logical sector number를 physical sector number로. 즉, address translation.)

 ㆍSCSI, ATA, SATA, SAS

 

*disk drive들은 cache(작은 메모리. DRAM. 최근에는 32MB 정도.)를 갖고있다.

 ㆍaceess에 전에 미리(anticipation) sector를 prefetch함.

 ㆍ즉, 캐시로서 자주 사용하는 정보를 저장해둠.

 ㆍseek와 rotation으로 인한 delay를 피함(avoid).

 


<6.4 - Flash Storage>

 

Flash Storage

*nonvolatile(비휘발성)의 semiconductor(반도체) storage

 ㆍdisk보다 100~1000배 빠르다

 ㆍ더 작고(물리적인 형태가 다르니, 작으면서도 빠르다), 더 저전력에, 외부충격에 더 강하다.

 ㆍ하지만 cost/GB는 더 비싸다. (disk와 DRAM의 사이 정도)

 

 

 

Flash Types

 

*NOR flash: bit cell이 마치 NOR gate(둘 다 0이어야 1)처럼.

 ㆍ각 cell이 병렬 형태로 이루어져, random access가 가능하다.

 ㆍ하지만, 개별적으로 접근하기 위한 전극이 필요하여, 필요한 면적이 넓어지게 된다(집적도가 떨어진다).

 ㆍrandom read/write access

 ㆍembeded system의 instruction memory로 사용된다.

 

*NAND flash: bit cell이 마치 NAND gate(둘 다 1이어야 0)처럼.

 ㆍ각 cell이 직렬 형태로 이루어져, 순차적으로 access해야 한다.

 ㆍ더 집약적이다(bits/area). 블록으로(block-at-a-time) access한다.

 ㆍcost/GB는 더 싸다.

 ㆍNOR에 비해 속도가 느려서 memory보다는 storage로 활용한다.

 ㆍUSB keys, media storage 등 다양한 저장장치로 사용된다.

 

*flash bit는 수만 번의 access를 거친 후에는 마모된다(wear out. 기능상실.).

 ㆍdirect RAM이나 disk의 완전 대체(replacement)로는 적합하지 않다.

 ㆍwear leveling(마모균등): 덜 자주 쓰인 블록(less used block)에 remap data.

 


<6.5 - Connecting Processors, Memory, and I/O Devices>

 

 

 

Interconnecting Components

요소들을 서로 연결

 

*다음의 요소들은 서로 연결이 필요하다.

 ㆍCPU, memory, I/O controllers

 

*Bus: 요소끼리 공유하는 소통채널 (shared communication channel)

 ㆍdata 및 data transfer의 synchronication을 위한 선(wire)들의 병렬 집합(parallel set)

 ㆍ여러 선들이 모이니, performance bottleneck(병목현상. 더 좁은 곳으로 모이면서 정체.)이 생기기 쉬움.

 

*물리적인 인자들(physical factors)에 의해 성능이 제한된다.

 ㆍwire 길이, connection의 수

 

*좀 더 현대의 방식(more recent alternative): switch(network L2장비)를 이용한 high-speed serial connections

 ㆍnetworks처럼.

 

 

 

Bus Types

 

*프로세서-메모리 bus

 ㆍ짧음, 초고속.

 ㆍbus의 설계는 memory organization(내부구조)에 맞춰서(match).

 

*I/O bus

 ㆍ더 김. multiple connection을 허용.

 ㆍ상호운용성의 표준으로 명시되어있다(specified by standards for interoperability)????

 ㆍbridge를 통해 프로세서-메모리 bus와 연결된다.

 

 

 

Bus Signals and Synchronization

 

*data lines

 ㆍaddress와 data를 운송

 ㆍmultiplexed or separated

 

*control lines

 ㆍdata type을 나타내거나, transaction의 동기화(synchronize).

 

*synchronous(동기방식) bus

 ㆍbus clock에 맞춰서 동작한다.

 

*asynchronous(비동기방식) bus

 ㆍhandshaking방식으로, request/acknowledge control lines을 사용한다.

 

 

 

I/O Bus 예시

2000년대 기준이라 오래된 자료

  Firewire USB 2.0 PCI Express Serial ATA Serial Attached SCSI
사용목적 external external internal internal external
devices per channel 63 127 1 1 4
data width 4 2 2/lane 4 4
peak bandwidth 50MB/s, 100MB/s 0.2MB/s, 1.5MB/s, 60MB/s 1x, 2x, 4x, 8x, 16x, 32x of 250MB/s/lane 300MB/s 300MB/s
hot pluggable yes yes depends yes yes
max length 4.5m 5m 0.5m 1m 8m
standard IEEE 1394 USB Implementers Forum PCI-SIG SATA-IO INCITS TC T 10

 

 

 

Typical x86 PC I/O System

최근에는 north bridge가 CPU 안에 들어가있는 형태로.

 


<6.6 - Interfacing I/O Devices to the Processor, Memory, and Operating System>

 

 

 

I/O Management

 

 

 

I/O Commands

 

 

 

I/O Register Mapping

 

*memory mapped I/O

 ㆍ레지스터가 메모리처럼 같은 공간이 address된다(registers are addressed in same space as memory).

 ㆍaddress decoder가 구분해낸다(distinguish between them).

 ㆍOS는 address translation 메커니즘을 사용하여 오직 kernal에서만 접근가능하도록 한다(make them only accessible to kernel).

 

*I/O instructions

 ㆍI/O 레지스터에 access하기 위한 instruction이 따로 존재한다(separate).

 ㆍkernel mode에서만 실행될 수 있다.

 ㆍ예시: x86

 

 

 

Polling

 

 

 

Interrupts

 

 

 

I/O Data Transfer

 

*polling과 interrupt-driven I/O

 ㆍCPU가 개입해야 함.

 ㆍCPU가 data를 메모리와 I/O data register 사이에 전달한다(transfer).

 ㆍCPU가 개입하므로, 시간이 좀 걸리는(time consuming) 형태라,

  high-speed 장치에서는 알맞지 않음. 그래서↓

 

*Direct Memory Access (DMA)

 ㆍOS가 메모리의 시작주소를 제공함(provide. 알려줌).

 ㆍI/O controller가 메모리간에(to/from memory)(혹은 장치간에) 자율적으로(autonomously) 교환함(transfer).

 ㆍ즉, CPU 개입 없이.

 ㆍcompletion(완료) 혹은 error가 나면, controller가 interrupt(중단) 신호를 내서 CPU에 알려줌.

 

*1KB를 복사하고 싶다면,

 ㆍCPU가 개입하는 방식은, CPU가 1KB를 복사하는 모든 동작에 관여.

 ㆍ하지만 DMA는 처음에 시작하는 부분만 개입하고, 전체 동작에는 개입하지 않음.

  그러므로 그동안 CPU는 다른 일을 할 수 있음. system의 throughput을 높여줌.

 

 

 

DMA/Cache Interaction

 

ㆁCPU가 개입하지 않기 때문에, DMA는 메모리에 있는 데이터만(캐시에 있는 X) 읽음.

 *하지만 최근의 값은 캐시에 있을 확률이 높음

 

ㆁDMA가 캐시된 메모리 블록에 write를 하면,

 *캐시의 데이터는 stale(신선하지 않은. 원본과 다른)해진다.

 

ㆁwrite-back방식의 cache가 dirty block을 갖고있고, DMA가 메모리로부터 해당 block을 read하면,

 *최근값은 캐시의 정보가 맞기 때문에,

  DMA는 stale한 data를 읽게된다.

 

ㆁcache coherence(통일성)을 보장해야(ensure) 한다.

 *만약 DMA가 사용하려는 block에 대해, 캐시에서는 해당 block을 비워버리도록(flush) 한다.

  ㆍDMA write면 캐시가 stale하지 않도록

  ㆍDMA read면 캐시가 write-back해서 올바른 정보를 read하도록

 *혹은 I/O을 위한(DMA를 위한) 영역을 non-cacheable(캐시를 사용하지 않는) memory location으로 사용한다.

 

 

 

DMA/VM Interaction

 

*OS는 메모리의 virtual address를 사용한다.

 ㆍDMA는 physical memory를 사용한다????

 ㆍDMA block들은 physical memory에서 아마 연속적(contiguous)이지 않을 것이다????

 

*DMA도 virtual address를 사용하는가?

 ㆍcontroller가 translation 작업을 해야할 것이다.

 

*만약 DMA가 physical address를 사용한다면,

 ㆍpage-size의 chunk(덩어리)들로 transfer를 쪼개야(break)한다.

 ㆍ연결된(chain) multiple transfer가 이뤄진다.

 ㆍDMA를 위한 contiguous physical page들을 할당(allocate)한다.

 


<6.7 - I/O Performance Measures: Examples from Disk and File Systems>

 

 

 

Measuring I/O Performance

 

*I/O performance는 다음에 의존한다(depends on).

 ㆍ하드웨어: CPU, memory, controllers, buses

 ㆍ소프트웨어: OS, database management system, application

 ㆍworkload(작업량): request rates 및 patterns

 

*I/O 시스템 설계는 response time(응답시간)과 throughput(처리량) 사이의 trade-off를 할 수 있다.

 ㆍ적절히 조화시켜야 한다.

 ㆍthroughput의 측정은 주로(often) 제한된(constrained) response time에서 행해진다.

 

 

 

Transaction Processing Benchmarks

 

*Transactions

 ㆍDBMS(Database Management System)에 access하는 단위

 ㆍdata rate가 아닌, I/O rate에 영향을 받음.

 

*throughput(처리량) 측정

 ㆍresponse time limit과 failure handling에 초점

 ㆍtransaction의 ACID 성질(Atomicity, Consistency, Isolation, Durability)을 만족해야 함(당연한가).

 ㆍ총 cost per transaction

 

*Transaction Processing Council (TPC) benchmarks (http://www.tpc.org/)

 ㆍTPC-APP: B2B application server와 web service들

 ㆍTPC-C: 온라인 order entry 환경

 ㆍTPC-E: brokerage firm(중개 상사)를 위한 온라인 transaction processing

 ㆍTPC-H: decision support ─ business oriented ad-hoc queries

 

 

 

File System & Web Benchmarks

 

ㆁSPEC - System File System (SFS)

 *실제 시스템의 monitoring에 기초하며, NFS 서버에 synthetic(인조의) workload(작업량, 부하)를 걸어봄.

 *아래의 단위로 측정

  ㆍthroughput: operations/sec

  ㆍresponse time: average ms/operation

 

ㆁSPEC - Web Server benchmark

 *동시에(simulataneous) 여러 user session으로 측정하며, required throughput/session을 주제로 함.

 *세가지 workload: banking, ecommerce(전자거래), support

 

 

 

I/O vs. CPU Performance

 

ㆁAmdahl's Law

 *컴퓨터 성능이 좋아질 수록, I/O 성능을 무시할 수 없어짐.

  ㆍ다른 부분들이 다 성능이 좋아져도, I/O가 정체되면.. 걸림돌이 되니까.

 

ㆁ예제

 *Benchmark 측정결과로, CPU time은 90s, I/O time은 10s라고 하자.

 *Amdahl's Law로, CPU time이 2년마다 2배로 성능향상.

  ㆍI/O는 변하지 않는다고 가정.

year CPU time I/O time 경과시간 % I/O time
현재 90s 10s 100s 10%
2년 후 45s 10s 55s 18%
4년 후 23s 10s 33s 31%
6년 후 11s 10s 21s 47%

 


<6.9 - Parallelism and I/O: Redundant Arrays of Inexpensive Disks>

 

 

 

RAID

 

ㆁRedundant(여분의) Array of Inexpensive(Independent) Disks.

 *"여러개"의 작은 디스크를 그룹으로서 사용. (c.f, 한 개의 큰 디스크가 아니라)

 *parallelism이 성능을 향상시켜줌.

 *추가 disk가 redundant data storage로서 사용된다(복원 및 안전성).

 

ㆁfault tolerant(허용하는, 내성의) storage system을 제공함

 *특히 hot swap으로 인한 disk 실패로부터 보호

 

ㆁRAID 0

 *no redundancy(그냥 AID가 아닐까 싶은..)

  ㆍ여러 장의 disk를 번갈아가는(stripe) 순서로 data를 씀

  ㆍ데이터에 오류가 발생하면 복원할 수 없음.

 *하지만 성능은 향상됨.

  ㆍ한꺼번에 여러 장에서 읽을 수 있으니

 

 

 

RAID 1 & 2

 

ㆁRAID 1: Mirroring

 *N+N으로 데이터 보관. 즉, 데이터 복제(replicate)

  ㆍdata disk와 mirror disk 양쪽 모두에 data를 write.

  ㆍ성능(속도)은 1개의 디스크처럼 그대로임.

  ㆍdisk failure가 일어나면, mirror로부터 read. fault-tolerance 기능.

  ㆍ가끔 쓰임

 

ㆁRAID 2: Error Correcting Code (ECC)

 *N+E의 디스크들 (e.g., 10장 + 4장)

 *N개의 디스크들에 data를 bit단위로 쪼개어 디스크들에 나눠서 저장.

 *E개의 디스크들에 ECC를 생성

 *너무 복잡하여, 실제로는 잘 쓰이지 않음.

 

 

 

RAID 3: Bit-Interleaved Parity

비트간의 parity

 

ㆁN+1의 디스크들.

 *N개의 디스크들에 data를 byte단위로 쪼개어 디스크들에 번갈아가는(stripe) 순서로 저장.

 *1개의 디스크에는 parity를 저장. 원본을 비교하여 만든 정보. fault 감지 및 복구에 사용.

 *read access

  ㆍ모든 디스크로부터 read

 *write access

  ㆍ모든 디스크에 access, 새로운 parity를 생성.

 *failure 발생시

  ㆍmissing data를 수복(reconstruct)하기 위해 parity를 사용

 

ㆁ많이 쓰이진 않음(not widely used)

 

 

 

RAID 4: Block-Interleaved Parity

block간의 parity

 

ㆁN+1의 디스크들.

 *N개의 디스크들에 data를 block단위로 쪼개어 디스크들에 번갈아가는(stripe) 순서로 저장.

  ㆍsector가 보통 512bytes인데, byte씩 여러 sector에 access하는 것보다는, 더 큰 덩어리로 한 sector에 access하는게 효율적.

 *1개의 디스크에는 블록들의 그룹을 위한 parity를 저장.

 *read access

  ㆍrequired block을 갖고 있는 disk에서만 read.

 *write access

  ㆍ수정될 block을 갖고있는 disk 하나와 parity disk만 read.

  ㆍ새로운 parity를 계산하고, 해당 data disk와 parity disk를 업데이트.

 *failure 발생시

  ㆍmissing data를 수복(reconstruct)하기 위해 parity를 사용

 

ㆁ이것도 많이 쓰이진 않음

 

 

 

RAID 3 vs RAID 4

RAID 4가 디스크 access 수는 더 줄어듦.

 

 

 

RAID 5: Distributed Parity

ㆁN+1의 디스크들.

 *RAID 4와 비슷하지만, parity block이 전 디스크에 걸쳐 분산되어 있다.

  ㆍparity disk에 집중되는 병목(bottleneck)현상을 방지한다.

  ㆍ병목현상 없앴으니 성능적으로도 개선ㅇㅇ.

  ㆍ한 disk에 오류가 발생할 확률이 높아지는 것도 방지. 균등하게 분산.

 

ㆁ주로 사용되는 방식이다.

 

 

 

RAID 6: P+Q Redundancy

 

ㆁN+2의 디스크들.

 *RAID 5와 비슷하지만, 두 배의(2 lots of) parity

 *more redundancy로 fault tolerance가 향상됨

  ㆍRAID 5는 single error일 때만 복원할 수 있으나, 여러 오류가 발생했을 때도 복원이 가능.

 

ㆁmultiple RAID

 *more advanced systems give similar fault tolerance with better performance.

 

 

 

RAID Summary

 

*RAID는 performance와 availability(가용성. 제대로 수행.)를 향상시킴.

 ㆍ높은 availability는 hot swapping을 필요로 함.

 

*disk failure가 independent하다고 가정한 것임.

 ㆍ전체가 파손되면 소용없음

 

*추가 자료로, "Hard Disk Performance, Quality and Reliability"

 ㆍhttp://www.pcguide.com/ref/hdd/perf/index.htm

 


<6.8 - Designing an I/O System>

 

 

 

I/O System Design

 

 

 


<6.10 - Real Stuff: Sun Fire x4150 Server>

 

 

 


<6.12 - Fallacies and Pitfalls>

 

 

 

Fallacy: Disk Dependability

착오: 디스크 신뢰성

 

ㆁ만약 disk 제조사가 MTTF를 1,200,000hr(140yr)로 명시한다면..??

 *140년에 한 번 오류가 발생한다고..??

 

ㆁMTTF는 말 그대로, failure가 발생하기 까지의 "mean time(평균시간)"이다.

 *failure의 분포(distribution)은 어떤가?

 *1000개의 disk를 사용한다면 어떤가?

  ㆍ1년에 얼마나 fail이 발생할 것인가?

  ㆍ1년에 1000개 중 7개의 disk에 오류 발생.

   즉, 140년이 계산에 들어가도, 결과적으로 큰 수치는 아님.

 

 

 

Fallacies

 

ㆁdisk failure는 다음처럼 여러 형태로 명시된다(specified).

 *studies of failure rates in the field

  ㆍSchreoder와 Gibson: 2% to 4% vs. 0.6% to 0.8%

  ㆍPinheiro, et al.: 1.7%(first year) to 8.6%(third year) vs. 1.5%

 *왜?

  ㆍ시스템에 따라 다르기도 하고, 당연히 처음엔 좋지만 노후되면서 안좋아지니..

 

ㆁ1GB/s interconnect는 1초에 1GB를 전송하는가?

 *but what's a GB?

 *for bandwidth, use 1GB = 10^9 Bytes

 *for storage, use 1GB = 2^30 Bytes = 1.075*10^9 Bytes

 *so 1GB/s is 0.93GB in one second

  ㆍabout 7% error

 

 

 

Pitfall: Offloading to I/O Processors

 

 

 

Pitfall: Backing Up to Tape

 

 

 

Fallacy: Disk Scheduling

 

 

 

Pitfall: Peak Performance

 

 


<6.13 - Concluding Remarks>

 

 

 

Concluding Remarks

끝 맺으며

 

*I/O 성능 측정

 ㆍthroughput, response time

 ㆍdependability와 cost 역시 중요함

 

*CPU, memory, I/O controllers를 연결하는데 bus를 사용

 ㆍpolling, interrupts, DMA

 

*I/O benchmarks

 ㆍTPC, SPECSFS, SPECWeb

 

*RAID

 ㆍperformance와 dependability를 향상

 

 

 

 

 

 

111  ㆁ   *  ㆍ   ※∴→←↑↓↔↕±≒≠111

 

 

Comments

잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).

여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.

감사합니다. -현록

후원해주실 분은 여기로→