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