Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Now where can you use my ParallelSort library ?

7 views
Skip to first unread message

aminer

unread,
Oct 31, 2012, 6:08:10 PM10/31/12
to

Hello,

Now where can you use my ParallelSort library ?

You can use it for exemple if you want to implement an in-memory database
with my Parallel Hahslist(parallel hashtable), so if you want to do for
exemple
an SQL Select like this (or another SQL select):

select name
from titles
where price < 50

You can construct the titles table withParallel hashlist(of course you can
add
more than one table to parallel hashlist), and copy this table in an array
and
after that sort the array in parallel on the price key with my parallel sort
library ,
and after that use a binary search function to find the prices in the array
that are
lower than 50.

This is how you can use Parallel Sort library and Parallel Hashlist as
in-memory database,
and of course you have to use TCP/IP to be able to use Parallel Hahslist as
an in-memory database
server.

I have exported the two functions binsearch() and binsearch1() from Parallel
Sort library.

You can download ParallelSort library and parallel hashlist from:

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



Amine Moulay Ramdane.








aminer

unread,
Oct 31, 2012, 6:23:55 PM10/31/12
to
To construct the 'titles' table and other tables with parallel hashlist, of
course you can copy the data from a database(Access or MSQL or firebirds or
...) to parallel hashlist used as an in-memory database server.


Amine Moulay Ramdane.


"aminer" <ami...@toto.com> wrote in message
news:k6s3v0$q15$1...@dont-email.me...

aminer

unread,
Oct 31, 2012, 6:31:26 PM10/31/12
to
I wrote:
>You can construct the titles table with Parallel hashlist(of course >you
>can add more than one table to parallel hashlist), and copy >this table to
>an array and after that sort the array in parallel on >the price key with
>my parallel sort library , and after that use a >binary search function to
>find the prices in the array that are >lower than 50.


Of course when you copy the 'titles' table from parallel hashlist to
an array, you have to copy only the price key and a pointer to the object.
Hope the idea is clear.


Amine Moulay Ramdane.




"aminer" <ami...@toto.com> wrote in message
news:k6s3v0$q15$1...@dont-email.me...
>

aminer

unread,
Oct 31, 2012, 6:41:10 PM10/31/12
to

Also i have tried in this post to answer also a question by Scott Meyer:

Read his post on Sep 2 2010:

"Libraries of data structures designed to support concurrent operations and
to
scale well with the number of threads are common, e.g., ConcurrentHashMap
and
ConcurrentLinkedQueue in Java, ConcurrentQueue and ConcurrentBag in .NET,
concurrent_queue and concurrent_vector in TBB and PPL. If the comments in a
recent thread in comp.lang.c++ ( http://tinyurl.com/2ey8mta ) are
representative, however, there is considerable skepticism that such data
structures are useful and some concern that designs employing them are
almost
certainly misguided. Considerable googling on my part has failed to turn up
examples of compelling use cases for these kinds of data structures, but I
find
it hard to believe that the people at Sun, Microsoft, and Intel (among
others)
have devoted so much effort to creating libraries of data structures for
which
there is little use.

I'd be grateful if people could sketch compelling use cases for concurrent
data
structures, ideally with examples of situations in which they have been
successfully employed. Such data structures need not be lock-free (e.g.,
they
might use fine-grained locking or lock striping), but they should be
substantially more scalable than a design based on locking an entire data
structure for each access.


Thanks,


Scott


--
* C++ and Beyond: Meyers, Sutter, & Alexandrescu, Oct. 24-27 near Seattle
(http://cppandbeyond.com/)
* License my training materials for commercial (http://tinyurl.com/yfzvkp9)
or
personal use (http://tinyurl.com/yl5ka5p). "





"aminer" <ami...@toto.com> wrote in message
news:k6s3v0$q15$1...@dont-email.me...
>

aminer

unread,
Oct 31, 2012, 7:16:03 PM10/31/12
to
Hello,

If you don't want to use a binary search in my previous exemple e, don't use
it.

But in the following SQL select:

select name
from titles
where (type = 'business' or type = 'psychology')


It is better to use a binary search after you have sorted the array
with parallel sort library.

Here you can construct the titles table with Parallel hashlist(of course you
can add
more than one table to parallel hashlist) by copying, for exemple, the data
from a database to the parallel hashlist's table, and after that copy this
table to an array and after that sort the array in parallel on the type key
with my parallel sort library ,
and after that use a binary search function to find the type that
equal 'business' or equal 'psychology' etc.

This is how you can use Parallel Sort library and Parallel Hashlist as
in-memory database,
and of course you have to use TCP/IP to be able to use Parallel Hahslist as
an in-memory database
server.


Amine Moulay Ramdane.



"aminer" <ami...@toto.com> wrote in message
news:k6s3v0$q15$1...@dont-email.me...
>

aminer

unread,
Oct 31, 2012, 7:33:39 PM10/31/12
to
Hello again,

But why use my Parallel Hashlist(parallel hashtable) for exemple as an
in-memory database server ?


Read this:

"A parallel HashList with O(1) best case and O(log(n)) worst case access
that uses lock striping and lightweight
MREWs(multiple-readers-exclusive-writer) , this allows multiple threads to
write and read concurently. also parallelhashlist maintains an independant
counter , that counts the number of entries , for each segment of the
hashtable and uses a lock for each counter, this is also for better
scalability."

Cause it allows multiple threads to write and read concurently,
and it scales very well.


You can download Parallel Hashlist and Parallel Sort library
from:

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


Thank you,
Amine Moulay Ramdane.





"aminer" <ami...@toto.com> wrote in message
news:k6s3v0$q15$1...@dont-email.me...
>
0 new messages