This article is published in the May 2007 issue.

The Computing Community Consortium – The Way Forward

In November’s CRN we announced that the National Science Foundation had chosen CRA to establish the Computing Community Consortium (CCC), whose goal is to create venues for community participation in developing research visions and stimulating new research activities for our field. The interim Computing Community Consortium Council has been working to roll out the new CCC activity. Here we’d like to give you a snapshot of our thinking. As always, we’re vitally interested in your thoughts and suggestions and absolutely welcome your participation in this effort – send email to ccc [at] – your email will be read and discussed, and you will receive a reply detailing this.

CCC is all about helping the community create compelling research visions and the mechanisms to realize these visions. Such a process typically moves through a number of stages.


The germ of a vision, in the minds of a small number of people. Traditionally, this pretty much just happens when one or two people start talking about issues within their subdiscipline. Perhaps attendance at a workshop sparks an idea. Perhaps someone is unhappy with the direction of research in her field. But somehow, somewhere a spark forms. To gain traction, this spark must be turned into a concept, preferably in a conceptual document that describes the exciting idea, demonstrates the existence of a core team committed to evolving the idea, and proposes how to enlarge participation. CCC can encourage this step through exemplars.

Broadening and Crystallization

Broadening of involvement, and crystallization of the vision. Broadening means more people, and crystallization can mean expansion (“great research topics, but fit them into a broader context that’ll sell”) or greater specificity (“terrific elevator speech, but beef up the actionable research thrusts”). CCC can support this step through supporting study groups that are sustained over a period of time, leading to workshops that extend beyond the core study group and bring funding agencies and professional guilds (e.g., SIGs) into the process. There needs to be broad-based community participation to ensure community ownership of the vision and subsequent efforts. The result of this stage is a document that describes a clear and compelling vision and a set of research initiatives that would realize that vision, with an indication of the scope of the effort. This document could be translated into one or more programs by research agency staff interacting with the study group.

Program Formulation

Work with agency staff to formulate a specific program. Turning the results of broadening and crystallization into a program requires the combination of research vision and ability to ‘sell’ that vision with the inside knowledge of how programs are created and nurtured through the federal budget process. This is a hand-off stage between the community and the funding agencies. CCC can help—both with knowledge of the process and by creating relationships with federal agency staff.


Agency places the program into its budget request. The initiators work with CCC to ensure that the effort is included in the final budget approved by Congress and signed by the President.


Do it. Below we highlight several programs that have progressed to various stages along this pipeline. While it certainly is encouraging that great ideas are progressing from gleam to realization, what we do not know is how many did not make it. How many great ideas floundered because the conceptualizer did not have the resources to bring together the right folks at the right time? How many compelling visions were not realized because the process from vision to funded program was too mysterious? The role of CCC is to ensure that such roadblocks no longer interfere with the great ideas of the research community.

1. Algorithms as a lens on the sciences: Beginning in the mid-1990s, several individual theorists became concerned about the field, where it was going, and how it was funded. There was considerable dissension, with the claims that the field was too inward-looking and too hung up on mathematical elegance as opposed to relevance. Events overtook discussion as theory became highly relevant to web-based applications, protocols, and other areas. Simultaneously, theory funding was dwindling so SIGACT set up a committee to look at these issues. It concluded that new directions that connected theory to other intellectually challenging areas would take funding pressure off the core (since folks have more sources to go to, leaving the core for folks who were uninterested in application areas). A workshop series on network computation led to NSF’s SING program, but SING had no money of its own and actually resulted in a decrease in theory funding. The SIGACT committee went back to work and developed the idea of algorithms as a lens on science. This idea went forward as a White Paper to appropriate folks within NSF. Eventually, after working its way through the internal NSF budget process, it resulted in a large new FY08 request—Cyber-Enabled Discovery and Innovation (a foundation-wide program beginning at $52 million in FY08 and intended to grow to $250 million in FY12).

This is an example of an idea begun by a few individuals, nurtured within a professional guild, supported by a federal agency, and turned into a major funded program—but not without a few bumps.

2. GENI: Global Environment for Network Innovations (see for more details). This is an example of a program that was nucleated by a program officer within NSF who took the idea to several key networking researchers who ran with it. At this point a fairly large community extending beyond networking is involved, and the program is moving through the NSF Major Equipment and Research Facilities Construction process.

3. Internet-scale computing research or data-intensive supercomputing: Thinking about research problems on a scale like Google—massive amounts of data, massive amounts of computation. The concept is to provide academic researchers with the infrastructure to explore algorithms, protocols, and ideas that require access to massive server farms and streaming data. Still in the nucleation stage.

4. How to cope with multicore: computer architecture and programming research for the future. In December 2005 CRA held a Grand Research Challenges in Computer Architecture workshop to discuss these, and other, issues. This was not a unique event—all computing researchers can see the collision of multicores and our current ability to compute concurrently. This is an example of an area that is gaining traction in both industry and federal agencies.

These are samples of ongoing efforts. CCC’s goal is to encourage more such efforts, and to help those that gain traction to succeed.

We have chosen to highlight CCC at the upcoming FCRC (, and have five presentations scheduled:

  1. Ed Lazowska, Chair of the CCC Council, will be giving a keynote on Friday, June 15.
  2. Christos Papadimitriou, UC Berkeley, will be talking about the theory initiative.
  3. Randy Bryant, CMU, will be talking about Internet-scale computing research.
  4. Larry Peterson, Princeton, and Scott Shenker, UC Berkeley, will be talking about GENI.
  5. Bob Colwell (ex-Intel) will be talking about future research in computer architecture, compilers and languages.

Each of these talks will be in the context of how to move from gleam to funded program, and how CCC can help.

“The best way to predict the future is to invent it.” Hope to see you there!

Andy Bernat (abernat [at] is CRA’s Executive Director. Ed Lazowska (lazowska [at], Bill & Melinda Gates Chair in Computer Science & Engineering at the University of Washington, was recently appointed the inaugural Chair of the Computing Community Consortium (CCC) Council.

The Computing Community Consortium – The Way Forward