1. Homepage
  2. Programming
  3. Multicore Processors: Architecture & Programming Projects

Multicore Processors: Architecture & Programming Projects

Engage in a Conversation
NYUMulticore Processors: Architecture & ProgrammingC++C

Multicore Processors: Architecture & Programming CourseNana.COM

Projects CourseNana.COM

The project part of the course CourseNana.COM

50% of the total grade
groups of 1 to 4 students CourseNana.COM

One submission per group
Presentations in the last two lectures of CourseNana.COM

You have 3 choices:
pick one of the suggested projects CourseNana.COM

suggest a modifications to a suggested project suggest a different project CourseNana.COM

the course CourseNana.COM

Regarding the Final Report CourseNana.COM

Regarding Final Report: Abstract CourseNana.COM

The first thing in your report, but the last thing to write. CourseNana.COM

1 paragraph summarizing your problem and why it is important. CourseNana.COM

1-2 lines hinting on your technique
1-2 lines summarizing your finding(s) CourseNana.COM

Regarding Final Report: Introduction CourseNana.COM

Expand the abstract to include why the problem you are solving is important. CourseNana.COM

Then, give a general idea about your way of approaching the problem. CourseNana.COM

Regarding Final Report: Literature Review CourseNana.COM

  • Feel free to organize this section in any way you want: Include any subsections you think you need.
    Draw any Figures you like. CourseNana.COM

  • But you need to discuss at least the following items: CourseNana.COM

    What did others do regarding the topic at hand? Note: the worst survey ever is when you say x has done y; z has done k; ...”. You must put the work of others in taxonomy. That is, The solution to this falls in x categories: .... . In the first category x has done ...”. CourseNana.COM

    • –  What are the pros and cons of what they are doing? CourseNana.COM

    • –  Why their work is not enough, and your proposed project is CourseNana.COM

needed? CourseNana.COM

Important: Literature must not be about papers solving exactly your same problem. But can include papers about different problems but have similar challenges. CourseNana.COM

Regarding Final Report: Proposed Idea CourseNana.COM

This is a major part of this report.
Describe in great details the solution to CourseNana.COM

the problem at hand. CourseNana.COM

For example, if you are parallelizing something, you must explain how you did that and justify your choices. If you are comparing things, you must specify what is the criteria of comparison is/are and why you picked them; and so on... CourseNana.COM

Regarding Final Report: Experimental Setup CourseNana.COM

State:
The simulator you used (if any) or the specs of CourseNana.COM

the machine you used
The benchmarks (if any), etc ... CourseNana.COM

How do you know you have written a good experimental setup? If another researcher reads this section, the researcher must be able to replicate your experiments without asking you any questions. CourseNana.COM

Regarding Final Report: Results and Analysis CourseNana.COM

Formatting tip: using tables, bullets, figures, diagrams, ... are better than words in presenting results. CourseNana.COM

  • What is/are the measures of success in your work? That is, what do you need to measure and what are you expecting the results to be in order to say that you succeeded? CourseNana.COM

  • What are the experiments that you did in order to get the measurements you mentioned in the above bullet? CourseNana.COM

    Analysis:
    Bad: “As we can see x is increasing with y” You won’t CourseNana.COM

get any credits for that! CourseNana.COM

Much better: “x increases with y because 1, 2, 3, .... And under the conditions .... x may not increase with y. We learn from that ....” CourseNana.COM

Regarding Final Report: Conclusions CourseNana.COM

What are the most important findings of your project? CourseNana.COM

A bullets list is the best here. No more than three points. CourseNana.COM

Regarding Final Report: References CourseNana.COM

  • If you only mention the references I provided you, it means you did not do any extra work. CourseNana.COM

  • Websiteslikewikipedia,stackoverflow,etcare not references, don’t use them. CourseNana.COM

  • Don’t use urls unless there is no paper about the topic. CourseNana.COM

  • Example of reference format: CourseNana.COM

    J. Lee and H. Kim. Tap: A tlp-aware cache management policy for a cpu-gpu heterogeneous architecture. In High Performance Computer Architecture (HPCA), 2012 IEEE 18th International Symposium on, pages 112, 2012. CourseNana.COM

Suggested Projects CourseNana.COM

Check the page on the course website whose link is in the “Comments” column of Sep 26th lecture. CourseNana.COM

Project 1:
Parallel Computational Model
CourseNana.COM

Survey of parallel computational models currently available (e.g. PRAM, BSP, logP,...). CourseNana.COM

Do not limit to the three models we discussed in class. CourseNana.COM

Must take memory access, communication, and computation into account. CourseNana.COM

