Lagniappe: Multi- Programming Made Simple

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, intrusion detection systems, graphics and gaming systems, as well as high-throughput web s...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Riche, T.L., Lavender, G., Vin, H.M.
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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, intrusion detection systems, graphics and gaming systems, as well as high-throughput web servers and transaction processing systems). 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, high-throughput 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 declarative specification, the Lagniappe programming environment automates the mapping of applications onto the multi-* platform, performs dynamic allocation of resources to operators, and ensures efficient and coherent accesses to persistent, shared state.
ISSN:1095-2055
2637-9430
DOI:10.1109/ICCCN.2007.4317815