정의
- 성능 = 실행속도
- 실행속도? 응답시간과 처리율
- 속도? 단위 시간 당 처리하는 명령어의 개수로 생각 ⇒ 실행시간(=응답시간)? 어떤 프로그램을 시작하고 나서 답이 나오기까지 걸리는 시간
- 개인 사용자 입장: 응답시간(response time), 실행 시간(execution time)
- 시스템 관리자 입장: 처리율(throughput), 대역폭(bandwidth)
- but 사실상 현재 돌아가고 있는 시스템들은 시분할이 대부분이라 실행시간을 정확히 측정 불가(여러 동작들을 번갈아서 계속 실행하기에)
- 입출력 장치를 사용하는 경우, 많은 delay 발생(네트워크 딜레이)
- CPU 실행 시간
- 프로그램을 수행하는 데 순수하게 사용된 시간(이론적인 시간)
- 입출력이나 다른 프로그램의 실행시간은 포함 x
두 컴퓨터 m1과 m2 성능 비교
암달의 법칙
- 병렬화로 시스템의 일부분을 개선할 때 전체 시스템 성능이 얼마나 향상되는지 계산하는 방법
- 병렬화? 병렬 프로세서, 어떤 기능을 처리하는 부분을 복수 개로 두는 것
- 병렬화에 의한 성능향상은 시스템의 순차적인 부분에 필요한 시간으로 제한 ⇒ 시스템의 일부 기능을 향상시켜도 성능 향상이 되지 않는 부분에 의해 전체 시스템의 성능이 제한
- 병렬화에 의한 시스템 성능 향상의 한계를 지적하는 데 사용.
- 시스템의 일부분 𝑓를 병렬화 하여 성능을 𝑛배 향상,
나머지 부분 (1 − 𝑓)는 그대로 두었다고 가정,
성능 향상 전의 기계를 𝑀1, 성능이 향상된 기계를 𝑀2라 하면,
시스템 전체 성능 향상 𝑠는
- 𝑀1의 실행시간을 𝑚이라 할 때, 𝑀2의 실행시간은
⇒ 시스템 전체 성능 향상 𝑠는
→ n이 무한히 병렬화해 성능향상 시킨다면?
⇒ 결과적으로 시스템 전체 성능 향상 𝑠는 개선되지 않은 부분의 역수
Uploaded by N2T
'이론 > 컴퓨터구조' 카테고리의 다른 글
명령어 집합 (0) | 2023.11.03 |
---|---|
CPU 성능 분석 (0) | 2023.11.02 |
현대 컴퓨터의 발전 (0) | 2023.10.30 |
컴파일러, 인터프리터, 컴퓨터구조 (0) | 2023.10.12 |
하드웨어, 소프트웨어, 운영체제 (0) | 2023.10.11 |
댓글