Keywords
concurrency, networks, parallelism, architecture, protocol,
python
|
Abstract
Kamaelia is a project aimed at building large scale online
media delivery systems for the long term. Large scale media
systems are naturally concurrent systems since they assume
large numbers of people watching programmes simultaneously.
In the long term the systems people will be using to access
and serve BBC services online will be also be naturally concurrent.
A key aim of Kamaelia is to enable even novice programmers
to create scalable and safe concurrent systems, quickly and
easily.
Kamaelia provides a tool set for dealing with large
scale concurrency in a manner very similar to Unix pipelines,
and is based on taking a hardware approach to software
construction. This leads naturally to ease of system
composition. The tool set includes a wide variety of
pre-built components for creating network servers and
clients along with components for handling media, interactive
systems and text processing.
Kamaelia's architecture operates efficiently on existing
single CPU architectures. It also encourages the construction
of components that will also take advantage of the naturally
parallel mainstream systems being developed by all major
hardware vendors.
Kamaelia enables the majority of developers to create
safer, more stable high performance systems, rather than
a select few. Kamaelia encourages fine grained parallelism
without the need for complex state-machine based designs
or the overheads of large numbers of parallel threads
of execution.
This tool set furthers the core goal in Kamaelia - allowing
the BBC to experiment with systems for long term, large
scale, online media delivery. By designing Kamaelia to
lower the barrier to contribution we allow the community
to join with us in building these systems.
|