Proposal #: CNS 07-09140 07-08307 07-08820 PI(s): Brockman, Jay B. Bader, David A. Gao, Guang R. Barabasi,Albert-Laszlo;Chawla,Nitesh;Kogge,PeterM. Vetter, Jeffrey S. Institution: University of Notre Dame Georgia Institute Tech U.Delaware Notre Dame, IN 46556-5602 Atlanta, GA 30332-0002 Newark, DE 19716-1551 Proposal #: CNS 07-09385 07-09111 07-09254 PI(s): Gilbert, John R. Upchurch, Edwin T. Yelick, Katherine A. Wolski, Richard. Institution: UC-Santa Barbara California Inst Tech UC-Berkeley Santa Barbara, CA 93106-2050 Pasadena, CA 91125-0600 Berkeley, CA 94704-5940 Title: Colla Rsch:IAD:Dev Rsch Infr. for Multithreaded Computing Community Using Cray Eldorado Platform
Project Proposed:
This collaborative project, developing a shared infrastructure needed to broaden its impact for developing software to run on the next generation of computer hardware, brings a diverse group of researchers from six universities in a joint effort. The work responds to the trend towards multicore processors where developers envision placing tens to hundreds of cores on a single die, each running multiple threads (in contrast to the currently dominant message-passing architectures resulting from the advent of MPI and Linux clusters). Three objectives are proposed: . Acquiring computer hardware as a shared community resource capable of efficiently running, in experimental and production modes, complex programs with thousands of threads in shared memory; . Assembling software infrastructure for developing and measuring performance of programs running on the hardware; and . Building stronger ties between the people themselves, creating ways for researchers at the partner institutions to collaborate and communicate their findings to the broader community. The Cray XMT system, scheduled for delivery in 2007 serves as an ideal platform. The second bullet includes algorithms, data sets, libraries, languages, tools, and simulators to evaluate performance of program running on the hardware focusing on applications that benefit from large numbers of threats, massively data intensive, ""sparse-graph"" problems that are difficult to parallelize using conventional message-passing on clusters. Each university contributes a piece to the infrastructure, using it for support of projects. Sandia National Laboratories has agreed to host the system and provide supplementary funding. Each university will use the Cray XMT system in courses.
Broader Impacts: The infrastructure measures performance providing a basis for the community to improve sharin, and build strong ties for collaboration and communication. Courses will be created and materials will be made available. Workshops for dissemination of the findings are also planned.
at www.cs.ucsb.edu/~gilbert/OutcomesReport0709385.pdf Here is a preview: The Combinatorial BLAS (CombBLAS) is a low-level library of graph primitives based on algebraic semirings and parallel sparse matrix data structures and algorithms. It is implemented portably in C++ and MPI, and achieves excellent performance on large, distributed-memory high-performance computers. Combinatorial BLAS was used, for example, in Beamer et al.'s development of the direction-optimizing breadth-first search algorithm that has been adopted by all the Graph500 champion implementations. The Knowledge Discovery Toolbox (KDT) is a higher-level system, which allows a domain scientist or analyst to use the high-level Python language to perform analytic computations on attributed semantic graphs using parallel supercomputers. Many emerging data analytics applications use attributed semantic graphs. A semantic graph has vertices representing entities and edges representing relationships among the entities; vertices and edges carry labels called "attributes". For example, in a credit card fraud analytics application, the graph might have vertices for banks, credit cards, customers, and merchants, and an edge for each financial transaction; edge attributes might include dates, times, amounts, and locations. Graph algorithms like clustering, shortest paths, and centrality are used to search for patterns that could represent fraud. CombBLAS contains primitives that allow such an algorithm to run fast on a parallel computer; the algorithm's need to take account of attributes (vertex types and edge labels) is satisfied by defining a suitable underlying semiring for the algebra. This is quite flexible and efficient, but not very friendly to a user who wants to think in terms of graph algorithms rather than semiring operations. KDT, therefore, is a higher-level system that serves as one example of how to use the CombBLAS primitives in a user-friendly way.