[SimGrid-user] Regarding GridSim P2P simulation

Massimo Cafaro massimo.cafaro at unisalento.it
Mon Jul 17 12:32:22 CEST 2017


Hi Martin,

our information service is partitioned into two layers. The front-end is in charge of acquiring information regarding the machine on which is running (by means of information provider threads which are run periodically), receiving users’ request in the form of SQL queries and handling the queries by passing each query to the P2P back-end. It is this layer that forwards the query to the other peers, and retransmits back the partial, intermediate results to the originator node (the one where the query was submitted). During the path back to the originator node, intermediate results are merged/processed as necessary (the specific processing depends on the query).

Therefore, my idea was to modify as required (hopefully minimal changes) the source code to use SimGrid for a large scale simulation.
In particular, I can easily avoid running the information provider threads periodically by using static information and a pre-populated database on each node in order to simplify things. Next, I need to expose to GridSim two different kinds of nodes:

1) bootstrap node: this is the node that is in charge of the P2P network (initially, until the overlay is formed); it also handles the information related to the machine on which it is running (as a P2P node);
2) P2P node: this code handles the information related to the machine on which it is running, receives a query forwarded by the bootstrap node or by another peer, processes the query locally and returns its partial results back to the node from which it received the query.

When the user submits a query to one of the nodes, she also specifies a TTL (Time To Live, say in seconds); the P2P overlay is allowed to process each incoming query for no more than the time specified using the TTL. The query is thefore submitted asynchronously, it is propagated (forward and backward) and executed by the P2P overlay on all of the nodes reached until the TTL elapses. Therefore, allowing more time allows reaching more P2P nodes in the overlay and this in turn allows obtaining more information related to the query.

I think this could be done as explained in the tutorial "SimGrid and MSG 101: Practical introduction to SimGrid and MSG”, i.e., by using a master process in charge of starting up the bootstrap node and the P2P nodes (as worker nodes). 

Thank you in advance,
Massimo



