Wednesday, January 29, 2014

comp.programming.threads - 26 new messages in 18 topics - digest

comp.programming.threads
http://groups.google.com/group/comp.programming.threads?hl=en

comp.programming.threads@googlegroups.com

Today's topics:

* Intelligence... - 7 messages, 3 authors
http://groups.google.com/group/comp.programming.threads/t/eb2b878ee4caef93?hl=en
* The solution... - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/6abce6b20fdfbd17?hl=en
* Scalable RWLock 2.0 - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/475160bc7481ecd1?hl=en
* Call for Papers CARLA 2014 - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/0d4013cad6329408?hl=en
* About my scalable RWLock... - 2 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/5b7924c07ddd8a4c?hl=en
* Open issues in the specification for fork()? - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/e219574ddde7649b?hl=en
* Scalable RWLock 2.02 - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/6778876490949777?hl=en
* About my scalable RWLock 2.02 - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/5540c1a678eac378?hl=en
* Scalable RWLockX versoin 2.1 - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/bd210d979daa5c1e?hl=en
* My new RWLockX algorithm supports - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/d6687adb3e3017b2?hl=en
* About my scalable RWLockX - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/63ffa7a4cc53cae4?hl=en
* Scalable RWLock versoin 2.11 - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/41d911a106ad1977?hl=en
* SemaCondvar and SemaMonitor version 1.2 - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/791a93de5403df4c?hl=en
* About RWLocks... - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/4b161c5de20ed8e4?hl=en
* About my RWLockX 2.11 algorithm - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/311803584b26e92b?hl=en
* SemaCondvar and SemaMonitor... - 2 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/08e7455fd4186afd?hl=en
* LW_RWLockX algorithm... - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/260238596f8e0594?hl=en
* About LW_RWLockX algorithm... - 1 messages, 1 author
http://groups.google.com/group/comp.programming.threads/t/6812bb3e206cba5b?hl=en

==============================================================================
TOPIC: Intelligence...
http://groups.google.com/group/comp.programming.threads/t/eb2b878ee4caef93?hl=en
==============================================================================

== 1 of 7 ==
Date: Thurs, Jan 23 2014 4:47 pm
From: aminer


On 1/23/2014 4:07 PM, Melzzzzz wrote:
> On Thu, 23 Jan 2014 18:58:02 -0800
> aminer <aminer@toto.net> wrote:
>
>>
>> Hello all,
>>
>>
>> So i think intelligence and also conscience is in fact a faster
>> machine with some data in it that organizes data in a form that is
>> smart, but how life have evolved in a more intelligent and smart form
>> as to be human ? i think it is just a long and dumb process, so to
>> create intelligence and conscience we have first to be inspired by
>> the laws of our mother nature and to create a more faster machines.
>
> In 1987 my math professor showed us proof that algorithm for making
> algorithms does not exists...
>


So if this proof exists that means that i have forgot something,
that means that the thing that gives human intelligence is not
an algorithm.



Amine Moulay Ramdane.












== 2 of 7 ==
Date: Thurs, Jan 23 2014 4:55 pm
From: Melzzzzz


On Thu, 23 Jan 2014 19:48:19 -0800
aminer <aminer@toto.net> wrote:

> On 1/23/2014 4:07 PM, Melzzzzz wrote:
> > On Thu, 23 Jan 2014 18:58:02 -0800
> > aminer <aminer@toto.net> wrote:
> >
> >>
> >> Hello all,
> >>
> >>
> >> So i think intelligence and also conscience is in fact a faster
> >> machine with some data in it that organizes data in a form that is
> >> smart, but how life have evolved in a more intelligent and smart
> >> form as to be human ? i think it is just a long and dumb process,
> >> so to create intelligence and conscience we have first to be
> >> inspired by the laws of our mother nature and to create a more
> >> faster machines.
> >
> > In 1987 my math professor showed us proof that algorithm for making
> > algorithms does not exists...
> >
>
>
> So if this proof exists that means that i have forgot something,
> that means that the thing that gives human intelligence is not
> an algorithm.
>
>
>
We are analog, slow computers, that can make algorithms.


--
Click OK to continue...





== 3 of 7 ==
Date: Thurs, Jan 23 2014 5:09 pm
From: aminer


