Goals:
-
testing of ideas suggested in HTTP-NG
-
proof of concept needed for the June report
-
benchmarks
-
experiments with APIs
General status
-
ILU is selected as the protocol framework
-
A lot of code efforts have been done to integrate ILU with existing pieces of
software
-
Xerox people are still coding on the HTTP-NG implementation
-
Some benchmarks have been done, but mostly with existing HTTP code in ILU
Existing pieces of software:
-
ILU implementation
-
Apache 1.2.4 modified to serve using ILU stack(s)
-
fetcher: a robot using ILU stack(s)
-
SURGE, simulate a realistic load on servers
-
a version of Jigsaw using the ILU stack for serving pure HTTP requests
-
a version of Amaya embedding ILU exporting interfaces similar to DOM
ILU implementation
Provided by Xerox, generic SW component glue with remote access supporting a
large number of languages and modular protocols stacks build with generic
pieces:
-
HTTP/1.x implementation (beta)
-
MUX implementation (alpha)
-
Wire encoding protocol (alpha)
-
robot
-
server
Lacks PUT, otherwise a solid fundation to build the low level part of the
testbed.
Apache 1.2.4 + ILU
Modified version of Apache-1.2.4 to embed the ILU libraries and serve the same
set of documents
-
same binary serves both with the standard apache stack and the ILU one
-
the execution model (master and sub processes) of apache is preserved
-
most of the functionnalities are preserved
Fetcher
Yet Anover Http Robot ...
-
Fast, multithreaded when available
-
Does HTML parsing
-
uses ILU implementation of HTTP for GETs (1.0 and 1.1)
SURGE
Code released by Paul Barford from the WCG. This pertain to Boston University
and we are asked not to release it outside yet.
-
WWW workload generator
-
Should geneate profiles following the results of the WCG
-
Part of the code is C, some is Java
This hasn't been integrated in the current Testbed yet (Xerox ?). This is
certainly in use in the WCG Testbed.
Jigsaw-ILU
Same as for Apache ILU, except that the goal is less to do benchmarking, but
rather explore the use of object oriented design on the server (collections),
which Jigsaw already porovides, and the APIs of HTTP-NG.
-
Code is sub-Alpha quality, didn't check lately
-
Next release of Jigsaw will help a lot setting up specific protocol interfaces
for classes of objects served
-
More in the long-term
Very promising, but difficult to set-up !
Amaya-ILU
Latest version of Amaya-Java includes alpha code to glue in ILU.
-
Exports the Thot API, similar to DOM
-
Allow to make experiments on client side APIs
-
More in the long-term
Not trivial to set-up, and the code need some serious revamping.
First benchmark results
A benchmark have been done for Fetcher/Apache-ILU using HTTP/1.x stacks.
-
HTTP/1.0 stack from ILU is as efficient as the native one, but eat more CPU
-
HTTP/1.1 test has been conducted but wasn't Ok (no pipelining, new connection
on each request)
New benchmarks have to be conducted, especially with the NG stacks, not the
standard one.
However this improved the confidence on the current code base!
Direction for development and testing
Short term (Jan - Feb)
-
More work on HTTP-NG ILU code
-
Switch the existing pieces of software from HTTP/1.x ILU to HTTP-NG code
-
Start serious benchmarking
Mid term (March - May)
-
Complete the low level ISL interfaces
provide the core support
-
Benchmarks (expect a loop with previous item)
Long term (May - June - ...)
-
Extend the ISL interfaces
-
Play with high level functionnalities (Jigsaw / Amaya)
-
Write a serious report on the performance