Tien Tuan Anh Dinh wrote:
I am looking forward to using it, but has one question about the FreePastry simulation though. It seems to simulate Pastry at the overlay level instead of packet-level like ns-2 tool. Can i ask if you know any researches/studies that use FreePastry simulator ? I would like to see what measurement we can get
We've validated some protocols at scale for publications, but we had to compare the simulator results with modelnet to show the limitations of the simulator. Though the FP simulator was able to handle 2 magnitudes more nodes.

from using such overlay simulator: overlay hop-counts, physical hop-counts, ..?

In our simulator, you can simulate overlay hop-counts, but not physical hop 
counts.

The main thing I use the simulator is to verify that an application will work at scale and with churn. The tap interface lets you see every message sent/received. So, you can determine messages/second per node and latency. Another use of the simulator is to test how some of the protocols such as scribe behave with different policies. For example, how deep the scribe tree gets, or how much caching occurs in Past.

And by the way, how long would it take to run a simulation consisting of 100K nodes ?
It depends what you want to do, for some tasks, I recall that it can run at real-time with 100K nodes. It's the memory that ultimately leads to the limitation.

Let us know if you have more questions!
Thanks!
-Jeff

Thanks,
Anh.

Jeff Hoye wrote:
If you are looking for a structured p2p overlay to build distributed applications, try FreePastry! (http://www.freepastry.org/)

FreePastry is a open source (BSD like), modular, Java implementation of the Pastry overlay. We just released version 2.0 which has a lot of performance features including a much more compact serialization than Java Serialization. We've done extensive testing on the Internet, and FreePastry comes with a discrete event simulator that has been optimized and can support 10K-100K nodes on a beefy machine. We've done a lot of work to make stronger routing consistency guarantees than most other p2p overlays. NAT support is currently limited to users who can set up port forwarding, or have UPnP, but some of our users are investigating integration STUN to expand this capability.

Cheers!
-Jeff

Changes since release 2.0beta2

    * Documentation:
          o Diagrams -- see docs/visio/ in the source distribution
o Wireshark dissector. Thanks David Dugoujon -- see tools/wireshark/ in the source distribution. Note: the FreePastry wireshark dissector is licensed under the GPL, not FreePastry's BSD-like license o Protocol Specification -- see docs/ProtocolSpec.txt in the source distribution
    * Minor bug fixes.

Changes since release 2.0beta

    * Depends on Java 1.5 to use new features
* Numerous Bug Fixes, Performance Optimizations, Documentation improvements.
    * Tap interface for simulator: see SimulatorListener
    * Routing Consistency works much better
          o Lots of evaluation on PlanetLab
o Note:The PeriodicLeafSetProtocol is very low bandwidth and provides routing consistency in almost all situations other than network partitions. However, the accuracy of the LeafSet is most accurate near the center. This is because leafset changes are gossiped. With the default setup, changes to the leafset may take over 4 minutes to propagate to all nodes. However, your nearest neighbor to the left and right are guaranteed to be accurate. o Note:The node may go ready and not ready depending on lease validity. Not ready means that the node will not accept routing messages. This is necessary to guarantee routing consistency. To find out if you are ready, you can call PastryNode.isReady(), or register yourself as an Observer of the PastryNode. You can expect a value of true when the node goes
ready, and a value of false when it goes not-ready.
    * Better support of NATs:
          o Integration of optional UPnP provider: SBBI's UPNPLib
o EpochInetSocketAddress supports a list of IP addresses to work properly with NATs that don't support hairpinning. * FreePastry will scan the working directory for user.params to override the freepastry.params file in the jar

Changes since release 1.4.4

* Elimination of Java Serialization. Is reverse compatible with the code of previous version, but the protocol is not reverse compatible. Your application needs to implement rice.p2p.commonapi.rawserialization.RawMessage to gain the benefits of non-java
serialization.
* See docs/ProtocolSpec.txt for the definition of the protocol. Now FP can be ported to other languages... * Application level sockets. Applications can now use their own socket which will be properly source-routed. This allows applications to handle their own end-to-end communication for large messages and flow control. See rice.tutorial.appsocket for an
example of how to use this feature.
* Application and Endpoint can be registered later to remove implicit registration that caused synchronization bugs during startup. In other words, Node.registerApplication() was replaced with buildEndpoint() and you must call Endpoint.register() after
you application has initialized its member variables.
    * Various other improvements.

_______________________________________________
p2p-hackers mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/p2p-hackers

_______________________________________________
p2p-hackers mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/p2p-hackers
_______________________________________________
p2p-hackers mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/p2p-hackers

Reply via email to