Distributed Memory in Blackboard Systems
Paul Vincent, ex-colleague at TIBCO, kindly responds to A Brief Introduction to Blackboard Architectures with Blackboards for Complex Event Processing. Paul correctly mentions that TIBCO’s BusinessEvents software is an excellent scheduling component in a blackboard systems architecture.
However, I should briefly clarify Paul’s note that “blackboard systems historically used a single memory model (i.e. multiple threads or processes using a single machine’s memory model)“.
In fact, there were many blackboard systems, some more than a decade old, that used a distributed memory data-model. What I think Paul meant to say, and my apologies to Paul for being so literal, is that “blackboard systems originally used a single memory model (i.e. multiple threads or processes using a single machine’s memory model)”
John McManus, former CTO of NASA, wrote an excellent PhD dissertation in 1992, Design and Analysis Techniques for Concurrent Blackboard Systems. John’s thesis, now more than 16 years old, examined many details of concurrent blackboards where memory is distributed. For example, refer to Figure 2.3. Distributed Blackboard System with Distributed Blackboard Data Structure, page 36 of John’s dissertation.
Quoting directly from page 37 of John’s disseration;
Rice, Aiello and Nii [20] present several options for gaining speedups in a distributed blackboard system.
- 1) Eliminate the centralized scheduling mechanism
- 2) Optimize system design for a distributed memory, message-passing hardware
- 3) Distribute the data across the blackboard to reduce hotspots
Quoting further from the same page;
Poligon [21] is based on a distributed memory hardware model when each processor is viewed as a blackboard node. They define a blackboard node as follows: “a blackboard node is a process on a processor, surrounded by a collection of processors able to service its requests to execute rules.” [22] The implicit assumption in this definition is that all knowledge sources are rule–based systems. This assumption may severely limit the performance of systems implemented using Poligon, and limits the types of problems it is suited to address.
In Blackboards for Complex Event Processing, Paul concludes,
“One suspects the blackboard systems domain and terminology is overdue some updates thanks to developments in the Complex Event Processing space.”
If you look at the historical literature, I would say that the following restatement is more accurate:
“The CEP domain and terminology is overdue some updates because folks working in CEP did not reference or incorporate the advanced event processing prior art in a number of very important areas, blackboard systems being only one.”
On the other hand, commercial off-the-shelf rule-processing technology such as TIBCO’s BusinessEvents (BE), advances the ability to economically implement myriad complex problems that blackboard systems are designed to address.








Colin says:
Saturday, July 26, 2008 at 7:27pm
Tim,
You say ““The CEP domain and terminology is overdue some updates because folks working in CEP did not reference or incorporate the advanced event processing prior art in a number of very important areas, blackboard systems being only one.”
Kaskad’s Korrelera incorporated many aspects of a distributed blackboard system – including agents (RuleBots and QEP’s), distributed memory (remote and local streams), message passing, distributed scheduling, and multiple processing nodes.
There were a couple of other decade or two old ideas incorporated into Korrelera as well which accounted for it’s speed; stuff that couldn’t be done in Java at the time so we did it all in C++. For a distributed, shared memory system (blackboard) to really boogie, you’ve got to really pay attention to concurrency issues.
Colin
Tim Bass says:
Saturday, July 26, 2008 at 8:02pm
Hi Colin,
Great to hear from you again. My comments were not directed at any particular vendor or vendor solution, just a handful of “CEP community folks” who have been building event processing concepts, terms and vocabularies like processing complex event was invented with the term CEP or ESP!.
In fact, most of the prior art and science related to distributed event processing has been ignored, for some odd reason I can’t understand. Maybe is it marketing? Or maybe folks just want to be famous or known as “inventors”? Maybe it is simply NIH (not invented here?) I certainly do not claim any special knowledge into the motives of others; but i do believe that NIH is bad for customers and the state-of-the-art.
During my keynote at the first pre-EPTS kickout meeting I discussed all these issues, including providing references to some of the prior art that has been ignored.
For example see this post,
http://www.thecepblog.com/2008/07/09/a-blast-from-the-past-processing-patterns-for-predictive-business-march-2006/
…. and in particular slides 14, 15, 16 and 17 of this presentation:
http://www.complexevents.com/slides/TIBCO_MARCH_2006.ppt
…. where I discussed BB systems as well as MSDF.
Frankly speaking, your current company Streambase, has a long way to go in this area; historically they have marginalized both the prior art that was not related to database driven stream processing and the work of others in the field.
I will be much more comfortable with companies, like Streambase, when they embrace the entire history of event processing, not just the work of their founders and/or colleages related to databases and stream processing.
We need the community to embrace the entire art-and-science of event processing and distributed computing; predating CEP and ESP work by more than a decade; where much was more advanced in most technology areas than any of the CEP/ESP solutions we see today in the COTS market.
I agree with you on concurrency, BTW; this is the core thesis of John’s PhD thesis in 1992. For all who want to understand CEP, real CEP, John’s dissertation is must reading, in my opinion.
Yours faithfully, Tim