Recent

Author Topic: Now where can you use my ParallelSort library ?  (Read 4158 times)

aminer

  • Hero Member
  • *****
  • Posts: 956
Now where can you use my ParallelSort library ?
« on: October 31, 2012, 10:08:36 pm »

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

  • Hero Member
  • *****
  • Posts: 956
Re: Now where can you use my ParallelSort library ?
« Reply #1 on: October 31, 2012, 10:23:01 pm »



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

  • Hero Member
  • *****
  • Posts: 956
Re: Now where can you use my ParallelSort library ?
« Reply #2 on: October 31, 2012, 10:30:25 pm »

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

  • Hero Member
  • *****
  • Posts: 956
Re: Now where can you use my ParallelSort library ?
« Reply #3 on: October 31, 2012, 10:43:36 pm »

Hello,

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

Read his post  posted comp.programming.threads 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

  • Hero Member
  • *****
  • Posts: 956
Re: Now where can you use my ParallelSort library ?
« Reply #4 on: October 31, 2012, 11:14:22 pm »


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

  • Hero Member
  • *****
  • Posts: 956
Re: Now where can you use my ParallelSort library ?
« Reply #5 on: October 31, 2012, 11:33:21 pm »

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.

 
 




 

TinyPortal © 2005-2018