Peter A. Dinda 
Professor, Computer Science and Engineering
McCormick School of Engineering and Applied Science
Northwestern University
Seeley Mudd 3507 
2233 Tech Drive 
Evanston, IL 60208 
(847) 467-7859 (voice) 
pdinda at northwestern dot edu 
 
Interweaving ProjectInterested in full-stack approaches to high performance parallelism?
Check out the Interweaving Project
Do you want to study the floating point behavior of a binary? Download our FPSpy Tool.

Do you program or manage programming in any capacity? Please take our floating point survey.

Try the Nautilus AerokernelDownload our Nautilus Aerokernel.
We use it to build hybrid parallel runtime systems that run as OS kernels.
Boot your third-party OS on the Intel Xeon Phi Download our Philix toolchain.
We use it to build operating systems for the Intel Xeon Phi.
Download our Palacios Virtual Machine Monitor Download our Palacios Virtual Machine Monitor.
We use it to virtualize the fastest computers in the world
Got an iPhone? Try our Batphone acoustic indoor localization app, part of the Empathic Systems Project
Try out our sonar-based laptop
display power manager Try out our sonar-based laptop display power manager, part of the Empathic Systems Project


If you're interested in majoring in Computer Science, either in McCormick or Weinberg, or Computer Engineering in McCormick, you should read about the CS and CE Curricula in the EECS Undergraduate Study Manual.

If you're a Ph.D. student (or prospective Ph.D. student) in Computer Science or Computer Engineering interested in working with me, please read the relevant sections (Systems, Computer Engineering) of the EECS Graduate Study Manual. Please note that the Systems section was changed in 2016 to remove material that I believe is vital, including expectations I have of any CS Systems Ph.D. students working with me.

If you're an undergraduate or MS student interested in research experience through independent study or REU, feel free to contact me or one of my graduate students. You should have some background in at least one of architecture, operating systems, distributed systems, networks, parallel systems, programming languages, compilers, or databases. Undergrads are also welcome in my graduate courses, as are MS students, the latter typically after a short interview.