Algorithm engineering
Encyclopedia
Algorithm engineering is a combination of theoretical algorithm design
with real-world data. By taking an algorithm
and combining it with a hardware
device connected to the real world, you are able to more accurately verify and validate the algorithm results and behavior. The real-world device may be a simple data acquisition or stimulus device or you may take the algorithm and implement it on some embedded platform such as an FPGA or microprocessor
that may be similar to the final system design.
The term "algorithm engineering" was first used with specificity in 1997, with the organization of the first Workshop on Algorithm Engineering (WAE97) .
It has recently been used to help describe the steps in graphical system design
: "a modern approach to designing, prototyping, and deploying embedded systems that combines open graphical programming with COTS
hardware to dramatically simplify development, resulting in higher-quality designs with a migration to custom design".
An article from Embedded.com that discusses algorithm engineering with respect to ESL
.
The 1997 Workshop on Algorithm Engineering (WAE'97) was held in Venice (Italy) on September 11–13, 1997. The Third International Workshop on Algorithm Engineering (WAE'99) was held in London, UK in July 1999.
The first Workshop on Algorithm Engineering and Experimentation (ALENEX99) was held in Baltimore, Maryland on January 15–16, 1999. It was sponsored by DIMACS
, the Center for Discrete Mathematics and Theoretical Computer Science (at Rutgers University
), with additional support from SIGACT, the ACM Special Interest Group on Algorithms and Computation Theory, and SIAM, the Society for Industrial and Applied Mathematics
.
Algorithm design
Algorithm design is a specific method to create a mathematical process in solving problems. Applied algorithm design is algorithm engineering....
with real-world data. By taking an algorithm
Algorithm
In mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...
and combining it with a hardware
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....
device connected to the real world, you are able to more accurately verify and validate the algorithm results and behavior. The real-world device may be a simple data acquisition or stimulus device or you may take the algorithm and implement it on some embedded platform such as an FPGA or microprocessor
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...
that may be similar to the final system design.
The term "algorithm engineering" was first used with specificity in 1997, with the organization of the first Workshop on Algorithm Engineering (WAE97) .
It has recently been used to help describe the steps in graphical system design
Graphical system design
Graphical system design is a modern approach to designing measurement and control systems that integrates system design software with COTS hardware to dramatically simplify development. This approach combines user interfaces, models of computation, math and analysis, Input/output signals,...
: "a modern approach to designing, prototyping, and deploying embedded systems that combines open graphical programming with COTS
Commercial off-the-shelf
In the United States, Commercially available Off-The-Shelf is a Federal Acquisition Regulation term defining a nondevelopmental item of supply that is both commercial and sold in substantial quantities in the commercial marketplace, and that can be procured or utilized under government contract...
hardware to dramatically simplify development, resulting in higher-quality designs with a migration to custom design".
An article from Embedded.com that discusses algorithm engineering with respect to ESL
Electronic system level
Electronic system level design and verification is an emerging electronic design methodology that focuses on the higher abstraction level concerns first and foremost. The term Electronic System Level or ESL Design was first defined by Gartner Dataquest, a EDA-industry-analysis firm, on February...
.
Algorithm engineering refers to the process required to transform a pencil-and-paper algorithm into a robust, efficient, well tested, and easily usable implementation. Thus it encompasses a number of topics, from modeling cache behavior to the principles of good software engineering; its main focus, however, is experimentation. (Algorithm Engineering for Parallel
Computation; David A. BaderDavid A. BaderDavid A. Bader is a Professor and Executive Director of High-Performance Computing in the Georgia Tech College of Computing. In addition, Bader was selected as the director of the first Sony Toshiba IBM Center of Competence for the Cell Processor at the Georgia Institute of Technology...
, Bernard M. E. Moret, and Peter Sanders)
Conferences
Some annual conferences have been held for algorithm engineering:- Workshop on Algorithm Engineering (WAE), since 1997.
- Workshop on Algorithm Engineering and Experimentation (ALENEX), since 1999.
The 1997 Workshop on Algorithm Engineering (WAE'97) was held in Venice (Italy) on September 11–13, 1997. The Third International Workshop on Algorithm Engineering (WAE'99) was held in London, UK in July 1999.
The first Workshop on Algorithm Engineering and Experimentation (ALENEX99) was held in Baltimore, Maryland on January 15–16, 1999. It was sponsored by DIMACS
DIMACS
The Center for Discrete Mathematics and Theoretical Computer Science is a collaboration between Rutgers University, Princeton University, and the research firms AT&T, Bell Labs, Telcordia, and NEC. It was founded in 1989 with money from the National Science Foundation...
, the Center for Discrete Mathematics and Theoretical Computer Science (at Rutgers University
Rutgers University
Rutgers, The State University of New Jersey , is the largest institution for higher education in New Jersey, United States. It was originally chartered as Queen's College in 1766. It is the eighth-oldest college in the United States and one of the nine Colonial colleges founded before the American...
), with additional support from SIGACT, the ACM Special Interest Group on Algorithms and Computation Theory, and SIAM, the Society for Industrial and Applied Mathematics
Society for Industrial and Applied Mathematics
The Society for Industrial and Applied Mathematics was founded by a small group of mathematicians from academia and industry who met in Philadelphia in 1951 to start an organization whose members would meet periodically to exchange ideas about the uses of mathematics in industry. This meeting led...
.