멀티프로세서 프로그래밍의 예술 2판 북클럽
(eatonphil.com)- Software Internals Book Club에서 The Art of Multiprocessor Programming 2nd Edition을 다음 읽기 책으로 선정함
- 책의 각 장별 토론 일정이 정해져 있으며, 이메일을 통한 텍스트 기반 논의 방식을 사용함
- 참가자는 Google 계정이 필요하며, 포스팅 시 이메일이 공개됨
- 매주 한 명이 토론을 시작하는 이메일을 보내고, 이후 누구나 자유롭게 논의에 참여 가능함
- 참가 및 피드백을 위한 신청 양식과 문의 방법이 안내됨
북클럽 개요
- Software Internals Email Book Club에서 The Art of Multiprocessor Programming 2nd Edition(저자: Herlihy, Shavit, Luchangco, Spear, 2020)으로 다음 독서 활동을 진행함
- 인터넷 검색 시 무료 PDF는 보통 2008년 1판이므로 반드시 2020년 2판을 확보해야 함
장별 토론 일정
날짜 | 토론 주최자 | 챕터 | 제목 |
---|---|---|---|
8월 16일 | Phil | 1 | 소개 |
8월 23일 | 미정 | 2 | 상호 배제 |
8월 30일 | 미정 | 3 | 동시 객체 |
9월 6일 | 미정 | 4 | 공유 메모리의 기반 |
9월 13일 | 미정 | 5 | 원초적 동기화 연산의 상대적 힘 |
9월 20일 | 미정 | 6 | 합의의 보편성 |
9월 27일 | 미정 | 7 | 스핀 락과 경쟁 |
10월 4일 | 미정 | 8 | 모니터와 블로킹 동기화 |
10월 11일 | 미정 | 9 | 연결 리스트: 락킹의 역할 |
10월 18일 | 미정 | 10 | 큐, 메모리 관리, ABA 문제 |
10월 25일 | 미정 | 11 | 스택과 소거 |
11월 1일 | 미정 | 12 | 카운팅, 정렬, 분산 조정 |
11월 8일 | 미정 | 13 | 동시 해싱과 자연 병렬성 |
11월 15일 | 미정 | 14 | 스킵리스트와 균형 잡힌 탐색 |
11월 22일 | 미정 | 15 | 우선순위 큐 |
11월 29일 | 미정 | 16 | 스케줄링과 작업 분배 |
12월 6일 | 미정 | 17 | 데이터 병렬성 |
12월 13일 | 미정 | 18 | 배리어 |
논의에 대한 안내
- 모든 논의는 Google Group을 통해 이루어지며, Google 계정 필요
- 직접 게시글을 작성하면 이메일이 공개됨
- 논의는 Zoom이나 Google Hangout 없이, 오로지 텍스트 이메일로만 진행됨
- 각 장은 해당 날짜 전까지 읽어야 하며, 그 주말에 토론이 시작됨
토론 주최자 역할
- 주말마다 1명이 토론 시작 이메일을 보냄
- 꼭 챕터 요약이 아니라도, 자신의 배경, 챕터에서 느낀 인상이나 혼란, 혹은 실제 경험과의 연관성 등을 1~2문단 정도로 작성해 논의를 유도함
- 이후 누구나 자유롭게 의견을 추가 가능
참가 신청 및 피드백
Hacker News 의견
-
지난번 당신이 주최했던 독서 모임에 참가했던 사람이자, 비슷한 모임을 조직해본 사람으로서 질문함. 이번 독서 모임의 목표가 무엇인지 궁금함. 그 목표를 얼마나 달성하고 있는지요. 예를 들어, 자기 자신에게 독서 습관을 부여하는 것에서부터, 전문가 및 친구 커뮤니티를 만드는 것에 이르기까지 포함임
-
Google Groups를 통해 7번째로 진행하는 읽기 모임임을 알림. 그룹에 약 1800명이 있으며, 각 독서마다 300~800명이 함께함. 데이터베이스 인턴널 관련 책을 주로 읽어왔지만, 이번 책은 대규모 시스템을 다루는 개발자라면 누구에게나 유의미함을 강조함. 이번 독서에 참여하지 않더라도, 전체 북클럽 메일링 리스트(/bookclub.html)에 가입할 것을 추천함. 이유는 겨울에 Designing Data Intensive Applications 2nd Edition을 함께 읽을 계획이기 때문임
-
각 책의 챕터마다 협업 방식으로 Anki 덱을 만드는 것을 고려해본 적 있는지 궁금함
-
Herlihy가 예전에는 강의 영상을 공개했었음. 대학에서 강의했던 해의 녹화 영상임. 내 컴퓨터 공학 석사 과정 때 이 수업이 있어서 운 좋게 볼 수 있었음. 이 책 덕분에 훌륭한 강의였음
-
이런 이니셔티브가 있다는 걸 몰랐는데, 지나고 보니 정말 좋은 아이디어임을 느낌. 기술서를 끝까지 읽고자 하는 열정과 에너지를 유지하는 데 큰 도움이 될 것 같음
-
좋은 아이디어라고 생각함. 이 책은 동시성과 병렬성에 대해 배우기에 훌륭함. 시간만 된다면 참여하겠음. 참고로, 2판에는 “Optimism and manual memory management”와 “Transactional programming”이란 두 개의 추가 챕터가 있음. 혹시 의도적으로 건너뛴 것인지 궁금함
-
이 클럽이 실제로 어떻게 운영되는지 자세히 설명해 줄 수 있는지 궁금함. 많은 사람들이 관심이 있을 것 같음
-
-
2판은 2020년 Morgan Kaufmann 출판사(ISBN: 978-0124159501)에서 출간되었고, Amazon 등 여러 서점에서 구매가 가능함. 2012년 “revised reprint” 1판이 종종 2판과 혼동되니 주의 필요함
-
방금 가입했음. 이전 책들에 대한 토론 내용을 볼 수 있는 방법이 있는지 궁금함
-
LinkedIn 계정 없이도 가입이 가능한지 궁금함
-
왜 LinkedIn URL이 필요한지 묻고 싶음. 일부 사람들은 LinkedIn 계정이 없을 수 있음
-
이 프로젝트가 정말 좋아 보임. 꼭 참여하고 싶은데, 무료로 구할 수 있는 건 2008년과 2012년 The Art of Multiprocessor Programming PDF 뿐임. 2020년 버전 무료 링크가 있는지 궁금함
- 이 책은 무료가 아님을 상기하고 싶음. 해당 댓글은 아마 저자를 지원하려면 직접 구매하라는 뜻의 부드러운 안내였음
-
2020년판이 필요하다고 안내되어 있으나, O'Reilly에는 2012년 revised reprint 버전만 보임. 그리고 혹시 가입하면 이번 책 토론에만 참여하게 되는지 궁금함
-
현재판 링크는 여기임. 목차만 간단하게 비교해 봄. 챕터 1~6은 대체로 이전 판과 동일한 주제와 섹션 제목임. 챕터 7은 약간 재구성됐고 연습문제 섹션이 추가됨. 챕터 8~16도 각 챕터마다 연습문제 섹션이 추가된 점 외에는 다른 차이점이 보이지 않음. 챕터 17이 챕터 18로, 연습문제 섹션이 추가됨. 챕터 18은 챕터 20으로, 여러 추가 섹션이 있음. 따라서 이전 판에는 17장 “Data parallelism”과 19장 “Optimism and manual memory management”가 없음. 독서그룹이 1~18장을 다루므로 누락되는 17장만 실제 영향이 있음
-
페이지에 ISBN을 포함해 두었음: 9780124159501. 이번 모임은 해당 책만을 위한 토론임. 전체적인 메일링 리스트는 /bookclub.html에 있음. 그 리스트로 추후 읽을 책 선정과 투표, 새 모임 소식을 계속 알릴 예정임
-