Home | Contact Info | Pictures

Nicholas Edmonds

Who I am/What I do

I just wrapped up a PhD at Indiana University and am currently a software engineer at Google. I specialize in parallel programming at large scale and on interesting/novel hardware architectures not front-end work, so this page is quick and dirty, but it should have all the pertinent details. If you've got an interesting problem or fun project that you need to scale out to a big cluster or optimize to run faster in a single address space (maybe using some fancy hardware) I might be able to help. If you're doing actual science--I'm talking Physics, Computational Chemistry, or Bioinformatics/Genomics)--I'm definitely interested. I'm particularly interested in unstructured or irregular problems (e.g. graphs and sparse matrices) but if MPI+OpenMP isn't cutting it for you we should talk. My preferred language is (modern) C++ making heavy use of generic programming techniques such as template meta-programming and using existing libraries wherever possible. Check out my contact info and get in touch.

Publications

Rather than reproduce my resume here I'll just keep a relatively up-to-date list of publications that have been submitted or accepted that may be of interest.

[12/21/13] My PhD thesis, Active Messages as a Spanning Model for Parallel Graph Computation has been accepted and will be published by ProQuest/UMI shortly. PBGL2, the active message-based version of the Parallel Boost Graph Library utilized in my dissertation, as well as AM++, the active message library it is built on, have been released.
[3/27/13] Expressing Graph Algorithms Using Generalized Active Messages published with Jeremiah Willcock and Andrew Lumsdaine was accepted by the International Conference on Supercomputing in Eugene, OR. I'll be presenting it 6/11/13-6/14/15.
[1/23/13] Expressing Graph Algorithms Using Generalized Active Messages appeared at PPoPP as a poster (abstract).

Speaking Engagements, Travel, etc.

[Travel] I'll be in the Bay Area 6/17/13-6/19/13.
[Travel] I'll be at the International Conference on Supercomputing in Eugene, OR 6/11/13-6/15/13.
[Travel] I'll be in the Bay Area 9/20/12-9/23/12.
[Talk]

I'm giving a talk entitled: Graph Theory and HPC: What we know, what we don't know, and why BSP won't help in the IU Innovation Center Room 105 at 3p EDT September 4, 2012 as part of the CREST and RT Seminar Series.

Abstract: Random graphs arise in a number of scientific domains including bioinformatics/genomics, epidemiology, social network analysis, and various data-mining applications. However, until recently the ability to process these graphs at scale was somewhat limited. Graph applications are fine-grained, irregular, and often dynamic which make them ill-suited to the traditional coarse-grained Bulk Synchronous Parallel (BSP) models of computation favored by the HPC community in the past. In order to justify a new computational model for these applications we need first examine what we know about the properties of the graphs themselves and the algorithms we wish to run on them. While a rich body of theory exists for models such as Gilbert's G(n,p) and Erdős and Rényi's G(n,M), comparatively fewer theoretical tools are available for a new class of graph models which claim to more accurately model real-world networks. Instead we must rely, for the time being, on empirical observations and (often axiomatized) intuition. Despite the limitations of our theoretical knowledge, we can divine some desirable properties of a computational model well-suited to graph applications and it looks decidedly unlike BSP.

Projects

The Parallel Boost Graph Library -- New active message-based version available

Active Pebbles -- Implementation now available in AM++

It's not really a project, but I do obviously need a fancy new website and while I'd love to drop everything and learn HTML5 or CSS3 or whatever dynamic content generation languages people are using these days (I'm guessing my uber-basic PHP skills are less than applicable), I really have way too much on my plate for that. If you know me, and you know someone who is a good designer and would be willing to build a site for me that makes it simple to drop in new content and looks all snazzy, email me and let me know... especially if their prices are reasonable.

Valid HTML 4.01!