Design Studio Project – Spring 2014 University of Pittsburgh 1 NetApp Confidential - Internal Use Only
Feb 22, 2016
1NetApp Confidential - Internal Use Only
Design Studio Project – Spring 2014
University of Pittsburgh
Who is NetApp?$6.2B, Fortune 500 storage and data
management company.Founded in 1992.12,000 employees, 150+ worldwide offices, HQ:
Sunnyvale, CA, Pittsburgh: 275.Customers include energy, pharmaceutical,
sports, entertainment, technology, cloud and many more.
96% of Fortune 100 companies are customers of NetApp.
Data ONTAP – Storage OS
2NetApp Confidential - Internal Use Only
Uses of NetAppEnergy companies like Chevron and Shell use
NetApp innovations to explore for oil that will fuel your car.
Movies such as "Avatar" and "The Lord of the Rings" were created using NetApp products.
Pharmaceutical companies like Genentech use NetApp storage to develop the medications on which many of us depend.
Technology giants like SAP, Cisco, and TI develop their products and run their businesses on NetApp.
Popular e-mail services, telephone companies, and Internet sites run on NetApp.
3NetApp Confidential - Internal Use Only
The Project – Memory Plumber Visualization Memory Plumber is a tool used to pinpoint memory
allocations that are causing over-usage or may be leaking.
Goal: Meaningful way to present this data allowing one to spot errors at a glance and / or discuss consumption.
Input: Stack traces Output: Interactive interface
4NetApp Confidential - Internal Use Only
Why is this important?
If our applications run out of memory, our customer can't use their filer.
But... keeping track of memory is hard.
5NetApp Confidential - Internal Use Only
It doesn’t sound hard!
Imagine a process with >50 threads using C++ Each doing different work. Each allocating memory... Some through
libraries/STL, some directly.. At some point your process grows to 500M! Who did it? Did they forget to free? Do they need to
use so much? WHY? WHY? WHY?
6NetApp Confidential - Internal Use Only
Enter memory plumber
Record the stack trace that led to EVERY allocation. When asked, dump the stack traces for all
outstanding allocations to a file. When you're at 500M, ... now you can dump the file.
7NetApp Confidential - Internal Use Only
BUT! Now we are drowning in data!
We have stack traces, but we have tens of thousands. We need to organize, visualize, filter, resort, etc. Do allocations flow through a single source line? Do allocations flow through particular libraries? Are there patterns?
8NetApp Confidential - Internal Use Only
Project deliverables / updates Plan
– Specification (to be started at beginning of project and updated as project proceeds)
Periodic internal updates with class professor + grad student– Progress discussion– Next steps discussion– Working demo after first couple of weeks
Periodic / less frequent updates with NetApp Presentations / Demonstrations
– Project kick-off presentation (first few weeks into the project)– Pre mid-point presentation.– Post mid-point presentation (for extended NetApp Employees)– Pre-final presentation and demonstration (few weeks before final
presentation… to be used to coach final presentation.)– Final presentation and demonstration (week prior to finals weeks)
9NetApp Confidential - Internal Use Only
Mentor / Mentee InteractionNetApp Mentors on campus for initial
presentation to class.Periodic (more that weekly) meeting with
Professor and grad studentNetApp mentors on campus about every 3
weeks.Email, instant messenger, and telephone
communication can be used between scheduled meetings at all times.
NetApp Mentors on campus for final presentation.
10NetApp Confidential - Internal Use Only
Questions?
Tony DeLuca: [email protected]– University of Pittsburgh CS -- 1995
Phil Ezolt: [email protected] – Carnegie Mellon ECE – 1998– Harvard MCS -- 2006
11
12NetApp Confidential - Internal Use Only