Recent

Author Topic: About my scalable RWLock  (Read 2513 times)

aminer

  • Hero Member
  • *****
  • Posts: 956
About my scalable RWLock
« on: September 17, 2013, 11:42:04 pm »

Hello,

But i have something to add to what i wrote in my algorithm
explanation, so if you have noticed in the "writers" side , each
writer verifies if all the  FCount1^.fcount1 equal to zero ,
so you will say that my algorithm have a weakness in the writer
side since every writer must transfer many cache lines so it
will be slow, but be smart please and  imagine that we have 100 cores,
and you have to start 100 threads , so when a writer will enter
the RWlock() method it will set all the  FCount1^.fcount1 to zero
in its corresponding core,  and since every FCount1^.fcount1
resides in a core , so i think as soon a writer will finish to verify the
first FCount1^.fcount1 may other FCount1^.fcount1 may have been
decremeted to zero , so this will make the writer side faster , so
i think my algorithm will still be fast on both the reader and the writer
and it will be scalable. Other that that if you have 100 cores you can
start fewer than 100  threads and make also my algorithm faster
in the "writers" side , so this will also make my algorithm faster
on both the readers and the writers and my algorithm will be scalable.


Please read here about my scalable RWLock algorithm:

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


Amine Moulay Ramdane.

aminer

  • Hero Member
  • *****
  • Posts: 956
Re: About my scalable RWLock
« Reply #1 on: September 17, 2013, 11:46:29 pm »
I correct please read again:

Hello,

But i have something to add to what i wrote in my algorithm
explanation, so if you have noticed in the "writers" side , each
writer verifies if all the  FCount1^.fcount1 equal to zero ,
so you will say that my algorithm have a weakness in the writer
side since every writer must transfer many cache lines so it
will be slow, but be smart please and  imagine that we have 100 cores,
and you have to start 100 threads , so when a writer will enter
the RWlock() method it will set all the  FCount1^.fcount1 to zero
in its corresponding core,  and since every FCount1^.fcount1
resides in a core , so i think as soon a writer will finish to verify the
first FCount1^.fcount1 many other FCount1^.fcount1 may have been
decremeted to zero , so this will make the writer side faster , so
i think my algorithm will still be fast on both the reader and the writer
and it will be scalable. Other that that if you have 100 cores you can
start fewer than 100  threads and make also my algorithm faster
in the "writers" side , so this will also make my algorithm faster
on both the readers and the writers and my algorithm will be scalable.


Please read here about my scalable RWLock algorithm:

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


Amine Moulay Ramdane.

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: About my scalable RWLock
« Reply #2 on: September 18, 2013, 08:55:40 am »
Sorry, TL;DR.

Just my opinion, but you might try
- removing the italic formatting
- correcting whichever original post you're talking about
- and/or keeping the text to a short announcement and give details on the site where your download is.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

 

TinyPortal © 2005-2018