Computer Science for Future DARPA Directors
A few weeks ago Berkeley’s Randy Katz told me about an interesting book by one of his colleagues, Richard Muller. It’s called “Physics for Future Presidents” and is based on a course by the same name.

The book is described as explaining the “science behind the headlines — the tools of terrorists, the dangers of nuclear power, and the reality of global warming.” An interesting concept, don’t you think? Of course, the reason that Randy brought this up was to ask the obvious: Shouldn’t there also be a computer science (or, more broadly, an IT) version of this book?
Indeed, so many of the challenges facing the nation today involve information technology in obvious ways. Consider, for example, the incredible complexity of today’s financial markets, or the subtle ways that electronic surveillance interacts with privacy. And then there are fundamental science and technology questions that impinge on economic and social policy. For example, how is a President to understand the economic implications of the multicore challenge? Clearly, future policymakers need a basic understanding of computing principles and an ability to think computationally. (I also think that a “CS for Future Presidents” would be a great basis for an intro CS course, much like Muller’s course, but that’s a topic for a different article…)
Anyway, I think this idea is so incredibly appealing that probably lots of people and groups are going to be working on something like this. But a slightly different idea also occurred to me. Key technology leaders — for example, the Director of DARPA — might also find something along these lines to be useful. And with the possibility of the new Administration choosing a new DARPA Director (as well as other key science and technology director posts), now seems like an important time to pull something together.
Randy Katz and I therefore have been giving this some thought, and we’ve actually started to get some traction within DARPA on this. We’ve been asking our colleagues for ideas, and with this blog post I’d like to see if you have ideas to offer, too. Let’s focus for a moment on DARPA and think about what, exactly, the future DARPA Director absolutely needs to have on his radar screen. Let’s imagine a report or book that
- summarizes key IT technology trends that most urgently affect the national defense,
- analyzes IT technology roadmaps that are nearing their end, and the consequences of that end, and
- attempts to identify areas of possible “technological surprise” — that is, soft points in the defense IT research portfolio.
A simple way to start is to ask what would be in the table of contents? The table of contents of Physics for Future Presidents has parts on major societal challenges (Terrorism, Energy, Nukes, Space, Global Warming), with each part then containing several chapters (e.g., Calculating Global Warming). What would be the parts and chapters of a CS book for DARPA Directors? One idea offered by Bob Colwell is a chapter on “the death of voltage scaling”, which would analyze the consequences of the impending end of the voltage scaling roadmap in computer architecture design. Satya suggested a part (with multiple chapters) on Mobile Computing, which has become so intertwined with how our military fights.
Anyway, I hope you get the idea. Please help us. Some key people are ready to listen, but of course we would have to deliver something very, very soon if it is to have any chance for immediate impact.
Peter Lee @ November 23, 2008
A very important topic indeed. It depends a lot on which type of terrorism you want to curb. If you are dealing with Islamic terror than there is no solution at all other than strict laws. See what is happening in India and in Israel. These misguided people have grievances and they will use any thing to cause destruction like recently they used bulldozer to kill a lot of people in Israel or they use small amounts of ammonium nitrate to cause a lot of small synchronous blasts in the city in India. (Ammonium nitrate is in any fertilizer…..) So this can be curbed by selling these in small amounts and by monitoring the usage of these stuff.
Now for more serious terrorism or guerrilla warfare in Iraq they use IEDs or roadside bombs to cause destruction. The ideal solution for which should be using mobile phone carefully and monitoring who has purchased a phone. Mobile phones are used to explode these devices.
Overall its obvious then presidents should have a compulsory course on data mining whereby they can understand how they can find interesting patterns in terrorist activities.
So basically gathering intelligence is the most important thing and all computer science techniques which can help in finding the best intelligence should be a part of this book.
This is a very important topic, I think the average person believes that the open problems in computer science involve how to make your computer faster, how to fix windows, how to get rid of the viruses on my machine and the newest buttons added to Microsoft word.
I dont think we should limit ourselves to the table of contents of the other book however. Computer Science has its own issues and great problems. Andre Platzner’s work in verification of automated systems has real implications for transit infrastructure for example. Robots are becoming ever more useful in resource deployment and disaster scenarios. The CUPS lab is working on ways to make security more usable (very important in government offices, especially with recent news like a high state official using Yahoo mail for government business) and so many others.
What we need people to see and understand is that computer science has its own great problems that are important to humanity just as the other sciences.
I think an important “part” would be on reliability and security of infrastructures. (DARPA might be most interested in military infrastructures, but the military depends in non-trivial ways on many of the major civil infrastructures–roads, telecommunications, energy, etc.)
There are two important trends: Almost every infrastructure is becoming more heavily dependent on (more complex) IT; Each of the infrastructures is becoming more dependent on a variety of others, so that damage to one may cascade into others.
Reliability of complex systems has always been problematic. But interconnection of SCADA systems via the Internet opens up a whole range of new ways for accidental or malicious damage to infrastructures.
DARPA should be making a broad and long-term investment in this area. One precedent is the MAFTIA effort in Europe. (http://maftia.cs.ncl.ac.uk/).
I recently gave a talk on a small part of this area: infrastructure maintenance, that may be of interest to some. (http://www.horning.net/infrastructure.ppt)
An important topic would be numerical simulation and its handmaiden, supercomputing. Numerical simulation has become so ingrained in the practice of R&D in many fields that questions of accuracy and the inherent approximation of simulation can be forgotten (or never known by policy makers), particularly for problems where the research is only supported by simulation. Analysis of the gross characteristics of the major techniques of numerical modeling, and limitations (including accuracy and convergence), would be useful. Also useful would be an overview of the state of the practice in supercomputing, with some discussion of the effects that near- to mid-term innovations in hardware are likely to have on the scale of simulation possible in the plannable future, and how those innovations are changing the software development landscape for large scale scientific applications.
From recent terror attacks in Mumbai its also obvious that a chapter on wireless communication should also be a part of the book. The terrorists were having advanced wireless sets and were getting instructions regarding the position of the troops from it (someone was updating them)
I think that I would generalize Bob Colwell’s suggestion into a section on Parallelism. This would cover not only Bob’s topic — the architectural limits that have pushed us to multi-core and soon to many-core — but also the physical characteristics of many-core chips, in particular, their failure modes and the absence of shared memory. Then we would go on to discuss how and why current languages and programming paradigms are such a poor match for these new architectures, the limitations of the current approaches to dealing with this (such as transactional memory), and the potential benefits in power saving and reliability if we can figure out how to use massively many-core chips effectively.
[…] to my previous post on “computer science for future DARPA directors”, Randy Katz and I received a lot of very good input from various sources (including this blog). […]
Quite interesting and informative.
Thanks