Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #8492
| From | Victor Bazarov <v.bazarov@comcast.invalid> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: Non-deterministic behavior of multithreaded software |
| Date | 2011-08-05 08:07 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <j1gmdc$dn$1@dont-email.me> (permalink) |
| References | <18caa0ec-2225-42a5-87cf-ffecc346b8c3@a2g2000prf.googlegroups.com> |
On 8/5/2011 5:40 AM, itt ium wrote: > I have recently modified a software from single threaded to > multithreaded design. In single threaded version, a connection fd was > read by single thread, so event were always delivered in order. Now > since multiple threads handle different events (on the same fd), the > events are sometimes delivered out of order. "Delivered" by whom, to where? Handling of events is one thing, delivering them is another. Do you need them processed in order, then don't parallelise their processing. If your events can be processed out of order but then need to be re-queued, then you need to mark each event (see below) for reassembling of the queue. > Please note, on the > connection fd, events are received in proper order and this non- > deterministic behavior is introduced by my software only. > > Following are my doubt > > 1. How to handle such a situation Every event, when read from your 'fd' (whatever that is), needs to be wrapped in a package with the assigned ordinal number so that after processing it can be again placed in another queue _sorted_. > 2. Is it a bad idea to have multiple threads for the same fd. If yes > than how to increase capacity of a software that receives large amount > of data on a single fd only. Are you guessing what can and cannot be parallelized? It's better to do a systematic analysis of your own software to see what improvement you can make by adding multithreading to it. There are many good/decent books on thread and designing for parallel execution, why don't you start with them? > > Because of the relevance I am posting the message to following groups. > > comp.unix.programmer > > comp.programming.threads No, you're not. I'm reading this in 'comp.lang.c++'. Perhaps you multiposted, but that's a BAD IDEA(tm). If you have to use more than one newsgroup, *cross-post*. V -- I do not respond to top-posted replies, please don't ask
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Non-deterministic behavior of multithreaded software itt ium <ittium@gmail.com> - 2011-08-05 02:40 -0700
Re: Non-deterministic behavior of multithreaded software Victor Bazarov <v.bazarov@comcast.invalid> - 2011-08-05 08:07 -0400
Re: Non-deterministic behavior of multithreaded software "Paul" <pchristor@yahoo.co.uk> - 2011-08-06 22:08 +0100
Re: Non-deterministic behavior of multithreaded software ittium <ittium@gmail.com> - 2011-08-09 10:05 +0530
Re: Non-deterministic behavior of multithreaded software Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-08-06 07:38 +0000
Re: Non-deterministic behavior of multithreaded software ittium <ittium@gmail.com> - 2011-08-09 10:09 +0530
csiph-web