Computing Researchers, Who are Your Consumers? (Part 2)

In last week’s post, I suggested that the academic computer architecture research community is lacking a unified understanding of future needs of computing system end consumers.  In today’s post, I suggest ways that our community can move toward consumer-centric research thrusts.

Publish Consumer Research…?!

As I mentioned in my last post, the big companies have some knowledge about their consumers. Last year, I worked at Advanced Micro Devices for 7 months as a cooperative intern, and once a week, all employees received a company-wide email that discussed current and near-term future processor sales trends across 4 different platforms: server, workstation/desktop, laptop and mobile. This is the extent of data that most big companies are willing to share with all of their employees, including the interns.

Now, imagine what other data the big companies probably have. They certainly know how many processors or graphics units they sold to Hewlett Packard (HP), Dell and other big purchasers to be put into new laptops. Do they know how these laptops are being used by end consumers? Definitely – at some level.

Let’s try a quick exercise: What portion of laptop end consumers stream video? Regardless of the answer to this question, we should definitely be asking more questions about these consumers. Suppose most consumers stream video… Do they stream video while on battery power, or are they always plugged into the wall? Maybe we could figure out ways to support streaming video in ultra-low power processor modes, so streaming video can be enjoyed in coffee shops and libraries away from power outlets. If that’s what the end consumer wants, what is our power budget to enable the consumer to watch 3 hours of streaming HD video on battery power? Now you’ve got yourself a compelling thrust in future processor and graphics unit research!

Here, I used laptops as an example of the consumer research that might lead to interesting research thrusts, but I want to emphasize that consumers have different usage demands from different platforms. For instance, my parents have started using their Android smartphone for browsing the internet and checking their email. At the same time, some of my colleagues are researching ways to parallelize irregular computations like graph traversals for back-end processing in datacenters. These platforms, smartphones and datacenters, don’t really need to support the same usage that is demanded by the users of the other, yet the processor in my parents’ smartphone is quite similar to the processor for which my colleagues are writing complex parallel code. A deeper understanding of the demands on these processors has potential to free researchers from existing research constraints and open up broader classes of computing solutions across different platforms.

It would be immensely valuable for this type of consumer data to be available to the research community, especially as the consumer-base continues to grow and diversify. My first proposal is that we encourage researchers to actually talk to customers to collect data and quantify their demands (and for those that will say the consumer doesn’t know what they want, you’re WRONG. There are consumers who know and are more than willing to tell you. They are the early adopters, and their demands will drive industry disruption. I’ll bet Apple, HP, Dell, Google and Microsoft have plenty of knowledge about these consumers). We need to distribute and understand consumer demand data across ALL different computing platforms. As a community, we should have workshops, or even accept papers into our top conferences, aimed at articulating consumer data and proposing future research directions suggested by consumer habits.

Millennium Prize Problems

In 2000, the Clay Mathematics Institute released the Millennium Prize Problems, a list of mathematics conjectures for which the mathematics community is seeking proofs.  Some of these conjectures have held the attention of mathematicians for decades.  However, by distilling the problems down into a well-defined list, Clay Mathematics brought the attention of not only the research community, but also the minds of young aspiring mathematicians.

In late 2002, Dr. Grigori Perelman posted an outline of the proof of one of the Millennium Prize Problems, the Poincare Conjecture.  While Dr. Perelman had been working in the field for years, the Millennium Prize brought significant attention to his work while his proof was being verified and its implications being explored. In 2006, Perelman was awarded the Fields medal for the accomplishment. Later, he was awarded the Millennium Prize for his proof, but Perelman himself claimed that the Millennium Prize Problems “are like these huge cliff walls, with no obvious hand holds.” Both incremental and breakthrough progress helped Perelman and a crew of other researchers finalize the proof.

In April this year, IBM achieved a feat analogous to Perelman’s proof: They succeeded at designing a computing system, named Watson, which competed against and defeated Jeopardy! champions Ken Jennings and Brad Rutter. David Ferrucci was the principle investigator in charge of this massive project. Just as proof of the Poincare Conjecture took incremental and breakthrough discoveries, Ferrucci describes the design of Watson as a process that required small, grueling advances, but it also revealed many large, fascinating research problems that the research team got to chew on. The implications of the Watson technology are going to be studied for years to come. Given its impressive capabilities, expect to see these technologies used in technical support, medical IT and other applications in the future.

Topological Loops

Algorithmic Loops

