You are on page 1of 6

The Lab

• Lab manual on BlackBoard (Prepare @ HOME!!) • Assignment will target multicore platforms (P2012)

Multicore systems, The Why
Advanced Multicore Systems (ET4381) Zaid Al-Ars

• Students need to parallelize an application • Select most optimal number of cores and frequency • Profile performance and write report about results • Groups of 2 or 3 • Lab held in room HB 16.090
• Workload about 10 days • Lab starts end of May

Advanced Multicore Systems (ET4381)

1

Advanced Multicore Systems (ET4381)

4

Before we start
• Administrative issues • The lab • Fundamental rules • Course objectives • Course overview (attempted schedule)

Fundamental rules • TU Delft regulations fully apply • Special problems – notify the instructors in advance • You are encouraged to collaborate, but not copy • Check the Blackboard page periodically • Always ask when you do not understand • Feedback is welcome

Advanced Multicore Systems (ET4381)

2

Advanced Multicore Systems (ET4381)

5

Administrative issues
• Course instructor
• Zaid Al-Ars, EWI HB 16.080 (z.al-ars@tudelft.nl)

Course objectives
• Make educated design decisions to implement optimal multicore system configurations for specific applications • Lecture • Lecture • Lecture • Lecture • Lecture • Lecture cores • Lecture 1: Need for multicore (hardware perspective) 2: Core types and characteristics 3: Memory structure and hierarchy 4: Interconnect networks 5: Case studies of multicore different systems 6: Advanced topics---low-power, domain specific 7: Advanced topics---Reliability and fault tolerance

• Open office hours policy: door open = I’m available • Blackboard – slides, documents, grades, … • Lectures:
• 7 times x 2 hours • 08u30-10u30 in EWI-CZ B • Week 4.1 - 4.3, 4.5 – 4.8 (May 17 → no lecture!)

Advanced Multicore Systems (ET4381)

3

Advanced Multicore Systems (ET4381)

6

4 4. which are the units that read and execute program instructions •Before 2000 Single Core •After 2000 • Characteristics: – – – 2 or more general purpose processors Single component (chip or IC) Sharing infrastructure (sharing memory and communication resources) MultiCore Advanced Multicore Systems (ET4381) 9 Advanced Multicore Systems (ET4381) 12 . which are the units that read and execute program instructions Slides on blackboard Research papers as reading material Lab manual Tasks for exams • Characteristics: ??? Advanced Multicore Systems (ET4381) 8 Advanced Multicore Systems (ET4381) 11 Now. something totally different? Or is it? What is a multicore processor? • A multi-core processor is a single computing component with two or more independent actual processors (called "cores").1 4.8 Activity Lecture 1 Lecture 2 Lecture 3 TU Delft closed Lecture 4 + lab sessions start Lecture 5 + lab sessions continue Lecture 6 + lab sessions end Lecture 7 + assignments for exam Advanced Multicore Systems (ET4381) Today’s lecture outline • What is a multicore processor? • Brief history of multicores • The need for multicore – Power consumption – Rule of diminishing returns – Growing wire delay – Moore's law • Multicore challenges 7 Advanced Multicore Systems (ET4381) OO programmeren (EE2421) 10 Course material What is a multicore processor? • A multi-core processor is a single computing component with two or more independent actual processors (called "cores").3 4.7 4.Course overview • Course schedule Week 4.5 4.2 4.6 4.

.. i3. 2001 • Intel Pentium Extreme Edition. etc... R. Bussell. Sony CELL microprocessor Intel Core 2 Duo Brief history of multicores • IBM POWER4... Electronic Computers.. the world's first non-embedded dual-core processor. Bibb. industry was forced into multicore Nvidia GT200 Advanced Multicore Systems (ET4381) 15 Advanced Multicore Systems (ET4381) 18 . Advanced Multicore Systems (ET4381) Intel i7 Sony CELL 13 Advanced Multicore Systems (ET4381) 16 What is a multicore processor? • Is a processor with embedded micro-controllers or accelerators considered as a multicore? Intel P4 with SSE Brief history of multicores • Multicore searches started in 2005 with Intel & AMD releases • Are two tow independent processors on a single chip considered as multicore? • Is a GPU considered as multicore? Nvidia GT200 Advanced Multicore Systems (ET4381) 14 Advanced Multicore Systems (ET4381) 17 What is a multicore processor? • Is a processor with embedded micro-controllers or accelerators considered as a multicore? • Are two tow independent processors on a single chip Intel P4 with SSE considered as multicore? Brief history of multicores • Using many processors is an old idea Parallel Processing in a Restructurable Computer System Estrin. i7. G... B. Core 2. Turn.. 2005 • 2 weeks later. IEEE Transactions on Publication Year: 1963 • Idea never became popular due to high system comlexity • Is a GPU considered as multicore? • Same challenges and issues still apply • However. 2 single-core dies packaged in a multichip module. AMD releases Opteron 800 series & Athlon 64 X2 processors • Many other multicores mushroomed since then from laptops to mobile phones • Many other multicore examples – – – – – – – – – Adapteva Aeroflex Ageia Ambric AMD Analog Devices ARM ASOCS Azul Systems …. i5.What is a multicore processor? • Famous examples of multicore – – Intel Core... J.

