Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #2144
| From | aminer <aminer@toto.net> |
|---|---|
| Newsgroups | comp.programming.threads, comp.programming |
| Subject | Re: To be more precise... |
| Date | 2014-04-11 20:17 -0700 |
| Organization | albasani.net |
| Message-ID | <lia0le$2rf$5@news.albasani.net> (permalink) |
| References | <lia0g1$2rf$1@news.albasani.net> |
Cross-posted to 2 groups.
On 4/11/2014 8:14 PM, aminer wrote: > > Hello, > > > We have to be smart please, as you have noticed i have > wrote another scalable FIFO fair lock and i have > studied deeply , and i have come to the conclusion > that it's useful to learn and useful to use, i have > began to test it under contention to see how it behave, > under contention with 2 threads on a Quadcore and > under contention with 4 threads, what i have > discovered that under contention with two threads > the following section in the Enter() method > will be accessed by 1/2 of the total number of threads I mean 1/2 the total number of times the threads enter the Enter() method. > > here is the section, it is when PMyRecord4(a)^.count equal -1: > > if PMyRecord4(a)^.myid=0 > then > begin > PMyRecord4(a)^.count:=1; > exit; > end > else > begin > freemem(PMyRecord4(a)^.mem); <- this one > end; > end > > but under contention with 4 threads this same section > will be accessed almost 0 times.. so if you want to test > the scalability with two threads scenario under contention, > you will not be able to do it accuratly cause under contention > with two threads the queue.pop(tobject(a)) statement inside the Enter() > method will be cheap compared to the 4 threads scenario under > contention, but what i can tell you for sure is that with 4 threads and > more and with more cores and under contention my FIFO fair lock > will be scalable. > > But we have to be smart more than that, you will say that my > scalable FIFO fair lock is slower by almost 2x times than the > Ticket spinlock with a proportional backoff, but you have > to understand that the TicketSpinlock will not scale with > bigger critical sections , my scalable FIFO fair lock > will, other than that you have to understand that as the time > inside the critical section becomes bigger the speed > of my scalable FIFO fair lock will be almost equal to that of > the TicketSpinlock with a proportional backoff, other than > that, to make my scalable FIFO fair lock faster you can use > a Waitfree FIFO queue on the pop side of the queue. > > You can download my scalable FIFO fair lock from: > > http://pages.videotron.com/aminer/ > > > > > Thank you, > Amine Moulay Ramdane. > > > > > > > > > > > > > > > > > > > > > >
Back to comp.programming.threads | Previous | Next — Previous in thread | Find similar | Unroll thread
To be more precise... aminer <aminer@toto.net> - 2014-04-11 20:14 -0700 Re: To be more precise... aminer <aminer@toto.net> - 2014-04-11 20:17 -0700
csiph-web