On 1/23/2014 4:55 PM, Melzzzzz wrote:
> On Thu, 23 Jan 2014 19:48:19 -0800
> aminer <aminer@toto.net> wrote:
>
>> On 1/23/2014 4:07 PM, Melzzzzz wrote:
>>> On Thu, 23 Jan 2014 18:58:02 -0800
>>> aminer <aminer@toto.net> wrote:
>>>
>>>>
>>>> Hello all,
>>>>
>>>>
>>>> So i think intelligence and also conscience is in fact a faster
>>>> machine with some data in it that organizes data in a form that is
>>>> smart, but how life have evolved in a more intelligent and smart
>>>> form as to be human ? i think it is just a long and dumb process,
>>>> so to create intelligence and conscience we have first to be
>>>> inspired by the laws of our mother nature and to create a more
>>>> faster machines.
>>>
>>> In 1987 my math professor showed us proof that algorithm for making
>>> algorithms does not exists...
>>>
>>
>>
>> So if this proof exists that means that i have forgot something,
>> that means that the thing that gives human intelligence is not
>> an algorithm.
>>
>>
>>
> We are analog, slow computers, that can make algorithms.
>


Even if this proof exist, we can still have algorithms that
create a finite number of algorithms and creates more
specialized algorithms. That's what we are doing with machines and
computers, and that also brings hope to humanity.



Amine Moulay Ramdane.











== 4 of 7 ==
Date: Thurs, Jan 23 2014 5:16 pm
From: Melzzzzz


On Thu, 23 Jan 2014 20:10:10 -0800
aminer <aminer@toto.net> wrote:

> On 1/23/2014 4:55 PM, Melzzzzz wrote:
> > On Thu, 23 Jan 2014 19:48:19 -0800
> > aminer <aminer@toto.net> wrote:
> >
> >> On 1/23/2014 4:07 PM, Melzzzzz wrote:
> >>> On Thu, 23 Jan 2014 18:58:02 -0800
> >>> aminer <aminer@toto.net> wrote:
> >>>
> >>>>
> >>>> Hello all,
> >>>>
> >>>>
> >>>> So i think intelligence and also conscience is in fact a faster
> >>>> machine with some data in it that organizes data in a form that
> >>>> is smart, but how life have evolved in a more intelligent and
> >>>> smart form as to be human ? i think it is just a long and dumb
> >>>> process, so to create intelligence and conscience we have first
> >>>> to be inspired by the laws of our mother nature and to create a
> >>>> more faster machines.
> >>>
> >>> In 1987 my math professor showed us proof that algorithm for
> >>> making algorithms does not exists...
> >>>
> >>
> >>
> >> So if this proof exists that means that i have forgot something,
> >> that means that the thing that gives human intelligence is not
> >> an algorithm.
> >>
> >>
> >>
> > We are analog, slow computers, that can make algorithms.
> >
>
>
> Even if this proof exist, we can still have algorithms that
> create a finite number of algorithms and creates more
> specialized algorithms. That's what we are doing with machines and
> computers, and that also brings hope to humanity.
>
>

What I want to say is that we are not digital computers. We are
not driven by algorithm...although we can simulate digital
computer but badly...


--
Click OK to continue...





== 5 of 7 ==
Date: Thurs, Jan 23 2014 5:23 pm
From: aminer


On 1/23/2014 5:16 PM, Melzzzzz wrote:
> On Thu, 23 Jan 2014 20:10:10 -0800
> aminer <aminer@toto.net> wrote:
>
>> On 1/23/2014 4:55 PM, Melzzzzz wrote:
>>> On Thu, 23 Jan 2014 19:48:19 -0800
>>> aminer <aminer@toto.net> wrote:
>>>
>>>> On 1/23/2014 4:07 PM, Melzzzzz wrote:
>>>>> On Thu, 23 Jan 2014 18:58:02 -0800
>>>>> aminer <aminer@toto.net> wrote:
>>>>>
>>>>>>
>>>>>> Hello all,
>>>>>>
>>>>>>
>>>>>> So i think intelligence and also conscience is in fact a faster
>>>>>> machine with some data in it that organizes data in a form that
>>>>>> is smart, but how life have evolved in a more intelligent and
>>>>>> smart form as to be human ? i think it is just a long and dumb
>>>>>> process, so to create intelligence and conscience we have first
>>>>>> to be inspired by the laws of our mother nature and to create a
>>>>>> more faster machines.
>>>>>
>>>>> In 1987 my math professor showed us proof that algorithm for
>>>>> making algorithms does not exists...
>>>>>
>>>>
>>>>
>>>> So if this proof exists that means that i have forgot something,
>>>> that means that the thing that gives human intelligence is not
>>>> an algorithm.
>>>>
>>>>
>>>>
>>> We are analog, slow computers, that can make algorithms.
>>>
>>
>>
>> Even if this proof exist, we can still have algorithms that
>> create a finite number of algorithms and creates more
>> specialized algorithms. That's what we are doing with machines and
>> computers, and that also brings hope to humanity.
>>
>>
>
> What I want to say is that we are not digital computers. We are
> not driven by algorithm...although we can simulate digital
> computer but badly...
>
>



