NCSI

   

A Full Program Cache Profiler for High Performance Applications


Shodor > NCSI > XSEDE EMPOWER > XSEDE EMPOWER Positions > A Full Program Cache Profiler for High Performance Applications

Status
Completed
Mentor NameMichael Shah
Mentor's XSEDE AffiliationPrevious Mentor, member of community
Mentor Has Been in XSEDE Community4-5 years
Project TitleA Full Program Cache Profiler for High Performance Applications
SummaryStudents will be working on building a profiler for high performance applications specifically focusing on cache behavior. Students will measure the performance of data structures under different workloads and observe hotspots in code and find out where opportunities for further optimizations exist and testing implementations of various cache-oblivious algorithms to increase performance.
Job Descriptiontudent Duties: Students will be responsible for working a minimum of 12 weeks (a full semester) for 30 hours a week. Students will be meeting with me once a week for a weekly check-in for feedback, demonstration of progress, ask questions, and make forward progress on the next guided training tasks.

There are two scientific applications for this proposal:
1. Scientific Application: Students will be working with me to learn and understand how cache-oblivious data structures work in C/C++.
2. Scientific Application: After implementing the algorithms, we will be writing our results and submitting for workshops for publication.
Computational ResourcesStudents will make use of XSEDE trainings available online [1].

[1] https://portal.xsede.org/web/xup/online-training
Contribution to Community
Position TypeApprentice
Training Plan1. Student must first come up to speed on C/C++ tools, including the LLVM Compiler framework. A sample of talks is here: https://www.youtube.com/playlist?list=PLvv0ScY6vfd8NDoT7qUab4VVAWV67oH-N

2. We will then read peer-reviewed papers from IEEE and ACM (exploring roughly 1 paper per week or every 2 weeks)

3/ We will investigate weekly Performance Engineering course ware are MIT on a weekly basis
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-172-performance-engineering-of-software-systems-fall-2018/

4. Students should understand what a profiler is https://www.cse.wustl.edu/~jain/cse567-06/ftp/perf_tools/index.html And some dynamic analysis techniques: https://www.seas.harvard.edu/courses/cs252/2015fa/lectures/Lec08-DynamicAnalysis.pdf

5. Students will first work through understanding the basics of Cache-Oblvious Algorithms and Data structures from: http://erikdemaine.org/papers/BRICS2002/paper.pdf

6. Next students will implement a few data structures and algorithms, and then profiler them

7. Students will work to find good real world benchmarks, mining github repositories for benchmarks that suffer from false-sharing performance related problems.

8. The remaining time will be writing up and polishing collected results.
Student Prerequisites/Conditions/QualificationsStudents should be on-campus or otherwise in the greater Boston area.
DurationSummer
Start Date05/09/2020
End Date08/09/2020

Not Logged In. Login