소프트웨어 성능의 이해 또는 5분 뚝딱 철학: 생각의 역사 1
땅끝
2024-12-18 10:31
89
0
본문
소프트웨어 성능의 이해

도서명 : 소프트웨어 성능의 이해
저자/출판사 : 리처드 사이트, 에이콘출판
쪽수 : 588쪽
출판일 : 2024-01-31
ISBN : 9791161758176
정가 : 45000
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 다중 전송
5.13 요약
연습
6장. 네트워크 측정
6.1 이더넷
6.2 허브, 스위치, 라우터
6.3 TCP/IP
6.4 패킷
6.5 원격 프로시저 호출(RPC)
6.6 슬롭
6.7 네트워크 트래픽 관찰
6.8 간단한 RPC 메시지 정의
6.9 샘플 로깅 설계
6.10 샘플 RPC를 이용한 클라이언트 서버 시스템
6.11 간단한 서버 프로그램
6.12 스핀 락
6.13 샘플 클라이언트 프로그램
6.14 하나의 샘플 클라이언트 서버 RPC 측정
6.15 RPC 로그 후처리
6.16 관찰
6.17 요약
연습
7장. 디스크와 네트워크 데이터베이스의 상호작용
7.1 시간 정렬
7.2 다중 클라이언트
7.3 스핀 락
7.4 실험 1
7.5 디스크 기반 데이터베이스
7.6 실험 2
7.7 실험 3
7.8 로깅
7.9 트랜잭션 지연시간의 다양성 이해
7.10 요약
연습
2부. 관찰
8장. 로깅
8.1 관찰 도구
8.2 로깅
8.3 기본적인 로깅
8.4 확장된 로깅
8.5 타임스탬프
8.6 RPC ID
8.7 로그 파일 포맷
8.8 로그 파일 관리
8.9 요약
9장. 측정 결과의 통합
9.1 균일한 속도와 버스트 이벤트
9.2 측정 간격
9.3 타임라인
9.4 타임라인의 더 많은 요약
9.5 시간 규모 히스토그램
9.6 이벤트별 측정 집계
9.7 시간에 따른 값의 패턴
9.8 시간 간격 업데이트
9.9 트랜잭션 예제
9.10 결론
10장. 대시보드
10.1 샘플 서비스
10.2 샘플 대시보드
10.3 마스터 대시보드
10.4 인스턴스별 대시보드
10.5 서버별 대시보드
10.6 정상 상태 검사
10.7 요약
연습
11장. 다른 도구들
11.1 관찰 도구의 종류
11.2 관찰 데이터
11.3 top 명령어
11.4 /proc과 /sys 수도 파일
11.5 time 명령어
11.6 perf 명령어
11.7 oprofile, CPU 프로파일러
11.8 strace, 시스템 콜
11.9 ltrace, CPU C 라이브러리 호출
11.10 ftrace, CPU 추적
11.11 mtrace, 메모리 할당/해제
11.12 blktrace, 디스크 추적
11.13 tcpdump와 와이어 샤크, 네트워크 추적
11.14 locktrace, 임계 구역 락
11.15 부하, 외부 호출, 그리고 트랜잭션 지연시간
11.16 요약
연습
12장. 추적
12.1 추적의 장점
12.2 추적의 단점
12.3 시작하며 묻는 세 가지 질문
12.4 예제: 초기의 프로그램 카운터 추적
12.5 예제 : 함수별 카운트와 시간
12.6 사례 연구 : 지메일의 함수별 추적
12.7 요약
13장. 관찰 도구 설계 원칙
13.1 관찰의 대상
13.2 관찰의 정도
13.3 오버헤드의 정도
13.4 설계 결과
13.5 사례 연구 : 히스토그램 버킷
13.6 데이터 디스플레이 설계
13.7 요약
3부. 커널-사용자 추적
14장. KUtrace: 목적, 설계, 구현
14.1 개요
14.2 목표
14.3 설계
14.4 구현
14.5 커널 패치와 모듈
14.6 컨트롤 프로그램
14.7 후처리
14.8 보안
14.9 요약
15장. KUtrace: 리눅스 커널 패치
15.1 추적 버퍼 데이터 구조
15.2 가공되지 않은 추적 블록 형태
15.3 추적 항목
15.4 IPC 추적 항목
15.5 타임스탬프
15.6 이벤트 번호
15.7 중첩된 추적 항목
15.8 코드
15.9 패킷 추적
15.10 AMD/인텔 x86-64 패치
15.11 요약
연습
16장. KUtrace: 리눅스 커널 모듈
16.1 커널 인터페이스 데이터 구조
16.2 모듈 로드/언로드
16.3 초기화와 추적 제어
16.4 추적 요청 구현
16.5 Insert1
16.6 InsertN
16.7 새로운 커널블록으로 전환
16.8 요약
17장. KUtrace: 사용자 모드 런타임 제어
17.1 추적 제어
17.2 홀로 동작하는 kutrace_control 프로그램
17.3 kutrace_lib 라이브러리
17.4 커널 모듈을 제어하는 인터페이스
17.5 요약
18장. KUtrace: 후처리
18.1 후처리 상세보기
18.2 rawtoevent 프로그램
18.3 eventtospan 프로그램
18.4 spantotrim 프로그램
18.5 spantospan 프로그램
18.6 samptoname_k와 samptoname_u 프로그램
18.7 makeself 프로그램
18.8 KUtrace JSON 형태
18.9 요약
19장. KUtrace: 소프트웨어 역동성 디스플레이
19.1 개요
19.2 1구역, 제어
19.3 2구역, Y축
19.4 3구역, 타임라인
19.5 4구역, IPC 범례
19.6 5구역, X축
19.7 6구역, 저장/복구
19.8 보조 제어
19.9 요약
4부. 추론
20장. 찾고자 하는 것
20.1 개요
21장. 너무 많은 실행
21.1 개요
21.2 프로그램
21.3 미스터리
21.4 탐구 및 추론
21.5 미스터리 이해
21.6 요약
22장. 느린 실행
22.1 개요
22.2 프로그램
22.3 미스터리
22.4 부동 소수점 방해 프로그램
22.5 메모리 방해 프로그램
22.6 미스터리의 이해
22.7 요약
23장. CPU 대기
23.1 프로그램
23.2 미스터리
23.3 탐구와 추론
23.4 미스터리2
23.5 미스터리2의 이해
23.6 보너스 미스터리
23.7 요약
연습
24장. 메모리 대기
24.1 프로그램
24.2 미스터리
24.3 탐구와 추론
24.4 미스터리 2 : 페이지 테이블 접근
24.5 미스터리 2의 이해
24.6 요약
연습
25장. 디스크 대기
25.1 프로그램
25.2 미스터리
25.3 탐구와 추론
25.4 40MB 읽기
25.5 순차적 4KB 블록 읽기
25.6 임의의 4KB 블록 읽기
25.7 SSD의 40MB 쓰기와 동기화
25.8 SSD의 40MB 읽기
25.9 한 번에 두 파일에 접근하는 두 프로그램
25.10 미스터리의 이해
25.11 요약
연습
26장. 네트워크 대기
26.1 개요
26.2 프로그램
26.3 실험 1
26.4 실험 1의 미스터리
26.5 실험 1 탐구와 추론
26.6 실험 1의 RPC 소요 시간
26.7 실험 2
26.8 실험 3
26.9 실험 4
26.10 미스터리의 이해
26.11 추가 이상 현상
26.12 요약
27장. 락 대기
27.1 개요
27.2 프로그램
27.3 실험 1 : 오랜 락 유지 시간
27.3.1 간단한 락
27.3.2 락 포화
27.4 실험 1의 미스터리
27.5 실험 1의 탐구와 추론
27.5.1 락 캡처
27.5.2 락 기아
27.6 실험 2 : 락 캡처 수정
27.7 실험 3 : 다중 락에 의한 락 경합 수정
27.8 실험 4 : 더 적은 락을 통한 락 경합 수정
27.9 실험 5 : 대시보드를 위한 RCU를 이용한 락 경합 수정
27.10 요약
28장. 시간 대기
28.1 주기적인 작업
28.2 타임아웃
28.3 타임 슬라이싱
28.4 인라인 실행 지연
28.5 요약
29장. 큐 지연
29.1 개요
29.2 요청 분포
29.3 큐 구조
29.4 작업 테스크
29.5 프라이머리 테스크
29.6 디큐
29.7 인큐
29.8 스핀 락
29.9 “작업” 루틴
29.10 간단한 예제
29.11 가능성 있는 문제
29.12 CPU 빈도수
29.13 복잡한 예제
29.14 CPU 대기 : RPC 로그
29.15 CPU 대기 : KUtrace
29.16 PlainSpinLock 결함
29.17 근본 원인
29.18 PlainSpinLock 수정 : 가시성
29.19 부하 분산
29.20 큐 길이 : 가시성
29.21 마지막 스핀
29.22 추가 결함
29.23 크로스 체크
29.24 요약
연습
30장. 정리
30.1 배운 것
30.2 배우지 못한 것
30.3 다음 단계
30.4 전체 책 요약
부록 A. 샘플 서버
A.1 샘플 서버 하드웨어
A.2 서버 연결
부록 B. 추적 항목
B.1 고정 길이의 추적 항목
B.2 가변 길이의 추적 항목
B.3 이벤트 번호
B.3.1 커널 모드 KUtrace 패치로 삽입된 이벤트
B.3.2 유저 모드 코드로 삽입된 이벤트
B.3.3 후처리 코드로 삽입된 이벤트
5분 뚝딱 철학: 생각의 역사 1

