알라딘

헤더배너
상품평점 help

분류

이름:리처드 사이트 (Richard L. Sites)

최근작
2024년 1월 <소프트웨어 성능의 이해>

리처드 사이트(Richard L. Sites)

1959년 처음으로 컴퓨터 프로그램을 개발했다. 커리어의 대부분을 하드웨어와 소프트웨어의 극간을 연구하며 보냈으며, 특히 CPU/소프트웨어 성능의 상호작용에 관심을 가졌다. 벡스VAX 마이크로코드, DEC 알파 공동 설계자 그리고 오늘날 거의 모든 프로세서에서 볼 수 있는 성능 카운터를 개발했다. 또한 DEC, 어도비, 구글과 테슬라에서 적은 오버헤드만으로 마이크로코드와 소프트웨어를 추적해왔다. 1974년 스탠포드(Standford)에서 박사 학위를 취득했고 66개의 특허를 보유한 미국 국립 공학 아카데미(US National Academy of Engineering)의 회원이다.  

대표작
모두보기
저자의 말

<소프트웨어 성능의 이해> - 2024년 1월  더보기

복잡한 소프트웨어의 성능을 이해하는 것은 대단히 어려운 일이다. 특히나 소프트웨어가 시간에 민감하고 가끔씩 제약 조건을 초과하는 경우라면 더 쉽지 않다. 소프트웨어 전문가는 소프트웨어의 다양한 동작에 대한 그림을 머릿속에 담고 있다. 이 그림에는 시간에 따라서 각 부분이 어떻게 동작하고 서로 상호작용을 하는지를 포함해 각 부분에 소요되는 시간의 추정치가 담겨 있다. 그들은 때론 이런 그림들을 문서화하기도 한다. 하지만 이런 소프트웨어가 제약된 시간을 충족하지 못할 때 지연된 원인과 성능에 이상이 생기는 근본적인 원인을 찾을 수 있는 도구는 거의 없다. 따라서 이 책은 소프트웨어 개발자와 학생들을 위한 교과서가 될 것이다. 소프트웨어 역동성이란 한 프로그램의 스레드 성능이나 실행 시간뿐 아니라 스레드 간, 또관련 없는 프로그램 사이 상호작용을 포함해서 운영체제와 사용자 프로그램 간 상호작용도 모두 포함한다. 복잡한 소프트웨어들은 이런 상호 작용의 영향으로 지연되곤 한다. 일부 코드가 차단되고 다시 깨울 때까지 대기하며 스케줄러가 CPU를 할당해주길 대기하거나 인터럽트 루틴이 CPU를 사용해서 모든 코드가 동작하지 않는 상태, 운영체제 서비스나 페이지 폴트 처리에 많은 시간을 쓰지만 눈에 보이지 않는 코드, I/O 디바이스나 네트워크 메시지를 기다리는 코드 등 다양한 경우가 발생한다. 시간에 민감한 소프트웨어는 기한이 정해진 정기적인 반복 작업이나 기한이 정해진 새로운 요청이 산발적으로 도착하는 작업을 모두 처리한다. 이런 작업은 비행기, 자동차, 산업용 로봇 등 움직이는 기계를 제어하는 신호를 전송하는 데 매우 엄격한 시간제한이 필요하기도 하고, 실시간으로 음성을 텍스트로 변환하는 일처럼 상대적으로 유연한 시간제한을 갖기도 한다. 또 고객의 정보가 담긴 데이터베이스를 조회하거나 웹 검색의 응답 속도처럼 좋은 성능을 기대하기도 한다. 마찬가지로 시간 제약은 휴대전화/태블릿/데스크톱/게임 등 사용자 인터페이스 응답 속도에도 적용된다. 시간 제약이라는 용어는 실시간이라는 용어보다 더 광범위하고 가끔은 엄격한 제한의 의미를 담기도 한다. 소프트웨어 테스크는 각각 신호나 요청, 그리고 결과나 응답을 포함한다. 신호와 결과 사이의 시간은 지연시간이나 응답 시간이라고 하며 기한이 정해져 있다. 기한을 초과한 테스크는 재앙과 실패하기도 하고, 다소 불편한 방법으로 종료되기도 한다. 이 책을 통해서 이런 실패의 근본적인 원인을 찾을 수 있는 방법을 배우게 될 것이다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자