—The emergence of multi-processor, multi-threaded architectures (referred to as multi- architectures) facilitates the design of high-throughput request processing systems (e.g., multiservice routers for GENI [22], intrusion detection systems [25], graphics and gaming systems [1], [12], [19], as well as highthroughput web servers and transaction processing systems [3], [4], [18], [24]). Because of the challenges in programming such architectures realizing this promise has proved to be difficult. In this paper, we describe the design of Lagniappe, a programming environment that simplifies the design of portable, highthroughput applications on multi- architectures. Lagniappe uses a hybrid programming model: it combines a procedural specification (e.g., in C++) of the basic operators for processing requests with a declarative specification—expressed using a model-driven development framework—of the various features of the operators and the target hardware platform. Using the decl...
Taylor L. Riché, R. Greg Lavender, Harrick