Prepare the following benchmarks in OpenMP: Twodifferentsortingalgorithms
Twodifferentsearchalgorithms
Two other applications of your choice. CourseNana.COM

  • Compare the expected performance of each application using your model and the other models. CourseNana.COM

  • Execute the applications, with different problem sizes, and see how does your model compare to others in predicting the performance of a parallel algorithm. CourseNana.COM

Project 2:
Pick an application to parallelize
CourseNana.COM

(YOU must pick the application.) CourseNana.COM

  • Must demonstrate lessons beyond "I implemented X on the multicore using this library/language/thread model, and it runs faster than a sequential version". CourseNana.COM

  • Better compare with another parallel version in addition to the sequential version. CourseNana.COM

  • Must clearly show the challenges facing the parallelization of this application and how you overcame it. CourseNana.COM

    These lessons may include: CourseNana.COM

  • Interesting generalized algorithmic or data structure contributions that can be applied to other applications (and these other applications should be made explicit) CourseNana.COM

  • Interesting optimization techniques that can be applied beyond the application in the paper CourseNana.COM

  • Interesting data management/representation techniques: how to best leverage the memory hierarchy, how to represent data in the most suitable way CourseNana.COM

  • Rigorous comparisons with existing implementations. CourseNana.COM

Project 3: Comparing OpenMP and Rust CourseNana.COM

  • Programmability (i.e. how easy it is to program with the language) CourseNana.COM

  • Scalability (handling large number of threads) CourseNana.COM

  • Runtime overhead of the language (measure how long it takes to create threads, terminate threads, synchronize, etc) CourseNana.COM

  • The amount of control given to the programmer (can the programmer decide which thread goes to which core, can the programmer decide which variables to be shared and which ones to be prviate, etc). CourseNana.COM

  • Any other factor you can think of. CourseNana.COM

  • You need to create several benchmarks to test the above. CourseNana.COM

  • Based on your analysis about the performance of each language, make a flowchart showing developers when to use each language. CourseNana.COM

Project 4: Concurrent Data Structure CourseNana.COM

Pick a data structure: queue, tree, ... CourseNana.COM

  • Build a library for that data structure CourseNana.COM

    that can be used by OpenMP. CourseNana.COM

  • Test your implementation for performance and scalability using a set of benchmarks that you create. CourseNana.COM

Project 5 version a: Performance Prediction of Multithreaded Applications CourseNana.COM

Input:
Specs of a multithreaded program (What are CourseNana.COM

these specs is part of the project.) CourseNana.COM

Specs of the machine that will be used to run program (What are they is part of the project.) CourseNana.COM

Problem size
Speedup on some machines CourseNana.COM

Output: Expected speedup, on a different machine, relative to a one thread execution. CourseNana.COM

Project 5 version b: Performance Prediction of Multithreaded Applications CourseNana.COM

Input:
Specs of a multithreaded program (What CourseNana.COM

are these specs is part of the project.) CourseNana.COM

Specs of the machine that will be used to run program (What are they is part of the project.) CourseNana.COM

Problem size CourseNana.COM

Output: Expected speedup relative to a one thread execution. CourseNana.COM

Project 6:
Compare Coherence Protocols
CourseNana.COM

Exhaustive list of coherence protocols CourseNana.COM

Implement them using simulator CourseNana.COM

Discuss effect on parallel programs in terms of: CourseNana.COM

Scalability
Bandwidth requirement CourseNana.COM

Project 7: CourseNana.COM

Evaluation of Memory Allocators in OpenMP Programs CourseNana.COM

Input: Several memory allocators implemented for multithreaded applications CourseNana.COM

Output: CourseNana.COM

comparison of the different ones in terms of: Speed CourseNana.COM

Scalability
False sharing avoidance Low fragmentation CourseNana.COM

Implement your own and compare to others CourseNana.COM

CourseNana.COM

Have Fun!  CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
NYU代写,Multicore Processors: Architecture & Programming代写,C++代写,C代写,NYU代编,Multicore Processors: Architecture & Programming代编,C++代编,C代编,NYU代考,Multicore Processors: Architecture & Programming代考,C++代考,C代考,NYUhelp,Multicore Processors: Architecture & Programminghelp,C++help,Chelp,NYU作业代写,Multicore Processors: Architecture & Programming作业代写,C++作业代写,C作业代写,NYU编程代写,Multicore Processors: Architecture & Programming编程代写,C++编程代写,C编程代写,NYUprogramming help,Multicore Processors: Architecture & Programmingprogramming help,C++programming help,Cprogramming help,NYUassignment help,Multicore Processors: Architecture & Programmingassignment help,C++assignment help,Cassignment help,NYUsolution,Multicore Processors: Architecture & Programmingsolution,C++solution,Csolution,