Semantic Scholar Open Access 2021 701 sitasi

The Art of Multiprocessor Programming

Abstrak

In many places, inserted text is highlighted in red. Preface p. xx " all of which are useful in structuring concurrent applications. " Chapter 1 p. 4 In Fig. 1.1, line 4 should say for (int j = (i * block) + 1; j <= (i + 1)* block; j++) { p. 11 p. 18 Second paragraph of Mutual Exclusion bullet: " Initially the can is either up or down. Let us say it was down. Then only the pets can go in, and mutual exclusion holds. " Replace question 6 bullet 2 with:  Suppose the method M accounts for 30% of the program's computation time. Let sn be the program's speedup on n processes, assuming the rest of the program is perfectly parallelizable. Your boss tells you to double this speedup: the revised program should have speedup s'n ≥ sn/2. You advertize for a programmer to replace M with an improved version, k times faster. What value of k should you require? Chapter 2 p. 23 Figure 2.3 should be amended as shown: public long getAndIncrement() { lock.lock(); try { long temp = value; value = temp + 1; return temp; } finally { lock.unlock(); } } p. 25 Pragma 2.3.1: " We explain the reasons in Chapter 3 and Appendix B. " p. 26 In Fig. 2.5, remove all declarations of variables as volatile. Indeed as stated in Pragma 2.3.1 on page 25, one should use memory barriers when implementing these algorithms. However, in this chapter (in all code) we avoid such issues to keep the algorithms simple. Adding volatile to these variables would require more complex coding that would distract readers from the core issues at hand.

Format Sitasi

(2021). The Art of Multiprocessor Programming. https://doi.org/10.1016/c2011-0-06993-4

Akses Cepat

PDF tidak tersedia langsung

Cek di sumber asli →
Lihat di Sumber doi.org/10.1016/c2011-0-06993-4
Informasi Jurnal
Tahun Terbit
2021
Bahasa
en
Total Sitasi
701×
Sumber Database
Semantic Scholar
DOI
10.1016/c2011-0-06993-4
Akses
Open Access ✓