And what i mean is that computers and machines are becoming faster and
more powerfull than human at doing different things , and even though
this proof exists , algorithms inside machines and computers can still
create a finite number of algorithms , and all that brings hope
to humanity..



Amine Moulay Ramdane.










== 6 of 7 ==
Date: Thurs, Jan 23 2014 5:33 pm
From: Melzzzzz


On Thu, 23 Jan 2014 20:24:05 -0800
aminer <aminer@toto.net> wrote:

> On 1/23/2014 5:16 PM, Melzzzzz wrote:
> > On Thu, 23 Jan 2014 20:10:10 -0800
> > aminer <aminer@toto.net> wrote:
> >
> >> On 1/23/2014 4:55 PM, Melzzzzz wrote:
> >>> On Thu, 23 Jan 2014 19:48:19 -0800
> >>> aminer <aminer@toto.net> wrote:
> >>>
> >>>> On 1/23/2014 4:07 PM, Melzzzzz wrote:
> >>>>> On Thu, 23 Jan 2014 18:58:02 -0800
> >>>>> aminer <aminer@toto.net> wrote:
> >>>>>
> >>>>>>
> >>>>>> Hello all,
> >>>>>>
> >>>>>>
> >>>>>> So i think intelligence and also conscience is in fact a faster
> >>>>>> machine with some data in it that organizes data in a form that
> >>>>>> is smart, but how life have evolved in a more intelligent and
> >>>>>> smart form as to be human ? i think it is just a long and dumb
> >>>>>> process, so to create intelligence and conscience we have first
> >>>>>> to be inspired by the laws of our mother nature and to create a
> >>>>>> more faster machines.
> >>>>>
> >>>>> In 1987 my math professor showed us proof that algorithm for
> >>>>> making algorithms does not exists...
> >>>>>
> >>>>
> >>>>
> >>>> So if this proof exists that means that i have forgot something,
> >>>> that means that the thing that gives human intelligence is not
> >>>> an algorithm.
> >>>>
> >>>>
> >>>>
> >>> We are analog, slow computers, that can make algorithms.
> >>>
> >>
> >>
> >> Even if this proof exist, we can still have algorithms that
> >> create a finite number of algorithms and creates more
> >> specialized algorithms. That's what we are doing with machines and
> >> computers, and that also brings hope to humanity.
> >>
> >>
> >
> > What I want to say is that we are not digital computers. We are
> > not driven by algorithm...although we can simulate digital
> > computer but badly...
> >
> >
>
>
>
> And what i mean is that computers and machines are becoming faster
> and more powerfull than human at doing different things , and even
> though this proof exists , algorithms inside machines and computers
> can still create a finite number of algorithms , and all that brings
> hope to humanity..

Problem is that algorithm can't create algorithm...
So digital machines can only function within own algorithm...




--
Click OK to continue...





== 7 of 7 ==
Date: Thurs, Jan 23 2014 5:48 pm
From: aminer


On 1/23/2014 5:33 PM, Melzzzzz wrote:
> On Thu, 23 Jan 2014 20:24:05 -0800
> aminer <aminer@toto.net> wrote:
>
>> On 1/23/2014 5:16 PM, Melzzzzz wrote:
>>> On Thu, 23 Jan 2014 20:10:10 -0800
>>> aminer <aminer@toto.net> wrote:
>>>
>>>> On 1/23/2014 4:55 PM, Melzzzzz wrote:
>>>>> On Thu, 23 Jan 2014 19:48:19 -0800
>>>>> aminer <aminer@toto.net> wrote:
>>>>>
>>>>>> On 1/23/2014 4:07 PM, Melzzzzz wrote:
>>>>>>> On Thu, 23 Jan 2014 18:58:02 -0800
>>>>>>> aminer <aminer@toto.net> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> Hello all,
>>>>>>>>
>>>>>>>>
>>>>>>>> So i think intelligence and also conscience is in fact a faster
>>>>>>>> machine with some data in it that organizes data in a form that
>>>>>>>> is smart, but how life have evolved in a more intelligent and
>>>>>>>> smart form as to be human ? i think it is just a long and dumb
>>>>>>>> process, so to create intelligence and conscience we have first
>>>>>>>> to be inspired by the laws of our mother nature and to create a
>>>>>>>> more faster machines.
>>>>>>>
>>>>>>> In 1987 my math professor showed us proof that algorithm for
>>>>>>> making algorithms does not exists...
>>>>>>>
>>>>>>
>>>>>>
>>>>>> So if this proof exists that means that i have forgot something,
>>>>>> that means that the thing that gives human intelligence is not
>>>>>> an algorithm.
>>>>>>
>>>>>>
>>>>>>
>>>>> We are analog, slow computers, that can make algorithms.
>>>>>
>>>>
>>>>
>>>> Even if this proof exist, we can still have algorithms that
>>>> create a finite number of algorithms and creates more
>>>> specialized algorithms. That's what we are doing with machines and
>>>> computers, and that also brings hope to humanity.
>>>>
>>>>
>>>
>>> What I want to say is that we are not digital computers. We are
>>> not driven by algorithm...although we can simulate digital
>>> computer but badly...
>>>
>>>
>>
>>
>>
>> And what i mean is that computers and machines are becoming faster
>> and more powerfull than human at doing different things , and even
>> though this proof exists , algorithms inside machines and computers
>> can still create a finite number of algorithms , and all that brings
>> hope to humanity..
>
> Problem is that algorithm can't create algorithm...
> So digital machines can only function within own algorithm...
>

