Overview
The LLNL visualization team has started a new project named Merlot to investigate the use of fully digital infrastructures for the delivery of dynamic imagery. The goal of the Merlot project is to develop a working infrastructure within which research into various compression and progressive techniques can be analyzed. The results of this analysis will be used to help characterize future lab-wide infrastructure requirements for the support of multiple, digital, remote users.
Motivation
LLNL is currently in the planning stages of ASCI Purple deployment. We want to deliver imagery at high speeds from Purple and its accompanying machine to users' offices. Because of the limitations of existing systems, we need to find an image delivery system that can meet our demands.
We have investigated a system for redirected OpenGL delivery for use in predicting the network requirements for future deployments. In the process of that analysis, it became apparent that abstracting image compression and network transport would be very valuable.
Several related projects exist:
Each of these projects has important contributions to make to the general problem of networked image delivery. However, there is a lot of duplication of effort. No single framework exists to allow researchers to collaborate and share their work. Merlot is intended to address that need. MIDAS is intended to be used in any application that needs to deliver images from one machine to another across a network. It is a delivery vehicle for image encoding research.
Our application for OpenGL redirection is called MIDAS (Merlot Image Delivery Application Server). More information on MIDAS, including a download link, can be found on our MIDAS page.
Architecture
To provide the most flexibility, Merlot's archtecture separates network delivery from image encoding/decoding. And it separates both from the framework as a whole by delivering their functionality as plugins.
Merlot's archtecture
Merlot's functionality is delivered to an application through an API. This API allows for the loading of various image and network plugins, which communicate through a plugin manager. Image frames are delivered to the frame manager, where they be accessed by the image codec. The image codec delivers encoded frames to the network codec, where they are delivered across the network to a receiver. And finally, the session manager allows for Quality of Service (QoS) data to be communicated from the receiver to the sender so that the performace may be tuned to the particulars of the network.
Merlot has a taxonomy of image codecs, each of which make different demands on the framework. Currently, that taxonomy includes: progressive, lossy, frame-dropping, and QoS-aware.
Current Status
Merlot is in initial implementation stages. While code exists, it is not yet mature enough to release. This page will be updated when code is made available.
More Information This Web page is only meant to be a brief overview of how Merlot is intended to operate. You can find a more detailed description in our Merlot Design document. Contact
For more information about Merlot, contact Sean Ahern.
For more information about the ASC visualization, contact Rebecca Springmeyer