These achievements have numerous commonalities. Maybe painfully, each feat took numerous researchers numerous years to complete. These teams fought through incremental discoveries – a small lemma about topological loops here, and a new algorithm for detecting puns over there – but they also uncovered new, significant research thrusts that have lead to breakthroughs in both fields. Each feat involved competition between researchers to quickly complete subproblems. Finally, probably one of the most significant commonalities is that throughout these processes, the teams were unified on a single, overarching end goal.

These observations lead me to my second proposal: the computer architecture community should unite on a process for defining more problems analogous to the Millennium Prize Problems and the Jeopardy! challenge in order to promote research directions of larger scale. I suggest that the big companies and the big purchasers identify classes of problems they are trying to solve for their consumers, and distill these problems into well-defined goals. They can even be indirectly targeted at solving consumer problems, as in the case of the Jeopardy! challenge. Further, we should build structures for organizing funding and research groups around tackling these consumer-driven research directions, much like the National Science Foundation (NSF) and the Defense Advanced Research Projects Agency (DARPA) have structures in place for funding research groups to work on future military, medical and computational problems.

The Changes and Challenges

Until the mid-1970s, governments, military and large corporations were the primary users of computing systems, and they defined the direction of computing research. With the advances in CMOS integrated circuits through the 1980s and 1990s, personal computers became popular and processor development continued to target general purpose performance. Over the last 15 years, however, the computer architecture industry has been experiencing the extreme growing pains of performance, power, size and parallelism, and now, more than any time in it’s history, the growing majority of usage is among a large, diverse body of consumers.

By knowing who owns what type of processors, understanding how they use them, and predicting what these consumers will (want to) do with their systems in the future, the computer architecture research community will be better equipped to define relevant and significant research directions and to make substantial strides. If we knew the relative importance of performance, power and size for multiple markets, the job of the researcher could be simplified by, at first, ignoring the less significant constraints. The challenge here is to gain a better understanding of the consumer’s demands.

It used to be the case that “good” computer architecture research would work in one market, while “great” research worked for general purpose processors, across multiple markets. It is becoming appreciably harder and more work to make these great research strides, because there are more consumers, diversifying demands and more complex systems. While there is still room for traditional, “great” research, we, as a research community, should be focusing around specific consumer-driven research thrusts – the next “great” problems in our field. Defining, organizing around and tackling these problems is the another challenge we face as a community.

— typed on my HP Pavilion laptop at a coffee shop

Computing Researchers, Who are Your Consumers? (Part 1)

Last month, I presented as part of a tutorial session at and had a paper accepted into the 38th International Symposium on Computer Architecture (ISCA) in San Jose, CA. This was my sixth conference in computer architecture, and I have been observing a consistent problem through the academic research community: lack of market research. In this post, I describe aspects of the current state of market research within the academic computer architecture community, and in a follow-on post, I will suggest ways that we can focus the community to identify and tackle some of the biggest customer demands of next-next generation computing systems.

Processors are, by far, the most complex devices manufactured by humans. As a PhD student studying computer architecture, I’ve sifted through mountains of research papers, understanding the opportunities and challenges of mapping computation onto these massive sets of transistors. Optimizing and advancing computing technology is hard. Period. However, identifying and targeting consumers of future computing systems is just as hard… and just as important.

So what challenges is the computer architecture community facing? Right now, the “big companies” (in no particular order: Intel, AMD, IBM, ARM and NVidia) are struggling to overcome a few hard limitations to scaling system performance:

  • It’s hard to increase the frequency and performance of current processors without consuming too much power or generating too much heat
  • It’s hard to write high-performance code for large multicore processors
  • It’s hard to communicate data at a high enough rate to meet real-time constraints, such as processing graphics for your streaming video
  • Finally, it’s going to be hard to scale transistors much beyond their already tiny sizes.

All of the big companies face all of these scaling difficulties, which conspire together to slow the progress of computing.

Exceptions to Scaling Difficulties?:

Despite the presence of scaling difficulties, numerous companies are building phenomenal products and services that leverage current systems. As an example, consider Watson, a supercomputer designed by IBM and a team of academics. Watson competed against and defeated Jeopardy! champions Ken Jennings and Brad Rutter. The technologies required for this feat promise to provide revolutionary solutions for future call centers/technical support and medical IT, exciting steps in automation. Google too has been pushing the envelope, designing datacenters that are capable of returning near-real-time query results as you type your search, while at the same time servicing tens or hundreds of thousands of other searches.