I don't agree with you Melzzz, i give you an example: if the program
that you create contains two algorithms for example, this program
will reexecute those algorithms, it is as if the bigger algorithms that
is you computer program recreates those algorithms every time it
reexecutes those algorithms, the computer program is not creating those
algorithms from nothing, but it is as if it is recreating those
algorithms from bits and bytes and codes every time it's reexecuting the
algorithms.


Amine Moulay Ramdane.





















==============================================================================
TOPIC: The solution...
http://groups.google.com/group/comp.programming.threads/t/6abce6b20fdfbd17?hl=en
==============================================================================

== 1 of 1 ==
Date: Thurs, Jan 23 2014 6:56 pm
From: aminer



Hello,

To support the FIFO fairness inside my RWLock i have
found a solution but unfortunatly this solution
is not optimal, cause i have to use two SemaMonitor objects
on the reader side of my RWLock algorithm, but unfortunatly
since my SemaMonitor is using a FIFO queue, the head and tail of this
FIFO queue is always updated by multiple threads so there values has
to move from a L2 cache to L2 cache so this is expensive and
since it's expensive this will make my RWLock not scalable friendly
so i can not use my SemaMonitor in the reader side and since
i can not use my Semamonitor so i think that bringing FIFO fairness
is too hard or even impossible to realize.


That's sad but it's as it's...

So i will let my scalable RWLock as it's now.



Amine Moulay Ramdane.





==============================================================================
TOPIC: Scalable RWLock 2.0
http://groups.google.com/group/comp.programming.threads/t/475160bc7481ecd1?hl=en
==============================================================================

== 1 of 1 ==
Date: Thurs, Jan 23 2014 8:44 pm
From: aminer


Hello all,

I have finally found a solution that brings FIFO fairness to
my scalable RWLock, i have tested this solution and it is now working
perfectly in practice, this solution uses two SemaMonitors on the
reader side and one SemaMonitor on the writer side.

So now my scalable RWLock, the variant called RWLock2, supports the
following requirements:


1- It uses my SemaMonitor on both the reader and writer side
so it uses less CPU ressources.

2- It scales on multicores

3- It is FIFO fair on both the reader and the writer side
and it is starvation free.


You can download all the variants of my scalable RWLock from:

http://pages.videotron.com/aminer/


And please take a look at my new algorithm inside RWLock2.pas.




Thank you,
Amine Moulay Ramdane.










==============================================================================
TOPIC: Call for Papers CARLA 2014
http://groups.google.com/group/comp.programming.threads/t/0d4013cad6329408?hl=en
==============================================================================

== 1 of 1 ==
Date: Fri, Jan 24 2014 5:56 am
From: ghernandez


Call for Papers - CARLA 2014
http://carla2014.hpclatam.org/
Latin America High Performance Computing Conference
First HPCLATAM - CLCAR Joint Conference
Organized by CCTVal (USM) & NLHPC (UCHILE)
20-22 October 2014, Valparaíso, Chile


IMPORTANT DATES
Paper submission deadline: 1 June 2014
Notification of acceptance: 15 August 2014
Camera-ready papers due: 15 September 2014
Conference dates: 20 - 22 October 2014

AIMS & SCOPE
Building on the success of the previous editions of the HPCLATAM and the CLCAR Conferences, in 2014 both major HPC Latin-American workshops will joint in CARLA 2014 (Computación de Alto Rendimiento Latinoamérica), to be held in Valparaíso Chile. This conference also includes the Third High Performance Computing School-ECAR 2014 (from 13-17 October, 2014).

The main goal of the CARLA 2014 conference is to provide a regional forum fostering the growth of the HPC community in Latin America through the exchange and dissemination of new ideas, techniques, and research in HPC. The conference will feature invited talks from academy and industry, short- and full-paper sessions presenting both mature work and new ideas in research and industrial applications. Suggested topics of interest include, but are not restricted to:
- Parallel Algorithms and Techniques
- GPU Computing Applications
- Distributed, Grid, and Cloud Computing
- High Performance Computing Applications, Visualizations and Software Tools
- Component Technologies, Tools and Environments for High Performance System Engineering

