Parallel Processing of Proxylets - Possibilities
Jon Crowcroft
Jon@cs.ucl.ac.uk
inc

Alpine Goals
Application Level Programmable InterNetwork Environment
BT funded work at IC, UCL, UTS, Lancaster and Sussex
Collaborate with EU Android Project, and DARPA Radioactive Project.

Description
Platform called funnelWeb includes
Execution Environment for Proxylets
Toolbox of Proxylets
Infrastructure access – e.g. directory for proximity, neighbour discovery, policy and metrics
JVM=Sandbox;EEP=Node;Plet=program

Not Programmable h/w or Packet
We’re not doing programmable packets
We’re not looking at IEEE Programmable Hardware
Although can interface to both:
 Both x-bone ISI work, and Lanode, Lancaster work have both been tried.

Technology
JVM is somewhat heavyweight awy of doing sandbox – Sussex Safetynet work will sidestep this
Meanwhile, to trial things, want faster platform
Java threads and Multiple JVMs can exploit parallelism – how best?

Possibilities
Services are built from multiple proxylets (routelet, transcoder, encrypter, multicaster, pgm/rlc, ntp, etc etc).
Coarse grain CPU and resource management can trade off load
Could look at “micro-proxylets” and threads
Prior work in HIPPARCH eval benefits and pitfalls of micro and macro and intra and inter-protocol module parallelism

Procedures
Need to look at classic tradeoffs:
Memory hierarchies in cluster computers – locality and communications costs
Bus/Backplane overhead
Scheduler Costs (context switch etc)

Schedule
Have cluster at UCL; one at DARPA (beowolf style – I.e. linux/pc + Gbps)

Current Status
Have idea and code
Have cluster in rack
Await new staff!
Need IPv6 capable JVM
Its research…

What is it all for?
More flexible service deployment
Data plane processing for heterogeneous networks
Control Plane customisation (Virtual Networks)
Let researchers get back into the game…