out-of-order issue. power consumption • Power consumption is main reason for switch to multicore • Dynamic power consumption Pdy ~ C x f x V^2 • Static power consumption Pst ~ Ileak The need for multicore: 2. power consumption • Solution is reduce frequency and duplicate processors • Single core performance increase stalling • Multicore is solution to keep performance scaling • Why??? Advanced Multicore Systems (ET4381) © MIT 2007 © Intel 2006 Advanced Multicore Systems (ET4381) 19 22 The need for multicore: 1. diminishing returns • The ’80s: superscalar expansion – – – 50% per year improvement in performance Pipeline processor 10 CPI → 1 CPI • The ’90s: the era of diminishing returns – – – Squeaking out the last implicit parallelism 2-way to 6-way issue. branch prediction 1 CPI → 0. power consumption • Power efficiency is even worse (watts/spec) The need for multicore: 3. wire delay • As frequency increases → less time for signal propagation • As wires shrink → more time needed for signal propagation © MIT 2007 Advanced Multicore Systems (ET4381) Advanced Multicore Systems (ET4381) © MIT 2007 21 24 .The need for multicore The need for multicore: 1.5 CPI • The ’00s: the multicore era – © MIT 2007 Advanced Multicore Systems (ET4381) Advanced Multicore Systems (ET4381) The need for Explicit Parallelism 20 23 The need for multicore: 1.

conventions. Moore's law • Technology provides more transistors that we can use • Multicore provides “cheap” way to use transistors Multicore challenges: processing cores • In some sense we can design super computers on-chip • Type of cores can vary – – Homogeneous Heterogeneous • Number of cores can vary Wikipedia. at what frequency. What memory hierarchy. etc. Advanced Multicore Systems (ET4381) 27 Advanced Multicore Systems (ET4381) 30 . etc.The need for multicore: 4. how many. etc. Moore's Law Advanced Multicore Systems (ET4381) Advanced Multicore Systems (ET4381) © Hagersten 2011 25 28 The need for multicore: industry push • Projects cancelled due to power consumption and delays • Industry switched suddenly to multicore out of necessity Multicore challenges: memory hierarchy • Lots of freedom in selection of system architecture © MIT 2007 Advanced Multicore Systems (ET4381) cores 26 Advanced Multicore Systems (ET4381) © Hagersten 2011 29 Multicore challenges • It's back to the drawing board • HW design conventions need update – – – Which cores to use. Multicore challenges: memory hierarchy • Cache as shared resource requires specific attention • Ensuring cache coherence • Ensuring memory consistency • Bandwidth plays important role in performance evaluation © Hagersten 2011 • SW design practices do not apply anymore – – – How to ensure enough parallelism exists Which HW is needed to optimally run software How to test. etc. which bandwidth needed. how to ensure consistency. How to interconnect system. debug. validate parallel code • Memory bottlenecks can make or break the system • We need new tools. education.

Saman Amarasinghe. On the Road to Concurrency.lbm performs poorly Advanced Multicore Systems (ET4381) © Hagersten 2011 33 Advanced Multicore Systems (ET4381) 36 . Erik Hagersten. 2011 2. Alexander Majorov. Uppsala University. Intel. Massachusetts Institute of Technology. 2007 3. 2006 • Programs vary in their performance on multicore • In this example 470. Multicore Programming Primer.Multicore challenges: interconnect Multicore challenges: possibilities © Hagersten 2011 • Bandwidth needs will continue to increase in the future • Parallelism increases bus contention • Interconnect plays a significant role in system performance Advanced Multicore Systems (ET4381) • Evaluation of scalability shows saturation after 2 cores • Possibility to improve performance significantly • Investigate scalability on SW on HW platform Advanced Multicore Systems (ET4381) 31 34 Multicore challenges: parallel SW Summary • What is a multicore processor? • Brief history of multicores • The need for multicore – Power consumption – Rule of diminishing returns – Growing wire delay – Moore's law • Multicore challenges © Hagersten 2011 • Problem not yet well understood • Tools are not yet available • Will take years to develop new methodologies Advanced Multicore Systems (ET4381) 32 Advanced Multicore Systems (ET4381) 35 Multicore challenges: possibilities References 1. The Challenge of Many Cores.