INSTRUCTIONS FOR AUTHORS
Authors are invited to submit full papers (up to 12 pages) or short papers (up to 04 pages) written in English according to Springer LNCS style (guidelines available at: http://www.springer.de/comp/lncs/authors.html). Papers must not have been previously published or submitted elsewhere. Submissions will be handled electronically using Easy Chair system: http://www.easychair.org/account/signin.cgi?conf=carla2014. The authors of accepted papers must guarantee that their paper will be presented at the conference. All paper submissions will be carefully reviewed by at least two experts and returned to the author(s). All accepted papers will appear in the CARLA 2014 proceedings. In addition, authors of the best papers submitted to the workshop will be invited to submit their extended versions to a special issue in an ISI journal.





==============================================================================
TOPIC: About my scalable RWLock...
http://groups.google.com/group/comp.programming.threads/t/5b7924c07ddd8a4c?hl=en
==============================================================================

== 1 of 2 ==
Date: Fri, Jan 24 2014 9:12 am
From: aminer



Hello all,


I was thinking about my new scalable RWLock2, you have to understand
an important thing, if from the time t1 to the time t2 there is writes
and reads and from the time t2 to time t3 there is only reads, so
even if the time from t1 to t2 will add more to the overall time cause
there is write threads, the perceived throughput from time t2 to t3 will
be higher and the waiting time from t2 to t3 will be lower and this will
make my scalable RWLock usefull.


You can download my new scalable RWLock from:

http://pages.videotron.com/aminer/



Thank you,
Amine Moulay Ramdane.




== 2 of 2 ==
Date: Fri, Jan 24 2014 9:24 am
From: aminer



Hello,

I have updated my scalable RWLock to version 2.01

You can download my new scalable RWLock 2.01 from:

http://pages.videotron.com/aminer/


Thank you,
Amine Moulay Ramdane.







==============================================================================
TOPIC: Open issues in the specification for fork()?
http://groups.google.com/group/comp.programming.threads/t/e219574ddde7649b?hl=en
==============================================================================

== 1 of 1 ==
Date: Sat, Jan 25 2014 7:45 pm
From: Kaz Kylheku


["Followup-To:" header set to comp.unix.programmer.]
On 2013-11-23, Markus Elfring <Markus.Elfring@web.de> wrote:
> Hello,
>
> I have read the document
> "http://pubs.opengroup.org/onlinepubs/9699919799/functions/fork.html" once more.
> I find that some details will need further clarification, won't it?
>
> 1. Do you interpret the wording
> "... If a multi-threaded process calls fork(), ..."
> from the section "DESCRIPTION" in the way that it is not specified which
> behaviour should be expected for the address space in an ordinary
> single-threaded process?
>
> 2. Is the wording
> "... The fork() function is thus used only to run new programs, and the
> effects of calling functions that require certain resources between the call to
> fork() and the call to an exec function are undefined. ..."
> from the section "RATIONALE" a contradiction to the previous information
> "... Consequently, to avoid errors, the child process may only execute
> async-signal-safe operations until such time as one of the exec functions is
> called. ..."?
>
> 3. Is asynchronous-signal-safety also relevant for the single-threaded use case
> here?
> Do you know interesting software design challenges or "realistic problems"
> for this situation?

The issue is that when a copy is made of a multithreaded process by fork,
it's as if the child is in a parallel universe where all the threads except
for the forking one have suddenly disappeared dead in their tracks.

So for instance, what if one of the threads in the parent was in the middle of
calling malloc, and some pointers in the malloc data structure are in a bad
state? The child inherits them that way.

You can write MT programs that handle fork and keep going.

In the global initialization routine of each module, have it register fork
handlers with pthread_atfork. Have every module do some correct thing when a
fork is going on. The pre-fork handler can ensure that threads are are
"parked" in some quiescent state, where they are known not to be updating
anything that will result in a trashed copy. The post-fork handler in the
parent can then clear the emergency so that things continue chugging along.
The post-fork handler in the child can do something similar, keeping in
mind that there are no threads there.

It's a lot of responsibility, possibly complex coding and ... good luck
getting third-party components to cooperate.





==============================================================================
TOPIC: Scalable RWLock 2.02
http://groups.google.com/group/comp.programming.threads/t/6778876490949777?hl=en
==============================================================================

== 1 of 1 ==
Date: Sun, Jan 26 2014 6:06 am
From: aminer



Hello,

My scalable RWLock was updated to version 2.02, the
RWLock2 variant had a race condition so i have deleted it
from the zip file.

So now my scalable RWLock zip file contains two variants,
a fast and scalable and lightweight Multiple-Readers-Exclusive-Writer
Lock that is portable called LW_RWLock and that works across processes
and threads and another one that is fast and also scalable
Multiple-Readers-Exclusive-Writer Lock that is portable called RWLock
and that don't use spin wait but uses and manual event object and my
SemaMonitor, so RWLock consumes less CPU ressouces than the lightweight
version. I have verified my scalable RWLock algorithms extensivly and
they are working perfectly.


So now my scalable RWLock, the variant called RWLock, supports the
following requirements:


1- It uses my SemaMonitor and a manual event object so it uses less CPU
ressources.

2- It scales on multicores


You can download my scalable RWSLock version 2.02 from:

http://pages.videotron.com/aminer/




Thank you,
Amine Moulay Ramdane.






==============================================================================
TOPIC: About my scalable RWLock 2.02
http://groups.google.com/group/comp.programming.threads/t/5540c1a678eac378?hl=en
==============================================================================

== 1 of 1 ==
Date: Sun, Jan 26 2014 8:33 am
From: aminer


Hello,


As you have noticed i was trying to implement the starvation free
requirement, but i was thinking more and since with RWLock the writes
are infrequent, so i don't think threads will starve.

Other than that RWLock 2.02 is stable now, and i have verified
extensivly the two RWLock algorithms and they working perfectly.


So be happy with with my scalable RWLock 2.02.

You can download my scalable RWLock version 2.02 from:

http://pages.videotron.com/aminer/




Thank you,
Amine Moulay Ramdane.







==============================================================================
TOPIC: Scalable RWLockX versoin 2.1
http://groups.google.com/group/comp.programming.threads/t/bd210d979daa5c1e?hl=en
==============================================================================

== 1 of 1 ==
Date: Mon, Jan 27 2014 3:12 pm
From: aminer



Hello all,

You have to be careful cause if there is more and more writes
my previous scalable RWLocks version 2.01 may starve threads for a long
time or starve threads , cause they were not starvation free.

So i have to be smarter than that, and i have finally implemented a
scalable RWLock called RWLockX that is starvation-free and that
doesn't use spin-wait but it uses my portable SemaMonitor and a portable
manual event object, so it consumes less CPU ressources and it's
scalable on multicores, so finally i have designed and implemented this
new algorithm called RWLockX that supports all those three requirements.

I have extensivly verified my new RWLockX algorithm and it's
stable now and i will explain it to you in the near future.

Please download my scalable RWLock zip file version 2.1
and take a look at my new scalable RWLockX algorithm inside RWLockX.pas,
and run the test.pas example inside the zip file .


You can download my new scalable RWLock 2.1 from:

http://pages.videotron.com/aminer/



Thank you,
Amine Moulay Ramdane.









==============================================================================
TOPIC: My new RWLockX algorithm supports
http://groups.google.com/group/comp.programming.threads/t/d6687adb3e3017b2?hl=en
==============================================================================

== 1 of 1 ==
Date: Mon, Jan 27 2014 3:21 pm
From: aminer



Hello,

So now my new scalable RWLockX algorithm (a scalable RWLock) , supports
the following requirements:


1- It uses my SemaMonitor and a manual event object , hence
it uses less CPU ressources.

2- It scales on multicores

3- It is starvation-free

4- it is portable.


You can download all the variants of my scalable RWLock 2.1 from:

http://pages.videotron.com/aminer/


And please take a look at my new algorithm inside RWLockX.pas.




Thank you,
Amine Moulay Ramdane.





==============================================================================
TOPIC: About my scalable RWLockX
http://groups.google.com/group/comp.programming.threads/t/63ffa7a4cc53cae4?hl=en
==============================================================================

== 1 of 1 ==
Date: Mon, Jan 27 2014 4:10 pm
From: aminer



Hello,

I have to be smarter than that , i have forgot something,
since the manual event object that i am using inside
my RWLockX is not starvation-free so my algorithm is not
starvation-free, but that's easy , i have only to replace this
manual event object by my SemaMonitor that is FIFO fair hence
starvation-free.

I will also upgrade my lightweight version called
LW_RWLOCK to be starvation-free.

I will do that as soon as possible and i will put them on my website.


Please stay tuned...

Thank you,
Amine Moulay Ramdane.





==============================================================================
TOPIC: Scalable RWLock versoin 2.11
http://groups.google.com/group/comp.programming.threads/t/41d911a106ad1977?hl=en
==============================================================================

== 1 of 1 ==
Date: Tues, Jan 28 2014 8:40 am
From: aminer



Hello all,

I have updated my scalable RWLock to version 2.11...

I had to be smarter than that and i have invented a new algorithm
called RWLockX (a scalable RWLock) that is starvation-free and that
doesn't use spin-wait but it uses my portable SemaMonitor , so it
consumes less CPU ressources and it's scalable on multicores, so finally
i have designed and implemented this new algorithm called RWLockX that
supports all those requirements.

I have also upgraded my SemaMonitor so that it supports the setSignal()
and resetSignal() that work the same as setEvent() and resetEvent() of
the manual event object.

I have extensivly verified my new RWLockX algorithm and it's
stable now and i will explain it to you in the near future.

So now my new scalable RWLockX algorithm (a scalable RWLock) , supports
the following requirements:

1- It uses my SemaMonitor , hence it uses less CPU ressources.

2- It scales on multicores

3- It is starvation-free

4- it is portable.


You can download all the variants of my scalable RWLock 2.11 from:

http://pages.videotron.com/aminer/



And please take a look at my new algorithm inside RWLockX.pas.




Thank you,
Amine Moulay Ramdane.







==============================================================================
TOPIC: SemaCondvar and SemaMonitor version 1.2
http://groups.google.com/group/comp.programming.threads/t/791a93de5403df4c?hl=en
==============================================================================

== 1 of 1 ==
Date: Tues, Jan 28 2014 8:47 am
From: aminer



Hello,

I have also upgraded my SemaMonitor so that it supports the setSignal()
and resetSignal() that work the same as setEvent() and resetEvent() of
the windows manual event object, so my SemaMonitor is portable now and
you can use it as a windows event object, but it is FIFO fair and
starvation-free, the windows event object is not.


You can download my SemaCondvar and SemaMonitor 2.1 from:

http://pages.videotron.com/aminer/


Thank you,
Amine Moulay Ramdane.





==============================================================================
TOPIC: About RWLocks...
http://groups.google.com/group/comp.programming.threads/t/4b161c5de20ed8e4?hl=en
==============================================================================

== 1 of 1 ==
Date: Tues, Jan 28 2014 12:06 pm
From: aminer


Hello all,

I have said about my scalable RWLock this:


"I was thinking about my new scalable RWLock2, you have to understand
an important thing, if from the time t1 to the time t2 there is writes
and reads and from the time t2 to time t3 there is only reads, so
even if the time from t1 to t2 will add more to the overall time cause
there is write threads, the perceived throughput from time t2 to t3 will
be higher and the waiting time from t2 to t3 will be lower and this will
make my scalable RWLock useful."


I have heard that if there is frequent writes and frequent reads
you have to repLace the scalable RWLock with a lock, i think
this is not completly true, cause as i just said between time t2 and
time t3 the perceived throughput is higher and the waiting time is lower
and you can not have that with locks, so this is why my scalable RWLock
is still useful even if there is frequent writes and frequent reads.


Thank you,
Amine Moulay Ramdane.





==============================================================================
TOPIC: About my RWLockX 2.11 algorithm
http://groups.google.com/group/comp.programming.threads/t/311803584b26e92b?hl=en
==============================================================================

== 1 of 1 ==
Date: Tues, Jan 28 2014 12:40 pm
From: aminer


Hello,

I will explain my new RWLockX algorithm (a scalable RWLock)...

My previous algorithms were not starvation-free, so if you have
frequent writes the reader threads may starve for long time or starve
completly.


So i had to be smarter than that , so if you look at my
previous algorithm, read this:

http://pages.videotron.com/aminer/rwlock1.html


Inside the TRWLOCK.RLock() method i had done this:


if (FCount3^.fcount3 = 0)
then break
else
begin
LockedExchangeAdd(FCount1^[myid].fcount1,-1);
end;


So if the readers loop back so the algorithm will not
be starvation-free and if there is more writes the reader
threads may starve for a long time or starve completly.

So i had to change my previous algorithms and avoid completly the
looping back so that to avoid starvation.

And here is what i have done in my new RWLockX algorithm that
is starvation-free:

i have changed this part inside the TRWLOCK.RLock() method with this:


if (FCount3^.fcount3 = 0)
then break
else
begin
LockedExchangeAdd(nbr,1);
LockedExchangeAdd(FCount1^[myid].fcount1,-1);
event1.waitfor(INFINITE);
LockedExchangeAdd(FCount1^[myid].fcount1,1);;
LockedExchangeAdd(nbr,-1);
break;
end;


and in the write side inside the TRWLOCK.WLock() method
i have added this:

repeat;
event1.setevent;
event1.resetevent;
until nbr=0;

So that to avoid completly starvation and so that to avoid
a deadlock.

So my new scalable RWLockX algorithm supports now all the following
requirements:


1- It uses my SemaMonitor , hence it uses less CPU ressources.

2- It scales on multicores

3- It is starvation-free

4- it is portable.


You can download all the variants of my scalable RWLock 2.11 from:

http://pages.videotron.com/aminer/


Thank you,
Amine Moulay Ramdane.








==============================================================================
TOPIC: SemaCondvar and SemaMonitor...
http://groups.google.com/group/comp.programming.threads/t/08e7455fd4186afd?hl=en
==============================================================================

== 1 of 2 ==
Date: Tues, Jan 28 2014 1:36 pm
From: aminer



Hello,

I have invented my SemaCondvar and my SemaMonitor, and
i have just upgraded my SemaMonitor, my new SemaMonitor
is a combination of a Semaphore and EventCount, and it
supports also the charracteristics of a windows manual
event object and a windows automatic event object and
it is FIFO fair and starvation-free. the windows event
object is FIFO fair nor starvatoin free.. and my SemaCondvar
is a combination of a Semaphore and a Condition variable.


Here is the new interface that i have implemented:

TSemaCondvar = class
public

constructor
Create(m1:TCriticalSection;state1:boolean=false;InitialCount1:longword=0;MaximumCount1:longword=INFINITE);
destructor Destroy; override;
function wait(mstime:longword=INFINITE):boolean;
procedure signal();overload;
procedure signal_all();
procedure signal(nbr:integer);overload;
function WaitersBlocked:integer;
end;

TSemaMonitor = class
public
constructor
Create(state1:boolean=false;InitialCount1:longword=0;MaximumCount1:longword=INFINITE);
destructor Destroy; override;
function wait(mstime:longword=INFINITE):boolean;
procedure signal();overload;
procedure signal_all();
procedure signal(nbr:integer);overload;
function WaitersBlocked:integer;
procedure setSignal;
procedure resetSignal;
end;



You can download my new SemaCondvar and SemaMonitor from:

http://pages.videotron.com/aminer/



Thank you,
Amine Moulay Ramdane.






== 2 of 2 ==
Date: Tues, Jan 28 2014 1:39 pm
From: aminer


On 1/28/2014 4:37 PM, aminer wrote:
> the windows event
> object is FIFO fair nor starvatoin free..

I mean the windows event object is not FIFO fair nor starvation free..


Thank you,
Amine Moulay Ramdane.





==============================================================================
TOPIC: LW_RWLockX algorithm...
http://groups.google.com/group/comp.programming.threads/t/260238596f8e0594?hl=en
==============================================================================

== 1 of 1 ==
Date: Wed, Jan 29 2014 12:41 pm
From: aminer



Hello,


I have updated scalable RWLock to version 2.14...

I have just implemented a new LW_RWLockX algorithm (a scalable RWLock),
it is a lightweight version that uses spin-wait but it is
starvation-free and it supports the following requirements:

1- It scales on multicores

2- It is starvation-free

3- it is portable.


You can download all the variants of my scalable RWLock 2.14 from:

http://pages.videotron.com/aminer/


And please take a look at my new algorithm inside LW_RWLockX.pas
algorithm inside the zip file.




Thank you,
Amine Moulay Ramdane.






==============================================================================
TOPIC: About LW_RWLockX algorithm...
http://groups.google.com/group/comp.programming.threads/t/6812bb3e206cba5b?hl=en
==============================================================================

== 1 of 1 ==
Date: Wed, Jan 29 2014 3:22 pm
From: aminer


Hello,


I have updated scalable RWLock to version 2.15...

The previous version of LW_RWLockX algorithm had still a problem of
starvation, so i had to be smarter than that and i have come with a new
LW_RWLockX algorithm (a scalable RWLock) that is fast and that is
starvation-free, this is my final LW_RWLockX algorithm and it works for
sure and it is stable ! this scalable RWLock is a lightweight version
that uses spin-wait but it is starvation-free and it supports the
following requirements:

1- It scales on multicores

2- It is starvation-free

3- it is portable.


You can download all the variants of my scalable RWLock 2.15 from:

http://pages.videotron.com/aminer/


And please take a look at my new algorithm inside LW_RWLockX.pas
algorithm inside the zip file.




Thank you,
Amine Moulay Ramdane.




==============================================================================

You received this message because you are subscribed to the Google Groups "comp.programming.threads"
group.

To post to this group, visit http://groups.google.com/group/comp.programming.threads?hl=en

To unsubscribe from this group, send email to comp.programming.threads+unsubscribe@googlegroups.com

To change the way you get mail from this group, visit:
http://groups.google.com/group/comp.programming.threads/subscribe?hl=en

To report abuse, send email explaining the problem to abuse@googlegroups.com

==============================================================================
Google Groups: http://groups.google.com/?hl=en

No comments: