Page last updated on 2018 February 20

*Enrollment code:* 13516

*Prerequisite:* ECE 254A (can be waived, but ECE 154 is required)

*Class meetings:* MW 10:00-11:30, Phelps 1431

*Instructor:* Professor Behrooz Parhami

*Open office hours:* M 12:00-2:00, W 1:00-2:00, HFH 5155

**Course announcements:** Listed in reverse chronological order

**Course calendar:** Schedule of lectures, homework, exams, research

**Homework assignments:** Eight assignments, worth a total of 40%

**Exams:** No exams this quarter

**Research paper:** Written research report, worth 60%

**Research paper guidlines:** Brief guide to format and contents

**Policy on academic integrity:** Please read very carefully

**Poster presentation tips:** Brief guide to format and structure (N/A)

**Grade statistics:** Range, mean, etc. for homework and paper grades

**References:** Textbook and other sources (Textbook's web page)

**Lecture slides:** Available on the textbook's web page

**Miscellaneous information:** Motivation, catalog entry, history

Course lectures, homework assignments, and research milestones have been scheduled as follows. This schedule will be strictly observed. In particular, no extension is possible for homework due dates or research milestones. Each lecture covers topics in 1-2 chapters of the textbook. Chapter numbers are provided in parentheses, after day & date. PowerPoint and PDF files of the lecture slides can be found on the textbook's web page.

**Day & Date (book chapters) Lecture topic [Homework posted/due] {Special notes}**

M 01/15 No lecture: Martin Luther King Holiday

W 01/17 (1) Introduction to parallel processing [HW1 posted]

M 01/22 (2) A taste of parallel algorithms

W 01/24 (3-4) Complexity and parallel computation models [HW1 due] [HW2 posted]

M 01/29 (5) The PRAM shared-memory model and basic algorithms

W 01/31 (6A) More shared-memory algorithms [HW2 due] [HW3 posted]

M 02/05 (6B-6C) Shared memory implementations and abstractions

W 02/07 (7) Sorting and selection networks [HW3 due] [HW4 posted]

M 02/12 (8A) Search acceleration circuits {Research topic selected}

W 02/14 (8B-8C) Other circuit-level examples [HW4 due] [HW5 posted]

M 02/19 No lecture: President's Day Holiday

W 02/21 (9) Sorting on a 2D mesh or torus architectures [HW5 due] [HW6 posted]

M 02/26 (10) Routing on a 2D mesh or torus architectures {Preliminary references due}

W 02/28 (11-12) Other mesh/torus concepts [HW6 due] [HW7 posted]

M 03/05 (13) Hypercubes and their algorithms {Provisional outline due}

W 03/07 (14) Sorting and routing on hypercubes [HW7 due] [HW8 posted]

M 03/12 (15-16) Other interconnection architectures {Instructor/course evaluation surveys}

W 03/14 (17-18) Task scheduling and input/output [HW8 due]

W 03/21 {Research paper due by midnight}

T 03/27 {Course grades due by midnight}

- Submit solution via e-mail by the given deadline (Wednesday at midnight; no extention)

- Submission must have an attached PDF file of no more than 1 page, with 10-point font

- The PDF file helps me enforce the 1-page limit and can also hold figures, if necessary

- The textual part of the solution must also be included in the body of the e-mail

- Although some cooperation is permitted, direct copying will have severe consequences

** Homework 1: Literature review and assessment** (due W 2018/01/24, midnight)

Read the following paper and describe its contents in outline form, devoting a couple of sentences to each section. Remember that the PDF file of your submission cannot exceed 1 page, but it can be single-spaced.

M. D. Assuncao, R. N. Calheiros, S. Bianchi, M. A. S. Netto, and R. Buyya (2015), "Big Data Computing and Clouds: Trends and Future Directions,"

[A longer version of the paper is available on arxiv.org.]

** Homework 2: Web-based mini-research project** (due W 2018/01/31, midnight)

With the introduction above, here is your homework assignment. Identify a couple of on-line sources (which you will cite in your report), where useful lives of various storage media are discussed. Prepare a table in which the useful lives, or ranges of lives, are listed, along with whether each medium can be accessed at high speed or is archival in nature. Don't forget that your report should fit in a one-page PDF file, with the text also supplied in the body of the submission e-mail.

** Homework 3: Literature review and assessment** (due W 2018/02/07, midnight)

Read the following paper and prepare a one-page summary of it, focusing primarily on the data-processing and data-transformation considerations for big data, that is, why parallel processing is an inevitable requirement.

S. Kaisler, F. Armour, J. A. Espinosa, and W. Money, "Big Data: Issues and Challenges Moving Forward,"

** Homework 4: Literature review and assessment** (due W 2018/02/14, midnight)

Read the following article and prepare a one-page summary of it. Briefly state your opinion on how the article's conclusions may have changed in the 7 years since it was published.

M. Hilbert and P. Gomez, "The World's Technological Capacity to Store, Communicate, and Compute Information,"

** Homework 5: Explaining big-data's "5 Vs" via analogies** (due W 2018/02/21, midnight)

Consider the "5 Vs" of big data (1. Volume; 2. Variety; 3. Velocity; 4. Veracity; 5. Value), which we discussed earlier. Establish a one-to-one mapping between these "5 Vs" and the following five American-English idioms involving straw and hay. Explain your choice of association briefly in each case. Don't worry that the connection isn't direct or very relevant in every case. Just try to make the best possible assignment of a different "V" attribute to each idiom. [Remember the e-mail submission format and the 1-page limit in your PDF file.]

a. Clutching at straws

b. Finding a needle in a haystack

c. Making bricks without straw

d. Straw that broke the camel's back

e. Turning straw into gold

** Homework 6: Preparing an annotaved bibliography** (due W 2018/02/28, midnight)

Take the top 4 most-relevant/important references among those you will submit on 2/26 as "Preliminary References" for your research paper and turn them into an annotated bibliography for your field of research. An entry of an annotated bibliography includes, in addition to the full referernce citation, a brief description of what the article or source is about. This description differs from an abstract in that it will contain your assessment of its worth or relevance and how it fits into the overall scheme of the field you are studying.

Here is Cornell University's Library Guide to preparing an annotated bibliography.

** Homework 7: Literature review and assessment** (due W 2018/03/07, midnight)

To be posted here by W 2018/02/28, 10:00 AM

** Homework 8: Literature review and assessment** (due W 2018/03/14, midnight)

To be posted here by W 2018/03/07, 10:00 AM

Does not apply to the winter 2018 offering of ECE 254B.

The following sample exam using problems from the textbook is meant to indicate the types and levels of problems, rather than the coverage (which is outlined in the course calendar). Students are responsible for all sections and topics, in the textbook and class handouts, that are not explicitly excluded in the study guide that follows the sample exam, even if the material was not covered in class lectures.

*Sample Midterm Exam (105 minutes) *

Textbook problems 2.3, 3.5, 5.5 (with *i* + *s* corrected to *j* + *s*), 7.6a, and 8.4ac; note that problem statements might change a bit for a closed-book exam.

*Midterm Exam Study Guide*

The following sections are excluded from Chapters 1-8 of the textbook to be covered in the midterm exam, including the six new chapters named 6A-C (expanding on Chpater 6) and 8A-C (expanding on Chapter 8):

3.5, 4.5, 4.6, 6A.6, 6B.3, 6B.5, 6C.3, 6C.4, 6C.5, 6C.6, 7.6, 8A.5, 8A.6, 8B.2, 8B.5, 8B.6

*Sample Final Exam (150 minutes) *

Textbook problems 1.10, 6.14, 9.5, 10.5, 13.5a, 14.10, 16.1; note that problem statements might change a bit for a closed-book exam.

*Final Exam Study Guide*

The following sections are excluded from Chapters 1-16 of the textbook to be covered in the final exam: All midterm exclusions, plus 9.6, 12.6, 13.5, 15.5, 16.5, 16.6

Our research focus this quarter will be on the topical area of big data, as defined in class and the reading/research assignments for the first three course homeworks. We will be studying the intersection of big data with high-performance computing, that is, how the meteoric spread of big-data applications affects the field of parallel and distributed computing and how research in our field can help solve the challenges brought about by big data.

The "4 Vs" of big data are nicely illustrated in the following IBM infographic. The fourth "V," equated in the image with "veracity," having to do with correctness and accuracy of data, is sometimes replaced by "value" (see the ssecond homework assignment), the data's importance or worth to an enterprise or application. Alternatively, one might view the big-data domain as being defined by "5 Vs."

Here is a list of research paper titles. I am posting the list, even though some of the info is incomplete, in order to give you a head start on choosing a topic. In topic selection, you can either propose a topic of your choosing, which I will review and help you refine into something that would be manageable and acceptable for a term paper, or you can give me your first to third choices among the topics that follow. I will then assign a topic to you by February 12, based on your preferences and those of your classmates. Sample references follow the titles to help define the topics and serve as starting pointa for your study.

1. Hybrid Disk Drives for Big-Data Storage Needs (Assigned to: **Chang Lu**)

[Wu09] X. Wu and A. L. Narasimha Reddy, "Managing Storage Space in a Flash and Disk Hybrid Storage System," *Proc. IEEE Int'l Symp. Modeling, Analysis, and Simulation of Computer and Telecommunication Systems*, 2009, pp. 1-4.

Search terms: Flash disk cache

2. GPU-Based Parallel Architectures for Big Data (Assigned to: **Barath K. Ramaswami**)

[Liu13] Z. Liu, B. Jiang, and J. Heer, "imMens: Real-Time Visual Querying of Big Data," *Computer Graphics Forum*, Vol. 32, No. 3, 2013, pp. 421-430.

Search terms: GPU-based supercomputing

3. Network Coding for Fast Exchange of Big Data (Assigned to: **John Zhou**)

[Dima10] A. G. Dimakis, P. B. Godfrey, Y. Wu, M. J. Wainwright, and K. Ramchandran, "Network Coding for Distributed Storage Systems," *IEEE Trans. Information Theory*, Vol. 56, No. 9, 2010, pp. 4539-4551.

Search terms:

4. Big-Data Allocation and Load-Balancing Methods (Assigned to: **Haowen Zhang**)

[Wang14] K. Wang, X. Zhou, T. Li, D. Zhao, M. Lang, and I. Raicu, "Optimizing Load Balancing and Data-Locality with Data-Aware Scheduling," *Proc. IEEE Int'l Conf. Big Data*, 2014, pp. 119-128.

Search terms:

5. Low-Redundancy Methods for Big-Data Protection (Assigned to: **Yunxi Li**)

[Amja12] T. Amjad, M. Sher, and A. Daud, "A Survey of Dynamic Replication Strategies for Improving Data Availability in Data Grids," *Future Generation Computer Systems*, Vol. 28, No. 2, 2012, pp. 337-349.

Search terms:

6. RAID in the Era of Cloud-Based Big-Data Storage (Assigned to: **Haorui Jiang**)

[Gu14] M. Gu, X. Li, and Y. Cao, "Optical Storage Arrays: A Perspective for Future Big Data Storage," *Light: Science & Applications*, Vol. 3, No. 5, 2014.

Search terms:

7. Structural Representations for Big-Data Storage (Assigned to: No one)

[Sand14] A. Sandryhaila and J. M. F. Moura, "Big Data Analysis with Signal Processing on Graphs: Representation and Processing of Massive Data Sets with Irregular Structure," *IEEE Signal Processing*, Vol. 31, No. 5, 2014, pp. 80-90.

Search terms:

8. Meeting Reliability Requirements of Big Data (Assigned to: No one)

[Sath13] M. Sathiamoorthy, M. Asteris, D. Papailiopoulos, A. G. Dimakis, R. Vadali, S. Chen, and D. Borthakur, "XORing Elephants: Novel Erasure Codes for Big Data," *Proc. Symp. VLDB*, Vol. 6, No. 5, 2013, pp. 325-336.

Search terms: Reliable distributed systems; Data integrity

9. Search and Query Optimizations for Big Data (Assigned to: **Rongjian Li**)

[Du92] W. Du, R. Krishnamurthy, and M.-C. Shan. "Query Optimization in a Heterogeneous DBMS," *Proc. Symp. VLDB*, 1992, Vol. 92, pp. 277-291.

Search terms:

10. The MapReduce Paradigm for Big-Data Parallelism (Assigned to: **Zhicheng Zhang**)

[Dean10] J. Dean and S. Ghemawat, "MapReduce: A Flexible Data Processing Tool," *Communications of the ACM*, Vol. 53, No. 1, 2010, pp. 72-77.

Search terms: Data-parallel computing; Divide-and-conquer paradigm

11. Hadoop's Distributed File System for Big Data (Assigned to: **Yulin Ou**)

[Shva10] K. Shvachko, H. Kuang, S. Radia, and R. Chansler, "The Hadoop Distributed File System," *Proc. 26th IEEE Symp. Mass Storage Systems and Technologies*, 2010, pp. 1-10.

Search terms: Hadoop; Distributed file systems; Distributed databases

12. Big-Data Longevity and Compatibility Challenges (Assigned to: **Brian Young**)

[Garf04] T. Garfinkel, B. Pfaff, J. Chow, and M. Rosenblum, "Data Lifetime Is a Systems Problem," *Proc. 11th ACM SIGOPS European Workshop*, 2004, p. 10.

Search terms: Data preservation; Long-term data archiving

13. Advances in Intelligent Systems with Big Data (Assigned to: **Pooja V. Kadam**)

[OLea13] D. E. O'Leary, "Artificial Intelligence and Big Data," *IEEE Intelligent Systems*, Vol. 28, No. 2, 2013, pp. 96-99.

Search terms: Data-driven AI; Large training data-sets

14. FPGA-Based Accelerators for Big-Data Computing (Assigned to: **Gokul P. Nallasami**)

[Wang15] C. Wang, X. Li, and X. Zhou, "SODA: Software Defined FPGA Based Accelerators for Big Data," *Proc. Design Automation & Test Europe Conf.*, 2015, pp. 884-887.

Search terms: Hardware accelerators; Application-specific coprocessors

15. Big-Data Aspects of Distributed Sensor Networks (Assigned to: **Zhaoren Zeng**)

[Taka14] D. Takaishi, H. Nishiyama, N. Kato, and R. Miura, "Toward Energy Efficient Big Data Gathering in Densely Distributed Sensor Networks," *IEEE Trans. Emerging Topics in Computing*, Vol. 2, No. 3, pp. 388-397, 2014.

Search terms: Ad-hoc networks; Data storage in sensor networks

16. Big-Data Challenges of Maps and Auto-Navigation (Assigned to: **Jiaheng Tang**)

[Shek12] S. Shekhar, V. Gunturi, M. R. Evans, and K. Yang, "Spatial Big-Data Challenges Intersecting Mobility and Cloud Computing." *Proc. 11th ACM Int'l Workshop Data Engineering for Wireless and Mobile Access*, 2012, pp. 1-6.

Search terms: Geographic information systems; GPS navigation

17. Shared-Memory Models for Big-Data Applications (Assigned to: **Yang Zhao**)

[Bell18] C. G. Bell and I. Nassi, "Revisiting Scalable Coherent Shared Memory," *IEEE Computer*, Vol. 51, No. 1, pp. 40-49, January 2018.

Search terms: Memory consistency; Distributed shared memory; Directory-based coherence

18. Edge Computing for Big Data (Assigned to: **Leilai Shao**)

[Shar17] S. K. Sharma and X. Wang, "Live Data Analytics With Collaborative Edge and Cloud Processing in Wireless IoT Networks," *IEEE Access*, Vol. 5, pp. 4621-4635, 2017.

Here are some guidelines for preparing your research poster. The idea of the poster is to present your research results and conclusions thus far, get oral feedback during the session from the instructor and your peers, and to provide the instructor with something to comment on before your final report is due. Please send a PDF copy of the poster via e-mail by midnight on the poster presentation day.

Posters prepared for conferences must be colorful and eye-catching, as they are typically competing with dozens of other posters for the attendees' attention. Here is an example of a conference poster. Such posters are often mounted on a colored cardboard base, even if the pages themselves are standard PowerPoint slides. In our case, you should aim for a "plain" poster (loose sheets, to be taped to the wall in our classroom) that conveys your message in a simple and direct way. Eight to 10 pages, each resembling a PowerPoint slide, would be an appropriate goal. You can organize the pages into 2 x 4 (2 columns, 4 rows), 2 x 5, or 3 x 3 array on the wall. The top two of these might contain the project title, your name, course name and number, and a very short (50-word) abstract. The final two can perhaps contain your conclusions and directions for further work (including work that does not appear in the poster, but will be included in your research report). The rest will contain brief description of ideas, with emphasis on diagrams, graphs, tables, and the like, rather than text which is very difficult to absorb for a visitor in a very limited time span.

HW1 grades: Range = [C+, A], Mean = 3.16, Median = B

HW2 grades: Range = [B, A], Mean = 3.67, Median = A–

HW3 grades: Range = [B+, A], Mean = 3.65, Median = A–

HW4 grades: Range = [B, A], Mean = 3.63, Median = A–

HW5 grades: Range = [0, 0], Mean = 0, Median = 0

HW6 grades: Range = [0, 0], Mean = 0, Median = 0

HW7 grades: Range = [0, 0], Mean = 0, Median = 0

HW8 grades: Range = [0, 0], Mean = 0, Median = 0

Research paper grades: Range = [0, 0], Mean = 0, Median = 0
*All grades listed above are in [0.0, 4.3] (F to A+)*

Course letter grades: Range = [B, A+], Mean = 0, Median = 0

** Required text:** B. Parhami,

The follolwing journals contain a wealth of information on new developments in parallel processing:

The following are the main conferences of the field: Int'l Symp. Computer Architecture (ISCA, since 1973), Int'l Conf. Parallel Processing (ICPP, since 1972), Int'l Parallel & Distributed Processing Symp. (IPDPS, formed in 1998 by merging IPPS/SPDP, which were held since 1987/1989), and ACM Symp. Parallel Algorithms and Architectures (SPAA, since 1988).

UCSB library's electronic journals, collections, and other resources

** Motivation:** The ultimate efficiency in parallel systems is to achieve a computation speedup factor of

*Catalog entry:* 254B. Advanced Computer Architecture: Parallel Processing(4) PARHAMI.*Prerequisites: ECE 254A. Lecture, 4 hours*. The nature of concurrent computations. Idealized models of parallel systems. Practical realization of concurrency. Interconnection networks. Building-block parallel algorithms. Algorithm design, optimality, and efficiency. Mapping and scheduling of computations. Example multiprocessors and multicomputers.

** History:** The graduate course ECE 254B was created by Dr. Parhami, shortly after he joined UCSB in 1988. It was first taught in spring 1989 as ECE 594L, Special Topics in Computer Architecture: Parallel and Distributed Computations. A year later, it was converted to ECE 251, a regular graduate course. In 1991, Dr. Parhami led an effort to restructure and update UCSB's graduate course offerings in the area of computer architecture. The result was the creation of the three-course sequence ECE 254A/B/C to replace ECE 250 (Adv. Computer Architecture) and ECE 251. The three new courses were designed to cover high-performance uniprocessing, parallel computing, and distributed computer systems, respectively. In 1999, based on a decade of experience in teaching ECE 254B, Dr. Parhami published the textbook

Offering of ECE 254B in winter 2017 (Link)

Offering of ECE 254B in winter 2016 (PDF file)

Offering of ECE 254B in winter 2014 (PDF file)

Offering of ECE 254B in winter 2013 (PDF file)

Offering of ECE 254B in fall 2010 (PDF file)

Offering of ECE 254B in fall 2008 (PDF file)

Offerings of ECE 254B from 2000 to 2006 (PDF file)