Introduction

The emergence of multi-processor, multi-threaded architectures (referred to as multi-⋆ architectures) facilitate the design of high-throughput request processing systems (e.g., programmable multi-service 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, however, realizing this promise has proved to be difficult.

Lagniappe 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.

Lagniappe System Architectre

Project News XML Feed

Tuesday, June 24, 2008

Moving forward

I have my two initial benchmark applications coded up. They still need some testing, and I still need to finalize the workload generation, but having the apps down on the machine is nice.

I haven't touched the multi-machine code in a week. It just got to me after a while. The serialization aspect was killing me. I've decided to use the boost serialization library. At first I didn't think there was that much that I needed serialization for, but I eventually figured out that was not definitely not the case. Using the boost library will allow me to keep drastic changes between the trunk development of Lagniappe and the multi-machine branch, which will hopefully mean that the multi-machine support will be easier to merge back in when it's all said and done.

Labels: ,

Wednesday, June 11, 2008

The work continues...

While the OSDI deadline has come and gone, I am now making the final push towards defending and turning in my dissertation by the middle of August. Needless to say, this is the most important deadline I've ever run up against and it's not okay to pull the paper for this one.

I am working on two major tasks regarding the main system. The first is making Lagniappe function on multiple machines at the same time. If Lagniappe runs on multiple machines, the true heterogeneity of multi-* becomes an issue (as now we have a drastically different communication channel in the mix). The second task is combining operators based on their state preferences. I feel that we can truly answer the pipelined vs. parallel question based on the state access semantics of the operators in an application.

The third major issue is creating a suite of benchmark applications. The benchmarks has been a thorn in my side for a while, but I am confident we can make it all come together.

Labels: , ,

Tuesday, April 29, 2008

Busy, busy for OSDI

Post OSDI I'll update the site on all of the new stuff that has been built into Lagniappe in the last month. It's really coming together, but there is still so much to do before the deadline.

Labels:

Wednesday, April 09, 2008

Big changes

So I've checked in code (in both the library and compiler) that automatically generates adaptation triggers based on the specifics of the application and system. I did a quick test and it does, in fact, generate different triggers for different hardware platforms, so that was a nice sanity check.

I've also now officially put all of the code under the GPL.

I'm going to spend the next few days on getting some of the paper up-to-date, and then I will start to tackle the smart mapping issue. With those two features on the books, the system will be pretty powerful. We will automatically generate policies to efficiently adapt resources to handle changes in workload based on your specific application and hardware platform. I think that is pretty powerful, but yes, I'm biased.

Labels: , , ,

Tuesday, March 11, 2008

Update

Things are starting to gel in my head and I'm starting a long section of implementation. Many features to get up and running and tested. Testing is something that I'm actually going to have to put some thought in. It is easy to test particular features in isolation, but the real trick in this work is watching the system deal with large-scale changes in incoming traffic. Generating the traffic that will properly trigger this activity and model real-life traces will be challenging.

The machines are here and installed in the machine room. They should be completely functional soon.

I will try to discuss the implementation as I go along.

Labels: , ,

Project Information

The Lagniappe project is currently hosted by Google Code. The project is in the early stages of development. File releases, project news, and information can all be found at the project page.

Implementation Details

There are two major components of the Lagniappe Programming Environment. The first, the Lagniappe Language Translator is written using Antlr and Java. The second component, the Lagniappe Execution Environment, is written in C++.

Credits and Web Details

The Lagniappe project is brought to you by Taylor L. Riché under the watchful eyes of professors Harrick M. Vin and Greg Lavender from within the Laboratory for Advanced Systems Research in the Department of Computer Sciences at the University of Texas at Austin.

Project Funding

We would like to thank the NSF, the Texas ARP/ATP, and Intel Corporation for their funding of this work.

Project hosting

Project hosting provided by Google Code.

Weblogging framework provided by Blogger.

Page validation

We support web standards. This page is written in XHTML 1.1 using CSS. The following validate the page using the w3's validation services.

Valid XHTML 1.1! Valid CSS!