|
Project Task Page: Axon Waking Producers Bugfix
Status: Running Current Developers: MH Current "inflight" dev location: /branches/private_MH_axon_outboxwakeups Start Date: 20 October 2006 Expected End Date: 31 November 2006 End Date: ??? Date this page last updated: 23 February 2007 Estimated effort so far: 5 days DescriptionTo get Axon to wake up producer components when a message they have sent out is consumed. This used to be a feature of axon, but was removed when Axon box delivery optimisations were implemented. This is therefore effectively a bugfix.This allows producers to sleep if an inbox they are trying to send to becomes full (because it is size limited) and then be woken when it becomes non-full. Needed by the Mobile reframer. Benefits:
InputsThis section is largely about WHO has influenced this task to do WHAT, and where possible WHY. It is also about WHO to contact with regard to this task to influence what's going on.
Relevant Influencing factors:
OutputsExpected
Actual
Realistic possibilities arising as a result of activity on this tasknone Related TasksTasks that directly enable this task (dependencies)
Sub Tasks
Task Log
DiscussionThis bug-fix brings Axon up to equivalent, but not semantically identical, functionality to the original capabilities of Axon 1.0.Changes to behaviour/semanticsThe original semantics worked for a model where both inbox and outbox sizes could be limited, and a postman microprocess would transfer data along linkages from outboxes to inboxes. In that model:
The differences can therefore be summarised as:
Performance issuesIt could be argued that this strategy of waking all producers may cause a significant performance hit to some Axon based systems as all producers linked to a consumer will be woken every time the consumer collects from that inbox. An alternative would be to only wake producers when the inbox transitions from being full to becoming not-full. Alternatively, producers could only be woken if they explicitly request it. However these ideas constitue a more fundamental change in behaviour that component developers would have to take into account, rather than being a simple bug-fix. -- Matt Hammond, 23 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