The New Jeopardy Champion

The New and Final Jeopardy! Champion?

So what is it that makes IBM’s Watson supercomputer and Google’s datacenters so compelling? Simply put, these products are targeted at solving advanced and complex consumer needs. The designers of these systems were unified on the end goal of improving the life of each and every consumer. For IBM’s Watson, the potential set of applications and consumers is broad, diverse and numerous. For Google’s datacenters, 100s of millions of searches are executed by consumers every day.

My startup sense is tingling… I’ve seen this in the entrepreneurship world: Established companies must maintain a fierce focus on their consumer’s future needs so that new, disruptive technologies and startups don’t eat their lunches (a great reference for this is The Innovator’s Dilemma). Conversely, in order for a startup (or even small companies) to eat their competitor’s lunches, they need to have keen insight about their consumer’s demands.

Given a fierce consumer focus, product designers can sidestep and delay addressing tough design constraints as long as they know they’re not vitally important to the consumer.  For example, Google knows that their consumers are just as happy if their search rankings aren’t always ordered exactly the same way. In the design of their datacenters, this means that Google can start returning query responses to your browser as soon as they start generating them. This is how we have real-time, as-you-type search results. Good stuff!

The PhD Student:

Now, let’s circle back to the core academic researcher: the PhD student. Unfortunately for this young researcher, it’s nearly impossible to know the exact intended users of their research. The big companies know their consumers, but this competitive knowledge seems to be prized more than all the engineers that work in the industry. While these companies coordinate with academic research groups through faculty members at top-flight research institutions, the PhD student hears little more than the broad strokes about future consumer needs. Amplifying this problem is the fact that PhD students are aiming to identify and tackle technical challenges that are more than 2 processor generations into the future. What does a consumer want from their devices 8 years from now? Without talking to consumers, how can a PhD student know? This problem is all too similar to the challenge faced by big companies and startups alike: We need to predict the future needs of our consumers.

What’s the effect of this slim knowledge propagation to academic researchers? When research is not properly motivated by consumer needs, the community experiences slow progress: PhD students rarely know the market demands that they are working to meet, so their research tries to project forward from existing research solutions. This often results in their research being reviewed as “incremental” or “overly complex” – sadly, a couple of the most common adjectives in research paper reviews. Instead, researchers should always be aiming for or supporting “compelling” progress.

Even when PhD students do have some depth of market understanding, it’s extremely difficult to know the relative importance of market constraints. Take, for example, my academic colleague, Marc de Kruijf.  Marc submitted a research paper about making a simplification to a processor core to save on power consumption. On first submission, the technique was applied to a high performance processor core. The reviews came back warm, but not excited enough to accept the paper. Marc has pivoted the research, applying his technique to low-power mobile cores, where the savings are greater relative to the overall complexity/power cost of the processor. With the current excitement surrounding mobile devices, he hopes that reviewers will be more keen on the technique.

All of this evidence suggests that the computer architecture community needs to take a more unified approach to understanding and targeting the end consumer needs of future computing systems. I see a few potential solutions to these problems in the academic computer architecture community. Tune in next week for my next post, in which I suggest ways that we, as a research community, can move toward more consumer-centric research thrusts.

* Special thanks to Marc de Kruijf for his unique perspective on this topic.

— typed on my iPhone 4 at SFO airport

Introducing the Future Rock Stars of Engineering to Market Opportunity (part two)

This is the second post on our reflections from a Sunday afternoon spent working with engineering honors students at the University of Texas at Austin. 

It is amazing to see what happens when you tell an engineering student to focus on markets as part of their design process.  While we’ve said this many times to entrepreneurially minded engineering students at 3 Day Startup, I expected the result to be different saying this to a group of fifty future engineers, most of whom who hadn’t really considered starting a company.

But it wasn’t.  Regardless of entrepreneurial interest, engineering students tend to base their analysis of potential markets on those that have the least competition.  In the case of the student who had autonomous vehicle/robot technology, he started with futuristic applications.  His first inclination was to use his solution to essentially eliminate stop lights–autonomous robots/vehicles with sensors at every street corner would eliminate the need for cars to ever stop, they could just speed up and slow down to avoid hitting each other.

That he had devised robot technology that could actually do this was impressive, but the commercial application was potentially very far into the future.  I asked “well, how could we use this technology today?  How about factories or hospitals?”  His response was familiar:  “we could do that, but there’s lots of competition in those areas and the applications I suggested has doesn’t have that kind of competition…mine would probably be the first.”