> On 17 Jul 2017, at 10:33, Martin Quinson <martin.quinson at ens-rennes.fr> wrote:
> 
> Don't be afraid by my tone. GridSim questions make me grumpy, even more before my coffee, but we are willing to help. 
> 
> Testing on SimGrid does not only give you the scale. You also get full reproducibility for free.
> 
> I'm not sure I understand how your software is organised exactly, nor the parts that you want to abstract away and the ones you want to keep in simulations.
> 
> Bye, Mt
> 
> Le 17 juillet 2017 10:01:27 GMT+02:00, Massimo Cafaro <massimo.cafaro at unisalento.it> a écrit :
> Dear Martin,
> 
> sorry for the mistake! Of course, I am interested in SimGrid. Thank you veru much for the information.
> Kind regards,
> 
> Massimo
> 
>  On 17 Jul 2017, at 09:51, Martin Quinson <martin.quinson at ens-rennes.fr> wrote:
>  
>  GridSim is http://www.buyya.com/gridsim/
>  SimGrid is our project.
>  
>  GridSim != SimGrid, obviously. Support for GridSim seems to be http://sourceforge.net/mail/?group_id=94592 (but we never got any answer from that list, even when we reported grave validity issues).
>  
>  If your question was about SimGrid (despite what is written), then I can tell you that SimGrid is already used to test the TomP2P application (http://tomp2p.net/) which shares your needs. It's written in Java so you cannot reuse any code from them. Other projects using SimGrid for that are written in C++ (but in other contexts). See http://simgrid.gforge.inria.fr/simgrid/3.17/doc/getting_started.html (page bottom).
>  
>  SimGrid is usable for what you want, but I think that you will have to rewrite some parts of your application to make it fit within the simulator.
>  
>  We are willing to help, provided that you stop speaking of GridSim ;)
>  
>  Bye, Mt.
>  
>  PS: please keep the user mailing list in CC.
>  
>  ----- Mail original -----
>  Dear Martin,
>  
>  thank you for your quick reply. I am a bit confused by your answer, I was
>  only asking if GridSim can handle or not a specific scenario that I have
>  described: I will not need any further help if GridSim can handle it (yes, I
>  will RTFM and write the code all by myself) ;-)
>  
>  Kind regards,
>  Massimo
>  
>  On 17 Jul 2017, at 09:21, Martin Quinson <martin.quinson at ens-rennes.fr>
>  wrote:
>  
>  Hello,
>  
>  We are the authors of SimGrid, and thus cannot help you with GridSim...
>  
>  Mt
>  
>  Le 17 juillet 2017 08:56:51 GMT+02:00, Massimo Cafaro
>  <massimo.cafaro at unisalento.it> a écrit :
>  Dear all,
>  
>  I am writing to ask you a question regarding GridSim. We have developed a
>  P2P Information Service and we would like to experiment with scaling using
>  GridSim (right now we have simulated several thousands of P2P nodes on a
>  workstation, and we would like to simulate hundreds of thousands of nodes
>  and, if possible, millions). Our software distinguish between a bootstrap
>  peer node (identified by its hostname IP and port pair) and peer nodes
>  (again, each peer is identified by its hostname IP and port pair). Will it
>  be possible to use GridSim for our experiments without modifying our
>  information service underlying P2P protocol? For instance, will it be
>  possible in GridSim to use the same 127.0.0.1 IP address and to
>  distinguish peers and bootstrap node by their port ?
>  
>  I fully understand that your answer may simply be that I need to rewrite
>  the underlying P2P protocol to use the GridSim API. However, this will
>  require a huge effort since the software is not a proof of concept or a
>  prototype, it is a real production-level software (80K lines of C/C++
>  source code). I can modify the software to run as a plug-in in GridSim or
>  I can expose a few functions callable from GridSim however.
>  
>  Please let me know at your earliest convenience if is there any solution to
>  this problem. Otherwise, I will have to rent a cloud system and run the
>  software on its nodes to test its scaling characteristics :-(
>  
>  With kind regards,
>  Massimo Cafaro
>  
>  
>  -
>  
>  ************************************************************************************
>  
>  Massimo Cafaro, Ph.D.
>  Associate Professor
>  Dept. of Engineering for Innovation
>  University of Salento, Lecce, Italy
>  Via per Monteroni
>  73100 Lecce, Italy
>  Voice/Fax  +39 0832 297371
>  Web  http://sara.unisalento.it/~cafaro
>  E-mail massimo.cafaro at unisalento.it
>  cafaro at ieee.org
>  cafaro at acm.org
>  
>  CMCC Foundation
>  Euro-Mediterranean Center on Climate Change
>  Via Augusto Imperatore, 16 - 73100 Lecce
>  massimo.cafaro at cmcc.it
>  
>  ************************************************************************************
>  
>  
>  
>  
>  
>  --
>  Envoyé de mon téléphone. Veuillez excuser ma brièveté.
>  
>  
>  
>  -
>  
>  ************************************************************************************
>  
>  Massimo Cafaro, Ph.D.
>  Associate Professor
>  Dept. of Engineering for Innovation
>  University of Salento, Lecce, Italy
>  Via per Monteroni
>  73100 Lecce, Italy
>  Voice/Fax  +39 0832 297371
>  Web  http://sara.unisalento.it/~cafaro
>  E-mail massimo.cafaro at unisalento.it
>  cafaro at ieee.org
>  cafaro at acm.org
>  
>  CMCC Foundation
>  Euro-Mediterranean Center on Climate Change
>  Via Augusto Imperatore, 16 - 73100 Lecce
>  massimo.cafaro at cmcc.it
>  
>  ************************************************************************************
>  
>  
>  
>  
>  
> 
> 
> 
> - 
> 
> ************************************************************************************
> 
>  Massimo Cafaro, Ph.D.
>  Associate Professor                                                            
>  Dept. of Engineering for Innovation            
>  University of Salento, Lecce, Italy               
>  Via per Monteroni                                                   
>  73100 Lecce, Italy                                 
>  Voice/Fax  +39 0832 297371                    
>  Web  http://sara.unisalento.it/~cafaro                                                                 
>  E-mail massimo.cafaro at unisalento.it
>  cafaro at ieee.org
>  cafaro at acm.org
> 
>  CMCC Foundation
>  Euro-Mediterranean Center on Climate Change
>  Via Augusto Imperatore, 16 - 73100 Lecce
>  massimo.cafaro at cmcc.it
> 
> ************************************************************************************
> 
> 
> 
> 
> 
> -- 
> Envoyé de mon téléphone. Veuillez excuser ma brièveté.



- 

************************************************************************************

 Massimo Cafaro, Ph.D.
 Associate Professor                                                            
 Dept. of Engineering for Innovation            
 University of Salento, Lecce, Italy               
 Via per Monteroni                                                   
 73100 Lecce, Italy					                            
 Voice/Fax  +39 0832 297371 				               
 Web  http://sara.unisalento.it/~cafaro                                                                 
 E-mail massimo.cafaro at unisalento.it
 cafaro at ieee.org
 cafaro at acm.org

 CMCC Foundation
 Euro-Mediterranean Center on Climate Change
 Via Augusto Imperatore, 16 - 73100 Lecce
 massimo.cafaro at cmcc.it

************************************************************************************




-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2155 bytes
Desc: not available
URL: <http://lists.gforge.inria.fr/pipermail/simgrid-user/attachments/20170717/df5625b3/attachment-0001.bin>


More information about the Simgrid-user mailing list