Jerry Callen wrote:
Jack J. Woehr wrote:

Not sure how relevant that this is to mainframe programming, but years ago
when I designed and executed with a team of nine a data-heavy server in
Unix optimized for multiple cores, what we found was that reroutable queuing
of data from one simplistic processing engine to the next (with reservoirs
for data accumulation) got the most performance.
I'm not sure I grok this. Are you talking about hardware or software (or a 
combination)

Software running on multithreaded Linux on 8-16 cores.

We had all sorts of data processing that happened on an steady hi-volume stream of incoming data before the massaged data got parked in the database.

Our software architecture was based on that fine principle of Naval Engineering 
enunciated so many decades ago:

   "All machines are the same. There's a gozinta, a gozouta, and in the middle 
there's a pocketa-pocketa."

The pocketa-pocketas were simple threads on cores. The gozintas and gozoutas 
were MQSeries queues.

Incoming data was dealt into various MQSeries queues.

Threads were doing simple processing steps.

Each thread took from a queue, processed, and then wrote to one of several queues as appropriate, where the next thread for the next appropriate processing step did the same etc., until finally written to the database.

Worked well with Linux multithreading architecture on multiple cores. Keep all 
the cores balanced in load.

--
Jack J. Woehr     # Science is more than a body of knowledge. It's a way of
www.well.com/~jax # thinking, a way of skeptically interrogating the universe
www.softwoehr.com # with a fine understanding of human fallibility. - Carl Sagan


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to