Notes from RC’05
First International Workshop on Reversible
Italy, May 4-6,
The workshop was a rousing
success, at least from my perspective, and based on the feedback I received
from many participants. I think that we achieved
what we set out to do, which was to bring together different segments of the
reversible computing community, to catch up on recent activity in each others’
areas, as well as to discuss issues of goals and strategy for the field
schedule of speakers was full; only three of the scheduled speakers had to
cancel due to scheduling or logistical difficulties (Porod, Williams, and Averin) and, although they were missed, this was not a
fatal problem, since it meant that the remaining speakers’ talks could be a bit
less compressed. The talks were of good
quality and the material seemed fresh and interesting to many
participants. There was a good level of
keynote speaker (Charles Bennett) was unable to attend in person, but he did us
the favor of pre-recording a very interesting talk
which was played back during the workshop, and he was able to speak with us
briefly over the internet before the panel session, although unfortunately the VoIP connection proved too unreliable to allow him to fully
participate and we had to fall back on occasional text messages.
am posting the slides of the talks (including Bennett’s) on the website; speakers are
requested to please email their PowerPoint and/or PDF files to email@example.com. Photographs of the meetings (or other
activities) are also requested.
points of interest were a couple of ideas that were discussed during the panel
session (and in various smaller discussions) for ways to raise the world’s
awareness of the field. The most widely
discussed ideas were:
- Start a low-power computing contest.
- Select a new and more intuitive name for the field.
As well, we discussed plans for
next year’s workshop. Some more detailed
notes are below.
Notes on Discussions
Low-Power Computing Competition
To encourage more students to learn about the low-power
computing field, and more researchers to tackle its challenges, and also to
provide better publicity for the field’s promise, attendees expressed broad
support for the idea of starting a design competition, where the contestants
would be asked to design the most energy-efficient design meeting certain
constraints. Specific elements of this
idea that were discussed included:
contest will be managed by a committee of members of the low-power
community, including members of the reversible computing community in
contest should be advertised widely among students and in industry.
contest should be structured as a low-power computing contest, not as a
reversible computing contest specifically.
That is, any manufacturable technology
may be utilized by contestants. Our
position is that reversible computing ought to eventually begin winning
the contest fairly, if sufficient effort is put into its development. The very existence of the contest should
help to provide an impetus for this development.
could raise funds for the contest from industry and from individual
donations. Possibly also with
grants from organizations such as SRC, NSF, or other national agencies.
could manage the contest fund through a non-profit organization or a
could solicit industry representatives to sit on the contest committee to
help shape contest details and judge the results.
contestants with design requirements including fixed upper-bound
constraints on design cost or complexity by some measure (e.g.,
number of devices, or estimated layout area), total available energy,
enclosure geometry, execution time, and available fabrication
to contestants the computational problem to be solved.
problem should be specified precisely, by giving an algorithm and a simple
reference implementation for the function to be computed in some
well-defined programming language or behavioral hardware-description
contestants’ task will be to build a system that produces the exact same
output for any given input as the reference implementation, while remaining
within design constraints. (Timing
of results will probably not be important as long as they are provided
within the time limit.)
are not required to use the exact same algorithm as the one provided, as long
as the I/O relation (function computed) is exactly the same.
the problem class chosen should be such that it’s unlikely that there will
be algorithms found that are dramatically (e.g., asymptotically) more
efficient than the most straightforward ones. (The contest should be about
implementation technology, not about algorithms.)
problem class should be scalable; that is, it should include problem
instances of a wide range of complexity.
will be compared based on what is the maximum size problem instance that
they can solve while remaining within the design constraints.
problem should be compute-intensive, as opposed to I/O dominated or
should be highly parallelizable.
should require tightly-coupled communication between parallel processing
specific inputs that will be used at evaluation time will not be known to
contestants in advance of design delivery, to prevent hard-coding of
will be delivered to the judges as project files for some fairly standard
and widely-available simulation tool.
and device-model libraries defining the technologies and devices that are
available to contestants will be specified.
devices can be added to the library in future iterations of the contest as
those devices become increasingly well-specified.
will be self-contained in a black box, and must include both logic devices
and power supplies
input to the system is given only (say) in the form of a DC battery with a
finite energy content.
input is provided in a ROM that can
be adiabatically queried.
will be evaluated by simulating them.
will be simulated on a variety of input sizes, while measuring design
complexity and checking for correct output.
simulation round could be just an initial qualification round; i.e., the
top n designs from this round could be allowed through to a
subsequent step of the competition.
- One or
more of the best designs as determined by simulation will be fabricated
(this can be considered part of the prize for the contest).
fabrication, designs may be empirically re-evaluated in a second round to
determine an overall winner.
outcome of the contest should be widely publicized, to gain exposure for
the winning technology.
year (or within a given year) the contest could involve a different
computational problem for variety (since different technologies may win at
combinations of design constraints may also be tested each year, since
different technologies may win under different constraints.
contest could include several categories of problems, including problems
that are more memory-intensive or I/O-intensive. Different technologies might win in
sort of additional award could be given for important new theoretical
developments or for particularly creative new ideas. These awards would be subjectively
evaluated by judges.
Consider the above description an RFC (Request for Comments)
on the contest idea to the community.
What does everyone think about these ideas? Any suggestions for ways to further improve
Renaming the Field?
One thing I have observed is that the very name “reversible
computing” hurts the field. This is
because the first thing people think when they hear this is a skeptical, “How
can going backwards possibly help you run forwards faster?” “Adiabatic” computing is little better,
because even if they know what adiabatic means, they immediately think “How can
running slowly help you run faster?”
In fact, we
in the field know that running relatively slowly, alternatingly
forwards and backwards, does help you run forwards faster, when power
dissipation is a constraint and you parallelize highly, or use devices whose
base speed is very fast. But it takes
some time to explain how this works.
People’s first impression is that the idea makes no sense, and often
they don’t stick around long enough to learn more about it.
first impressions matter, the suggestion was raised that the field needs a new
name. Suggestions that were heard at the
meeting included items on the following list.
Beside each one, I have listed at least one possible problem with each
name. Other suggestions are invited.
computing (not obvious to people
why it’s a good thing)
laypeople, sounds slow to experts)
computing (exaggerated, a
computing (energy conservation is
a law of physics)
… computing (big
words, a mouthful)
bit obscure, evokes ICBMs)
massive and slow)
coasting (a bit awkward)
computing (still somewhat
a bit immodest)
- Cool(er) computing (informal
sounding, somewhat inaccurate)
computing (sounds like a
Please email your votes for your favorites, or additional
suggestions to firstname.lastname@example.org. I will update this list as I receive your
Plans for Next Year’s Workshop
We were invited by the Computing Frontiers organizers to
return to their conference next year, and/or the year after. However, we did not yet firmly commit to do
so. There are several reasons why we
might not want to hold the workshop under CF every year:
need to reach out to other communities besides just the CS-type people at
Computing Frontiers (e.g., electrical engineers, device physicists)
cost of ACM sponsorship and conference venue (high registration fees)
support for invited speakers (so far, SIGMicro
only agreed to waive fees for the organizer and keynote speaker next year
if participation is above 6-8 people)
expensive travel for US
participants (hold meeting in US on alternate years?)
for us to choose the date of the workshop
of ACM publication schedules (early due date on final papers)
of printed proceedings
vehicle for turning conference publications into journal articles
However, running the conference
under CF also had certain advantages:
- Logistical details taken care of by CF organizers
- CF program committee contributed to paper reviewing
- Little financial risk for workshop organizers (except
- Nice venue (Continental Terme
& amenities (banquet, etc.)
My tentative suggestion would be
that we should try to hold the next workshop in the US, and run it under the umbrella
of some IEEE conference, so as to better reach out to the electrical
engineering community next time. Then,
we could potentially return to CF and/or Europe
during a subsequent year, if we wished.
Perhaps we could cycle between two or more venues.
There is also
the question of whether we should hold the workshop every year at all, or
instead only every two years or so, so as to give the participants more time to
come up with interesting new results.
I would be happy
to hear any suggestions or feedback on these issues from the community.