도서상세보기

도서명 소프트웨어 성능의 이해 - 에이콘 소프트웨어 아키텍처 시리즈
저자 리처드 사이트
출판사 에이콘출판
출판일 2024-01-31
정가 45,000원
ISBN 9791161758176
수량
1부. 측정

1장. 너무 느린 내 프로그램
1.1 데이터 센터의 측면
1.2 데이터 센터 하드웨어
1.3 데이터 센터 소프트웨어
1.4 긴 꼬리 지연시간
1.5 프레임워크에 관한 고찰
1.6 크기 정도 산정
1.7 트랜잭션이 느린 이유
1.8 5가지 기본적인 자원들
1.9 요약

2장. CPU 측정
2.1 과거에서 지금까지의 발자취
2.2 지금의 위치
2.3 add 명령어의 지연시간 측정
2.4 직선형 코드의 실수
2.5 간단한 반복문, 반복문 오버헤드 실수, 컴파일러 최적화 실수
2.6 사용되지 않는 변수로 인한 실패
2.7 향상된 반복문
2.8 의존적인 변수들
2.9 실제 실행 지연시간
2.10 몇 가지 추가 차이점
2.11 요약
연습

3장. 메모리 측정
3.1 메모리 타이밍
3.2 메모리
3.3 캐시 구조
3.4 데이터 정렬
3.5 변환 색인 버퍼 구조
3.6 측정
3.7 캐시 라인 크기 측정
3.8 문제: N+1 프리패칭
3.9 종속적인 로드
3.10 무작위가 아닌 DRAM
3.11 캐시 계층별 크기 측정
3.12 캐시 계층별 접근도 측정
3.13 변환 버퍼 시간
3.14 활용도 낮은 캐시
3.15 요약
연습

4장. CPU와 메모리의 상호작용
4.1 캐시 상호작용
4.2 간단한 행렬 곱셈의 다양성
4.3 예측
4.4 초기화, 크로스 체크 그리고 관찰
4.5 초기의 결과
4.6 더 빠른 행렬 곱셈, 전치 방법
4.7 더 빠른 행렬 곱셈과 하위 블록 방법
4.8 캐시 인지 계산
4.9 요약
연습

5장. 디스크/SSD 측정
5.1 하드 디스크
5.2 SSD
5.3 소프트웨어 디스크 접근과 디스크 버퍼링
5.4 디스크를 빠르게 읽는 방법
5.5 대략적인 계산
5.6 디스크 쓰기는 얼마나 빠른가
5.7 결과
5.8 디스크 읽기
5.9 디스크에 쓰기
5.10 SSD 읽기
5.11 SSD에 쓰기
5.12 다중 전
이 책에서 다루는 내용

* CPU와 메모리, 디스크/SSD, 네트워크 그리고 자원들간의 간섭과 관련된 문제를 측정하고 해결한다.
* 항상 느리게 동작하는 프로그램을 수정하고 뚜렷한 이유 없이 간헐적으로 지연되는 프로그램을 수정한다.
* 기대치와 성능 데이터의 차이가 발생하는 이유를 확인한다.
* 과도한 실행과 느린 명령어의 실행, 자원 사용을 대기하고 소프트웨어 락 등으로 발생한 문제를 규명한다.

이 책의 대상 독자

프로그래밍 과제를 수행하며 설명된 소프트웨어 관찰 도구를 구현하고자 하는 독자에게 특히 권장되는 책이다.
이 책 전반에 걸쳐 현대의 복잡한 프로세서와 성능 향상 메커니즘에 관한 설명이 등장한다. 실수로 이런 메커니즘을 무력화한다면 더 큰 지연이 발생할 수 있다. 독자는 이 모든 것과 함께 컴퓨터 아키텍처와 마이크로 아키텍처에 대해 더 깊이 이해할 수 있을 것이다.
이 책은 소프트웨어 전문가와 수준 높은 학생을 위한 교과서다. 뿐만 아니라 컴퓨터 하드웨어 설계자, 운영체제 개발자, 시스템 아키텍처 IT 전문가, 실시간 시스템 설계자 및 게임 개발자가 관심을 가질 만한 내용도 다룬다. 사용자가 직면한 대기 시간에 집중해서 모든 프로그래머의 경력을 향상할 수 있는 기술을 얻게 될 것이다.