|
Project Task Page: Axon Box Delivery Optimisations
Status: Completed Current Developers: MH Current "inflight" dev location: /branches/private_MH_axon_optimisations Start Date: March 2006 Expected End Date: n/a End Date: April 2006 Date this page last updated: 22 February 2007 Estimated effort so far: 20 days DescriptionModifying axon to optimise delivery of messages along linkages - especially chains of linkages - by delivering a message immediately and directly to the final destination inbox as soon as it is sent to an outbox. This would remove the need for a separate "postman" microprocess to transfer the message along each linkage, from outbox to inbox.This will substantially improve responsiveness and performance of Axon systems - there will be less microprocesses in a running system; and where components are nested delivery take a single hop rather than as many hops as there are linkages in the chain. Needed to make practical high data throughput Kamaelia systems, such as KamaeliaMacro. Inputs
OutputsExpected
Actual
Realistic possibilities arising as a result of activity on this taskAxon's support for the following was removed; and needed to be added back in again:
Task Log
DiscussionThese optimisations led to a massive performance improvement; but at the price of Axon losing some functionality (namely the ability to wake components when message deliveries take place).The modifications and additions to the axon testsuite were not initially merged when the main code was merged from the branch to the mainline codebase. This was because the decision was taken to move the tests from /Code/Python/Axon/Axon/test to /Tests/Python/Axon/. They were later merged when other optimisations were merged later in Summer 2006. A minor Axon API change was made (other that the removal of support for waking due to deliveries) to make things more uniform for component writers - a new unlink() method superceeds deRegisterLinkage() - this mirrors the existing link() method. -- Matt Hammond, 22 February 2007
|
Kamaelia
is an open source project originated from and guided by BBC
Research. For more information browse the site or get in
contact.
This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)
(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved