- Yelick, Katherine;
- Bulu, Aydn;
- Awan, Muaaz;
- Azad, Ariful;
- Brock, Benjamin;
- Egan, Rob;
- Ekanayake, Saliya;
- Ellis, Marquita;
- Georganas, Evangelos;
- Guidi, Giulia;
- Hofmeyr, Steven;
- Selvitopi, Oguz;
- Teodoropol, Cristina;
- Oliker, Leonid
Genomic datasets are growing dramatically as the cost of sequencing continues to decline and small sequencing devices become available. Enormous community databases store and share these data with the research community, but some of these genomic data analysis problems require large-scale computational platforms to meet both the memory and computational requirements. These applications differ from scientific simulations that dominate the workload on high-end parallel systems today and place different requirements on programming support, software libraries and parallel architectural design. For example, they involve irregular communication patterns such as asynchronous updates to shared data structures. We consider several problems in high-performance genomics analysis, including alignment, profiling, clustering and assembly for both single genomes and metagenomes. We identify some of the common computational patterns or 'motifs' that help inform parallelization strategies and compare our motifs to some of the established lists, arguing that at least two key patterns, sorting and hashing, are missing. This article is part of a discussion meeting issue 'Numerical algorithms for high-performance computational science'.