The Competition Conundrum

Everyone wants to be first.  Who wants to be the fifth anything?  First is intuitive to the American psyche and the concept can be destructive–at least for those of who us want more entrepreneurial activity.  I have spoken with dozens of students who decide not to test out the entrepreneurial path because they feel that their ideas exist in spaces where there is lots of competition.   It is not that they are afraid of competition but rather they don’t know what they could contribute.

The competition conundrum seems to kick in before a true opportunity analysis even occurs.  This is a critical moment for most would-be entrepreneurs and for those of us who work with them.  We have to demonstrate that not only is competition good but that the mere presence of competition is an excellent barometer for an interesting business proposition.

Solving the Equation

“Ok, so maybe it is a competitive space.  But how much do you know understand about the technology versus how much do you understand about the market, ” I asked.  The student took a step back and said, “well, I know my competitor’s technology inside out…it is really good, but I don’t know much about the market.”  At this point, one of the other mentors walked over and suggested that the student analyze whether the ‘really good’ technology was actually solving the needs of the customers.  The student got a big grin on his face and said, “OK, this is good, this is another set of questions I have to ask my prospective customers.”

And off he went.

Introducing the Future Rock Stars of Engineering to Market Opportunity (part one)

A few weeks ago, Professor Sriram Vishwanath asked Cam Houser, Professor Bob Metcalfe, Isaac Barchas from ATI, and me to mentor fifty honors students in disciplines ranging from electrical engineering to computer science to electrical and computer engineering.  Ok, so he basically asked us to spend 3 hours working with some of the sharpest engineering undergraduates at the University of Texas at Austin.   What followed was an engaging and exciting exercise in exposing technically brilliant students to entrepreneurial opportunity.

The Huddle

As the students munched on Pizza Patron, we, the mentors,  had a quick huddle. Professor Sriram told us that this event was an experiment designed to help these future engineers make progress on ideas for their senior honors projects while also giving them some exposure to the world of entrepreneurship.

As Professor Sriram told us, “the focus is really on helping them come up with a technically challenging program that they can solve.”  “What about commercial viability?” I asked.  “After all, if the session is about giving them a short exposure to entrepreneurship, shouldn’t we have them focus on commercial viability?”  Professor Sriram’s eyes lit up and he said “yes, senior design is about creating novel technical solutions but I agree, commercial viability is part of the solution.”

Flashbacks to the Westin San Antonio

In slow motion, Professor Sriram’s acknowledgement of the “technical novelty vs. commercial viability” thought process gave me flashbacks to the Westin San Antonio. Specifically, it made me feel like I was running on the treadmill at the Westin San Antonio and listening to Reid Hoffman’s fantastic podcast on “choosing the entrepreneurial path.”   (Anybody else like to run and listen to entrepreneurship podcasts?)

As I stood there, I remembered Reid Hoffman’s admonition about the differences between academia and the business world.  As we all know, academia rewards those who tackle the toughest problems.  The praise and the publishing credentials go to those who spend entire careers tackling the one unsolvable equation or resolving the one scientific contradiction.  Marginal improvement is not what great academic careers are made of.

But the business world can be different.  In the business world, you can and are rewarded for creating a better solution for a problem that has in theory already been solved.  We constantly reward entrepreneurs that create better user experiences or that make marginal improvements.  We do so because a 10% improvement in the business world can be worth billions of dollars.  A lot of times these 10% improvements are massive technical challenges, like the Netflix prize, but many times they are a business process improvements whose underlying technology is easily replicable.

Great Engineers and Great Ideas

As soon as Professor Sriram told the group of fifty that the purpose of a senior design project is “technical novelty,” but can also be “commercial viability,” the emphasis in the room turned.  These great engineers with their great ideas began to immediately think about the potential market needs and applications of their technology.

The shift in mindset was as impressive as it was swift.  One student with a software solution for autonomous vehicles immediately asked me, “so what you’re telling me is that I go to potential customers, ask them what they want, and then I build prototypes based on what the customers say they will use my technology to accomplish?”  Exactly.

If you attend or teach at a school outside of Silicon Valley, you know that even your most brilliant engineering students don’t come to class muttering about “market validation,” or strategizing about “minimum viable products.”  But if you introduce them to a different analytical framework, you will notice that these words and ideas infect the design process.

To be continued in Part Two…