Return-Path: Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: (qmail 83517 invoked from network); 12 Feb 2009 19:14:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Feb 2009 19:14:36 -0000 Received: (qmail 46099 invoked by uid 500); 12 Feb 2009 19:14:35 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 46077 invoked by uid 500); 12 Feb 2009 19:14:35 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 46059 invoked by uid 99); 12 Feb 2009 19:14:35 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Feb 2009 11:14:35 -0800 X-ASF-Spam-Status: No, hits=0.2 required=10.0 tests=SPF_PASS,WHOIS_MYPRIVREG X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of chirino@gmail.com designates 74.125.46.158 as permitted sender) Received: from [74.125.46.158] (HELO yw-out-1718.google.com) (74.125.46.158) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Feb 2009 19:14:25 +0000 Received: by yw-out-1718.google.com with SMTP id 6so494354ywa.86 for ; Thu, 12 Feb 2009 11:14:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=Fsiu1Eo3NJnrAjUAkuOdosUSrSt5tdW2LkjSM15Gt3o=; b=abtkwhnM3jxgymhFLGBZaxqlytqlK/f3MHNbXdfK+XQzLO2J7n2KZkKKLtypXZhhIM 5hzQdawMGEfZbos4e356nnANgWTCU4rw20IwmMxQ4owL6kMJ+G325fhFpJgUNjthnxOD IgNOL0sHMYf1XkaRhCl+9a37HI7LrakwmKO5M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=mFfdJOXv1w0Di05Ac5+9VLRLQxur9XAQBfzL2fUuwh/KRX3CjdoHoTyaqNv2OW/PWn 0Vf3x+uoi2Ouex5SnP5viMiU5GUOd+O0jojkt0ZQlOaRlp5U+4xUmVhHnpILUn0YpJCI 0YZsWIpqfAYSFkqaP+BnmCwkGRrxazfDeyY8Q= MIME-Version: 1.0 Received: by 10.100.105.9 with SMTP id d9mr1493830anc.142.1234466043999; Thu, 12 Feb 2009 11:14:03 -0800 (PST) In-Reply-To: <21980708.post@talk.nabble.com> References: <21980708.post@talk.nabble.com> Date: Thu, 12 Feb 2009 14:14:03 -0500 Message-ID: Subject: Re: New sandbox activemq-flow module From: Hiram Chirino To: dev@activemq.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org FYI.. I just udpated the module to use the ActiveMQ transports so that way it's testing against real IO. The wire protocol is just Object Serialization based so it's not very optimized but at least it should help us see how the thread models interact. On Thu, Feb 12, 2009 at 12:24 PM, Colin MacNaughton wrote: > > Hi Everyone, > > As this is my first post to the dev list, I thought I might first share a > little bit about my background. I started in messaging nine years ago at > Progress Software working with SonicMQ. With the recent merger between IONA > and Progress Software, I've happily been given the opportunity to begin > working with ActiveMQ. I'm very much looking forward to sharing my messaging > experience from SonicMQ and learning more from the impressive community > around ActiveMQ. > > Anyway as Hiram mentioned I've been working with him on the activemq-flow > module. One of the things that I find most interesting about this experiment > is that it tries to boil messaging down into the management and control of > message flows between sources and sinks. When thought of this way a message > broker or network of brokers can be represented in a directed flow graph > with queues as the vertices and message flows as the directed edges. Of > course, we all know there is a lot more to messaging than this, but to me > the concept of a flow graph presents some convenient advantages in terms of > visibility (metrics and connectivity relationships, bottleneck detection) as > well as management (policies, prioritization etc) to the users and > administrators of a messaging system. > > I'm currently working on the dispatching component of this that Hiram > mentioned in which we are trying to reduce threading contention between > queues (sources and sinks). The theory is that by using the flow graph we > can partition unrelated subcomponents of the graph onto different threads, > thereby reducing thread contention between unrelated resources, and load > balance the work amongst a small number of threads using metrics culled from > the graph. The graphing/metrics component is not really there at the moment > because the graphing library we were using wasn't really Apache friendly, so > if anyone knows of a good graphing library please let me know! > > Looking forward to working with all of you, Colin > > colin.macnaughton@gmail.com > > > > Hiram Chirino wrote: >> >> Hi, >> >> Just wanted to let you know about a new activemq-flow little module >> that I added to the ActiveMQ sandbox. It's a little experiment in >> trying to do more efficient flow control and thread handling in todays >> multi-core world. Its checked in at: >> https://svn.apache.org/repos/asf/activemq/sandbox/activemq-flow >> >> The 2 major bits of it are basically: >> 1) an event based thread/dispatching model which tries to avoid >> cross thread contention >> 2) A flow control model where dispatching occurs across flow >> controlled sinks and sources. >> >> The flow control bits allow us to more easily implement things that >> are missing in the current ActiveMQ like priority messaging and to do >> better broker memory sizing based on connections to the broker. >> >> Up to this point this has mostly been a collaborative experiment >> between Colin Macnaughton (my highly esteemed coworker) and myself, >> but I think it's a good time open this out to the rest of the >> community to see if anyone would be interested in helping out in this >> little experiment. >> >> Things that still need to get done are: >> - clean up / consolidate some of the unused bits. For example >> SingleFlowPriorityQueue should get replaced with the >> ExclusivePriorityQueue >> - get the clustering working with the priority queues >> - Update the mock test cases so it does real IO >> >> I think once we get there, then we can start to do better apple to >> apples comparisons to the existing broker architecture in terms of >> performance, memory usage, and cpu usage. >> >> -- >> Regards, >> Hiram >> >> Blog: http://hiramchirino.com >> >> Open Source SOA >> http://fusesource.com/ >> >> > > -- > View this message in context: http://www.nabble.com/New-sandbox-activemq-flow-module-tp21963659p21980708.html > Sent from the ActiveMQ - Dev mailing list archive at Nabble.com. > > -- Regards, Hiram Blog: http://hiramchirino.com Open Source SOA http://fusesource.com/