Buchclub: The Art of Multiprocessor Programming 2nd Edition
(eatonphil.com)- Der Software Internals Book Club hat The Art of Multiprocessor Programming 2nd Edition als nächstes Lesebuch ausgewählt
- Für jedes Kapitel gibt es einen festen Diskussionsplan, und es wird ein textbasiertes Format über E-Mails genutzt
- Teilnehmer benötigen ein Google-Konto und die E-Mail-Adresse wird beim Posten sichtbar
- Jede Woche sendet eine Person eine E-Mail, um die Diskussion zu starten, danach kann sich jeder frei an der Diskussion beteiligen
- Ein Anmeldeformular sowie eine Kontaktmöglichkeit für Teilnahme und Feedback sind angegeben
Buchclub-Überblick
- Der Software Internals Email Book Club veranstaltet die nächste Lesegruppe mit The Art of Multiprocessor Programming 2nd Edition (Autoren: Herlihy, Shavit, Luchangco, Spear, 2020)
- Bei der Internetsuche ist das kostenlose PDF in der Regel die Ausgabe von 2008, daher solltest du sicherstellen, dass du die 2. Ausgabe von 2020 verwendest
Kapitelplan
| Datum | Diskussionstreiber | Kapitel | Titel |
|---|---|---|---|
| 16. August | Phil | 1 | Einführung |
| 23. August | offen | 2 | Gegenseitiger Ausschluss |
| 30. August | offen | 3 | Gleichzeitige Objekte |
| 6. September | offen | 4 | Fundament der gemeinsamen Arbeitsspeicher |
| 13. September | offen | 5 | Relative Stärke primitiver Synchronisationsoperationen |
| 20. September | offen | 6 | Universalität der Zustimmung |
| 27. September | offen | 7 | Spinlocks und Konkurrenz |
| 4. Oktober | offen | 8 | Monitore und blockierende Synchronisation |
| 11. Oktober | offen | 9 | Verbundene Listen: Die Rolle von Locks |
| 18. Oktober | offen | 10 | Warteschlangen, Speicherverwaltung und das ABA-Problem |
| 25. Oktober | offen | 11 | Stacks und Eliminierung |
| 1. November | offen | 12 | Zählen, Sortieren und Lastverteilung |
| 8. November | offen | 13 | Concurrent Hashing und natürliche Parallelität |
| 15. November | offen | 14 | Skip-Listen und ausgeglichene Suche |
| 22. November | offen | 15 | Prioritätswarteschlangen |
| 29. November | offen | 16 | Scheduling und Arbeitsverteilung |
| 6. Dezember | offen | 17 | Datenparallelität |
| 13. Dezember | offen | 18 | Barrieren |
Hinweise zur Diskussion
- Alle Diskussionen laufen über eine Google Group und erfordern ein Google-Konto
- Wenn du einen eigenen Beitrag postest, wird deine E-Mail-Adresse öffentlich angezeigt
- Die Diskussion erfolgt ohne Zoom oder Google Hangout ausschließlich per Text-E-Mail
- Jedes Kapitel sollte vor dem entsprechenden Datum gelesen werden und die Diskussion startet an diesem Wochenende
Rolle der Diskussionstreibenden
- An jedem Wochenende sendet eine Person eine E-Mail mit dem Diskussionsstart
- Statt einer reinen Kapitelzusammenfassung können 1 bis 2 Absätze geschrieben werden, die den eigenen Hintergrund, Eindrücke, Verwirrung oder den Bezug zu eigenen Erfahrungen beschreiben, um die Diskussion anzuregen
- Danach kann jeder beliebig weitere Beiträge ergänzen
Anmeldung und Feedback
- Teilnahme ist über das Anmeldeformular möglich
- Fragen, Korrekturen und Ideen können per E-Mail oder über Twitter geteilt werden
1 Kommentare
Hacker-News-Kommentare
Als jemand, der an dem letzten von dir organisierten Lesekreis teilgenommen hat und selbst schon ähnliche Gruppen organisiert hat, habe ich eine Frage. Was ist das Ziel dieses Lesekreises? Und wie gut wird dieses Ziel erreicht? Das kann von der Entwicklung einer eigenen Lesegewohnheit bis hin zum Aufbau einer Community aus Fachleuten und Freunden reichen.
Dies ist der 7. Lesekreis, der über Google Groups durchgeführt wird. Die Gruppe hat etwa 1800 Mitglieder, und an jeder Leserunde nehmen 300 bis 800 Personen teil. Bisher wurden vor allem Bücher über Datenbank-Internals gelesen, aber dieses Buch ist für jeden sinnvoll, der an groß angelegten Systemen arbeitet. Auch wenn man an dieser Leserunde nicht teilnimmt, wird empfohlen, sich in die allgemeine Buchclub-Mailingliste (/bookclub.html) einzutragen. Der Grund ist, dass im Winter geplant ist, gemeinsam Designing Data Intensive Applications 2nd Edition zu lesen.
Ich frage mich, ob jemals in Betracht gezogen wurde, für jedes Kapitel eines Buches gemeinsam ein Anki-Deck zu erstellen.
Herlihy hatte früher Vorlesungsvideos veröffentlicht. Das waren Aufzeichnungen aus dem Jahr, in dem er den Kurs an der Universität gegeben hat. Ich hatte das Glück, diesen Kurs während meines Masterstudiums in Informatik sehen zu können. Dank dieses Buches war es eine hervorragende Vorlesung.
Ich wusste nicht, dass es so eine Initiative gibt, aber im Nachhinein wirkt es wie eine wirklich großartige Idee. Es scheint enorm dabei zu helfen, die Motivation und Energie aufrechtzuerhalten, um ein technisches Buch bis zum Ende zu lesen.
Ich halte das für eine gute Idee. Dieses Buch eignet sich hervorragend, um etwas über Concurrency und Parallelität zu lernen. Wenn ich die Zeit hätte, würde ich teilnehmen. Zur Info: Die 2. Auflage enthält zwei zusätzliche Kapitel namens „Optimism and manual memory management“ und „Transactional programming“. Ich frage mich, ob sie absichtlich ausgelassen wurden.
Könntest du genauer erklären, wie dieser Club tatsächlich organisiert ist? Ich denke, viele Leute hätten daran Interesse.
Die 2. Auflage wurde 2020 bei Morgan Kaufmann veröffentlicht (ISBN: 978-0124159501) und ist bei Amazon und anderen Buchhändlern erhältlich. Man sollte darauf achten, sie nicht mit dem „revised reprint“ der 1. Auflage von 2012 zu verwechseln, was oft passiert.
Ich habe mich gerade angemeldet. Gibt es eine Möglichkeit, die Diskussionen zu früheren Büchern einzusehen?
Kann man auch ohne LinkedIn-Konto beitreten?
Ich würde gern wissen, warum eine LinkedIn-URL erforderlich ist. Manche Leute haben vielleicht kein LinkedIn-Konto.
Dieses Projekt sieht wirklich großartig aus. Ich würde sehr gern teilnehmen, aber frei verfügbar sind nur die PDFs von The Art of Multiprocessor Programming aus 2008 und 2012. Gibt es irgendwo einen kostenlosen Link zur Version von 2020?
Es wird darauf hingewiesen, dass die Ausgabe von 2020 benötigt wird, aber bei O'Reilly scheint es nur die Version „revised reprint“ von 2012 zu geben. Und falls man beitritt: Nimmt man dann nur an der Diskussion zu diesem Buch teil?
Link zur aktuellen Ausgabe ist hier. Ich habe nur kurz das Inhaltsverzeichnis verglichen. Kapitel 1–6 behandeln im Großen und Ganzen dieselben Themen und Abschnittsüberschriften wie die frühere Ausgabe. Kapitel 7 wurde leicht umstrukturiert, und es wurde ein Abschnitt mit Übungsaufgaben hinzugefügt. Bei den Kapiteln 8–16 sind außer den zusätzlich eingefügten Übungsabschnitten pro Kapitel keine weiteren Unterschiede zu erkennen. Kapitel 17 wurde zu Kapitel 18, ebenfalls mit einem Abschnitt zu Übungsaufgaben. Kapitel 18 wurde zu Kapitel 20 und enthält mehrere zusätzliche Abschnitte. In der früheren Ausgabe fehlen daher Kapitel 17 „Data parallelism“ und Kapitel 19 „Optimism and manual memory management“. Da die Lesegruppe die Kapitel 1–18 behandelt, hat nur das fehlende Kapitel 17 tatsächliche Auswirkungen.
Ich habe die ISBN auf der Seite ergänzt: 9780124159501. Diese Runde ist nur für Diskussionen zu diesem Buch gedacht. Die allgemeine Mailingliste ist unter /bookclub.html zu finden. Über diese Liste werden weiterhin die Auswahl und Abstimmung über künftige Bücher sowie Ankündigungen neuer Runden bekanntgegeben.