도서명 : 5분 뚝딱 철학: 생각의 역사 1
저자/출판사 : 김필영, 스마트북스
쪽수 : 464쪽
출판일 : 2024-01-25
ISBN : 9791193674017
정가 : 22000
프롤로그_『5분 뚝딱 철학-생각의 역사』를 여행하는 히치하이커를 위한 안내서
1장 고대
최초의 환원주의
탈레스: 만물은 물이다
최초의 세계 지도
아낙시만드로스: 아페이론 (feat. 아인슈타인)
그래도 지구는 평평하다
아낙시메네스: 만물은 공기다 (feat. 헤겔)
이게 왜 딱 안 떨어져요?
피타고라스: 만물은 수이다
화산에 몸을 던진 철학자
엠페도클레스: 4원소설 (feat. 제5원소)
판타 레이
헤라클레이토스: 만물은 흐른다
방구석 철학자
파르메니데스: 영원불변한 세계
우사인 볼트의 100미터 기록은 정말일까?
제논과 멜리서스: 변화와 운동은 가능한가?
나는 정말로 나인가?
테세우스의 배: 변화와 동일성의 문제
아무것도 존재하지 않는다
고르기아스: 극단적 회의주의
판단은 내가 한다
프로타고라스: 인간은 만물의 척도
재미있게 철학합시다
데모크리토스: 원자론
나는 적어도 내가 모른다는 건 안다
소크라테스: 무지의 지, 산파술과 상기설
동굴 밖은 위험해
플라톤: 동굴의 비유와 이데아론 1
가자! 저기로…
플라톤: 동굴의 비유와 이데아론 2
정치는 실전이다
플라톤: 영혼의 삼중주와 이상국가
문제는 비율이야
플라톤: 미의 대이론
개 같은 내 인생
디오게네스: 본능에 충실하라
이데아 순한 맛
아리스토텔레스: 형이상학 (feat. 플라톤)
비겁과 만용 사이
아리스토텔레스: 니코마코스 윤리학 (feat. 덕, 에우다이모니아, 아레테)
형님, 그냥 발렌타인 17년으로 갑시다
아리스토텔레스: 미학
몰라!
피론: 고대 회의주의
힐링 철학
에피쿠로스: 쾌락주의
죽음아! 내게로 오라
스토아 사상
마지막 고대 철학자
플로티노스: 일자이론
2장 중세
고백할 게 있습니다
아우구스티누스: 고백록
돌고 도는 물레방아 인생
보에티우스: 철학의 위안
최초의 원인
토마스 아퀴나스: 우주론적 신 존재 증명
인간은 존재하는가?
보편논쟁 1 (feat. 실재론, 유명론, 온건 실재론)
마동석은 정말로 용감한가?
보편논쟁 2
이성은 신앙의 적인가?
아베로에스와 토마스 아퀴나스: 신학과 철학의 문제
신을 위한 변론
변신론
간단한 게 답이다
오컴의 윌리엄: 오컴의 면도날
사자의 용맹, 여우의 간계
마키아벨리: 군주론
3장 근대
편견에서 벗어나기
베이컨: 4가지 우상론
만인에 대한 만인의 투쟁
홉스: 리바이어던
진짜 세계로 망명을 요청한다
데카르트: 나는 생각한다, 고로 존재한다
천국으로 가는 길
파스칼: 파스칼의 내기 논증
자연이 곧 신(GOD)이다
스피노자: 범신론
지식의 원천은 무엇인가?
로크: 타불라 라사 (feat. 데카르트)
세 얼굴의 철학자
라이프니츠: 모나드는 창이 없다
복희씨와 라이프니츠
복희씨: 주역의 논리적 체계
우주에 손만 하나 남는다면…
뉴턴과 라이프니츠: 시간과 공간 이론
존재하는 것은 지각되는 것이다
버클리: 주관적 관념론
강박적 미니멀리스트
흄: 자신까지 갖다버린 미니멀리스트
그들의 이기심이 만들어 낸 저녁식사
애덤 스미스: 보이지 않는 손
코페르니쿠스적 전환
칸트: 순수이성비판 1
직관 없는 개념은 공허하다
칸트: 순수이성비판 2
누가 도덕적인가?
칸트: 실천이성비판
국화꽃을 사랑한 소쩍새
칸트: 판단력비판 1 (아름다움에 대하여)
불쾌하지만 좋은 감정
칸트: 판단력비판 2 (숭고에 대하여)
저 아저씨를 밀면 5명을 살립니다
공리주의 (feat. 벤담, 밀, 스펜서)
헝클어진 위계질서
피히테: 주관적 관념론
모든 소가 검게 보이는 밤
셸링: 객관적 관념론
고독도 능력이다
쇼펜하우어: 의지와 표상으로서의 세계
목숨을 건 인정투쟁
헤겔: 정신현상학 1 (feat. 칸트, 피히테, 셸링)
돈키호테가 된 나폴레옹
헤겔: 정신현상학 2 (feat. 칸트, 피히테, 셸링, 인공지능)
헤겔을 뒤집어 버린 반항아
마르크스: 변증법적 유물론 (feat. 자본론, 잉여가치설, 과학적 사회주의)
[Special Section 1] 논리학
600년 동안 부른 이상한 노래
아리스토텔레스: 고전논리학
논리적 사고, 과학적 방법 1
연역 (feat. 아리스토텔레스, 데카르트, 갈릴레오)
논리적 사고, 과학적 방법 2
귀납 (feat. 베이컨, 밀, 러셀, 흄)
네가 김태희면, 나는 장동건이다
조건문의 진리조건
난 너만 있으면 돼
필요충분조건
초랑과 파록에 대하여
새로운 귀납의 문제
제대로 말하는 법
형식적 오류 (feat. 정언논리학, 명제논리학)
[Special Section 2] 미학
문제는 비율이야
플라톤: 미의 대이론
형님, 그냥 발렌타인 17년으로 갑시다
아리스토텔레스: 미학
국화꽃을 사랑한 소쩍새
칸트: 판단력비판 1 (아름다움에 대하여)
불쾌하지만 좋은 감정
칸트: 판단력비판 2 (숭고에 대하여)
나는 마그리트가 아니다
미셸 푸코: 이것은 파이프가 아니다
우리는 음악을 들으면 왜 감동하는가?
음악심리에 대한 철학적 고찰 1
우리는 음악을 들으면 왜 신나는가?
음악심리에 대한 철학적 고찰 2
에필로그_철학마을에 오신 걸 환영합니다
댓글목록0