Multicore Processors Big deal? or No big deal? Steven Parker SCI Institute School of Computing University of Utah 1
SCI Institute
SCI Institute software 3
No big deal SMP machines have been available for decades ccNUMA for 15+ 4
No big deal SMP machines have been available for decades ccNUMA for 15+ Multi-core CPUs look like slightly crippled versions of the above 5
No big deal SMP machines have been available for decades ccNUMA for 15+ Multi-core CPUs look like slightly crippled versions of the above Dual core laptop equivalent to high-end 1990 Workstation My desktop is equivalent to small SGI Challenge 6
C-SAFE Computations Hundreds to thousands of CPUs Hundreds of wall-clock hours Millions of hours of CPU time per run Dozens of runs for a study All can handle increase in parallelism immediately 8
Big deal? Cost for 2-core machine 1990: $10000 2007: $1000 Cost for 8-core machine 1990: $150k 2007: $6k Big deal: much more available 9
Parallelism opportunities SIMD instructions available for ~decade 4-way parallelism broadly available Very little use (mainly libraries) Difficulty of programming a challenge What it it became 8-way or 16-way or 128 way? Lesson: use it or lose it 10
Programming Models Straight C code inadequate How to efficiently handle: Graph evaluations (updates) High load imbalance Lazy evaluation Reliability in a complex system elusive Parallelism not composable Big deal: revitalization in parallel computing research? 11
Scalability Multi-core means a 1000 CPU cluster now has 10000 CPUs 10x increase in impact of serial code 90% efficient means < 1% of code is serial/duplicated What about 100k cpus? Opportunity: programming models that allow multiple levels of parallelism More than MPI + OpenMP More than threads Big deal: opportunities for research in programming models, libraries, systems 12
Education 95% of CS grad students think they can program * 80% of statistics are made up on the spot, including these 13
Education 95% of CS grad students think they can program 50% actually can * 80% of statistics are made up on the spot, including these 14
Education 95% of CS grad students think they can program 50% actually can 50% of CS grad students think they can write a multithreaded program * 80% of statistics are made up on the spot, including these 15
Education 95% of CS grad students think they can program 50% actually can 50% of CS grad students think they can write a multithreaded program 10% actually can * 80% of statistics are made up on the spot, including these 16
Education 95% of CS grad students think they can program 50% actually can 50% of CS grad students think they can write a multithreaded program 10% actually can 1% can make it efficient and maintainable * 80% of statistics are made up on the spot, including these 17
Education 95% of CS grad students think they can program 50% actually can Should we teach P(n) 50% of CS grad students think they can write a instead of O(n)? multithreaded program 10% actually can 1% can make it efficient and maintainable * 80% of statistics are made up on the spot, including these 17
Education 95% of CS grad students think they can program 50% actually can Should we teach P(n) 50% of CS grad students think they can write a instead of O(n)? multithreaded program 10% actually can 1% can make it efficient and maintainable EAE section of 2420 will! * 80% of statistics are made up on the spot, including these 17
Observations/Thoughts? Memory latency (in cycles) no longer going up Memory bandwidth per core going down Locality aware algorithms are still important Speculative execution may go away for some things Terminology outdated: what is a CPU? Ask an oldtimer what “core” means APIs outdated (locality control) Is the # of cores as useless as Mhz/Ghz was? 18
Economics Q: How many cores will a 2020 CPU contain? A: As many as we can convince people to pay for. What are those applications? What are those algorithms? What are those systems? 19
More questions than answers 20
Recommend
More recommend