05-10-2012, 03:02 PM
Optical computing
optical computing.pdf (Size: 266.55 KB / Downloads: 47)
Abstract
We consider optical computers that encode data using images and compute by transforming such
images. We give an overview of a number of such optical computing architectures, including
descriptions of the type of hardware commonly used in optical computing, as well as some
of the computational efficiencies of optical devices. We go on to discuss optical computing
from the point of view of computational complexity theory, with the aim of putting some old,
and some very recent, results in context. Finally, we focus on a particular optical model of
computation called the continuous space machine. We describe some results for this model
including characterisations in terms of well-known complexity classes.
Introduction
In this survey we consider optical computers that encode data using images and com-
pute by transforming such images. We try to bring together, and thus give context to, a
large range of architectures and algorithms that come under the term optical computing. In Section 2 we begin by stating what we mean by the term optical computing, and we
discuss some common optical computing architectures. Unlike a number of other areas of
nature inspired computing, optical computers have existed (mostly in laboratories) for
many years, and so in Section 3 we describe hardware components that are found in many
optical computing systems. In Section 4 we describe some of the physical principles that
underlie the parallel abilities and efficiencies found in optical computing. These include
high fan-in, high interconnection densities, and low energy consumption.
Brief overview of optical computing architectures
Traditionally, in optical information processing a distinction was made between sig-
nal/image processing through optics and numerical processing through optics, with only
the latter (and often only the digital version of the latter) being called optical comput-
ing [57,48,29,101]. However, it was always difficult to clearly delineate between the two,
since it was largely a question of the interpretation the programmer attached to the
output optical signals. The most important argument for referring to the latter only as
optical computing had to do with the fact that the perceived limits (or at least, ambi-
tions) of the former was simply for special-purpose signal/image processing devices while
the ambitions for the latter was general-purpose computation. Given recent results on
the computational power of optical image processing architectures [63,98,93], it is not
the case that such architectures are limited to special-purpose tasks.
Analog optical numerical computation
An important strand of image-based optical computation involved numerical calcula-
tions: analog computation as well as multi-level discrete computation. Matrix-vector and
matrix-matrixmultiplication systems were proposed and demonstrated [42,57,90,48,4,29,51].
The capability to expand a beam of light and to focus many beams of light to a common
point directly corresponded to high fan-out and fan-in capabilities, respectively. The limi-
tations of encoding a number simply as an intensity value (finite dynamic range and finite
intensity resolution in the modulators and detectors) could be overcome by representing
the numbers in some base. Significant effort went into dealing with carry operations so
that in additions, subtractions, and multiplications each digit could be processed in par-
allel. Algorithms based on convolution to multiply numbers in this representation were
demonstrated [48], with a single post-processing step to combine the sub-calculations
and deal with the carry operations.
Detectors and Nature’s square law
Optical signals can be regarded as having both an amplitude and phase. However,
detectors will measure only the square of the amplitude of the signal (referred to as its
intensity). This phenomenon is known as Nature’s detector square law and applies to
detectors from photographic film to digital cameras to the human eye. Detectors that
obey this law are referred to as square-law detectors. This law is evident in many physical
theories of light. In quantum theory, the measurement of a complex probability function
is formalised as a projection onto the set of real numbers through a squaring operation.
Square-law detectors need to be augmented with a interferometric or holographic ar-
rangement to measure both amplitude and phase rather than intensity [13], or need to
be used for multiple captures in different domains to heuristically infer the phase.
Efficiencies in optical computing
Optical computing is an inherently multidisciplinary subject whose study routinely
involves a spectrum of expertise that threads optical physics, materials science, optical
engineering, electrical engineering, computer architecture, computer programming, and
computer theory. Applying ideas from theoretical computer science, such as analysis of
algorithms and computational complexity, enables us to place optical computing in a
framework where we can try to answer a number of important questions. For example,
which problems are optical computers suitable for solving? Also, how does the resource
usage on optical computers compare with more standard (e.g. digital electronic) architec-
tures? The physical principles behind some efficiencies in optical computing are outlined
here.
optical computing.pdf (Size: 266.55 KB / Downloads: 47)
Abstract
We consider optical computers that encode data using images and compute by transforming such
images. We give an overview of a number of such optical computing architectures, including
descriptions of the type of hardware commonly used in optical computing, as well as some
of the computational efficiencies of optical devices. We go on to discuss optical computing
from the point of view of computational complexity theory, with the aim of putting some old,
and some very recent, results in context. Finally, we focus on a particular optical model of
computation called the continuous space machine. We describe some results for this model
including characterisations in terms of well-known complexity classes.
Introduction
In this survey we consider optical computers that encode data using images and com-
pute by transforming such images. We try to bring together, and thus give context to, a
large range of architectures and algorithms that come under the term optical computing. In Section 2 we begin by stating what we mean by the term optical computing, and we
discuss some common optical computing architectures. Unlike a number of other areas of
nature inspired computing, optical computers have existed (mostly in laboratories) for
many years, and so in Section 3 we describe hardware components that are found in many
optical computing systems. In Section 4 we describe some of the physical principles that
underlie the parallel abilities and efficiencies found in optical computing. These include
high fan-in, high interconnection densities, and low energy consumption.
Brief overview of optical computing architectures
Traditionally, in optical information processing a distinction was made between sig-
nal/image processing through optics and numerical processing through optics, with only
the latter (and often only the digital version of the latter) being called optical comput-
ing [57,48,29,101]. However, it was always difficult to clearly delineate between the two,
since it was largely a question of the interpretation the programmer attached to the
output optical signals. The most important argument for referring to the latter only as
optical computing had to do with the fact that the perceived limits (or at least, ambi-
tions) of the former was simply for special-purpose signal/image processing devices while
the ambitions for the latter was general-purpose computation. Given recent results on
the computational power of optical image processing architectures [63,98,93], it is not
the case that such architectures are limited to special-purpose tasks.
Analog optical numerical computation
An important strand of image-based optical computation involved numerical calcula-
tions: analog computation as well as multi-level discrete computation. Matrix-vector and
matrix-matrixmultiplication systems were proposed and demonstrated [42,57,90,48,4,29,51].
The capability to expand a beam of light and to focus many beams of light to a common
point directly corresponded to high fan-out and fan-in capabilities, respectively. The limi-
tations of encoding a number simply as an intensity value (finite dynamic range and finite
intensity resolution in the modulators and detectors) could be overcome by representing
the numbers in some base. Significant effort went into dealing with carry operations so
that in additions, subtractions, and multiplications each digit could be processed in par-
allel. Algorithms based on convolution to multiply numbers in this representation were
demonstrated [48], with a single post-processing step to combine the sub-calculations
and deal with the carry operations.
Detectors and Nature’s square law
Optical signals can be regarded as having both an amplitude and phase. However,
detectors will measure only the square of the amplitude of the signal (referred to as its
intensity). This phenomenon is known as Nature’s detector square law and applies to
detectors from photographic film to digital cameras to the human eye. Detectors that
obey this law are referred to as square-law detectors. This law is evident in many physical
theories of light. In quantum theory, the measurement of a complex probability function
is formalised as a projection onto the set of real numbers through a squaring operation.
Square-law detectors need to be augmented with a interferometric or holographic ar-
rangement to measure both amplitude and phase rather than intensity [13], or need to
be used for multiple captures in different domains to heuristically infer the phase.
Efficiencies in optical computing
Optical computing is an inherently multidisciplinary subject whose study routinely
involves a spectrum of expertise that threads optical physics, materials science, optical
engineering, electrical engineering, computer architecture, computer programming, and
computer theory. Applying ideas from theoretical computer science, such as analysis of
algorithms and computational complexity, enables us to place optical computing in a
framework where we can try to answer a number of important questions. For example,
which problems are optical computers suitable for solving? Also, how does the resource
usage on optical computers compare with more standard (e.g. digital electronic) architec-
tures? The physical principles behind some efficiencies in optical computing are outlined
here.