Weekly News 2002-11-24
Mnet Hack Day
There was no social Mnet Hack Day on 2002-11-24, but some of the Mnet hackers met at a coffeeshop in New York to work on their mysterious schemes for world liberation, and others did some independent Mnet hacking, alone, crouched over their computers in their attic workshops, underground bunkers, or Berlin flats.
Tschechow committed some fixes to the File Verifier and the BlockWrangler. He also added a new feature: the ability to cancel a running download. The user interface has not yet been changed to make this feature available to users.
Tschechow sent a message to the mnet-devel list that he is going to start posting daily stats about the number and kind of nodes connected to Mnet. These stats will probably include the IP address and the operating system of each node! The Mnet team cares very much about users' privacy, and we believe that the responsible way to protect privacy is to make users aware of exactly how much privacy they do or do not have so that they can make appropriate decisions. Until a more sophisticated introduction system is put in place (see "Khashmir" below), any Node on Mnet can gain this kind of information about any other Node, and users should be aware of that.
There was casual agreement among the Mnet hackers to adopt the coding standards from the Twisted project.
Progress on the Great Re-organization which will eventually be Mnet v0.7 continues at a slow but steady pace. All elements of the code which are considered "old", "crufty", or "solely for backwards compatibility" are being deleted. The process of installation and compilation is completely rewritten using the Python standard "distutils" system. All code is being reformatted to fit the new coding standards. All new features, bugfixes, and improvements which are added to the v0.6 branch are being ported to the v0.7 branch. Myers continues to be the lead on the Great Re-Org.
Artimage has been working on integrating the Khashmir DHT into Mnet. We like Khashmir because (a) It is based on the sophisticated and elegant Kademlia DHT ("DHT" stands for "Decentralized Hash Table"), (b) It (Khashmir) is written by Evil Genius alumnus Drue Lowenstern, who volunteers some of his time to help us with integration, (c) It is written in Python, (d) It uses the Twisted framework. No matter how much we like Khashmir, though, we have been careful to write all code to a simple "lookup service" interface so that similar services can be plugged in without requiring any change to the Mnet code. (Such services include Khashmir, other DHTs, any service which satisfies the Tristero/cp2pc interfaces, possibly the old AZI MetaTracker for backwards compatible changeover, etc.)
Mnet continues to use way too much memory, both during file downloading and during file verification (an operation which only Content Trackers perform). "Too much" here means "too many hundreds of megabytes". Tschechow and Zooko have been investigating this behavior.
(This is a hold-over from last week's Mnet Weekly News. There are plenty of other jobs that need to be done, as can be seen in the bugs db and the tasks db, but this one seems like a particularly fun job because it doesn't require deep knowledge of Mnet components, and because it directly effects the most important performance measure: how quickly the Mnet node can download complete files from Block Servers.)
Mnet has a download system with two components. One component, named BlockWrangler, manages all of the logic which is required to have a correct download. The other component, named BlockWranglingStrategy, gets to make "strategic", or heuristic, decisions about which kind of peers you prefer to download from first, and how many simultaneous downloads you want to initiate. The current BlockWranglingStrategy is named "GSR" for Greedy, Simple, Random. It was intended mostly as a placeholder while developing the BlockWrangler, but it works well enough that people continue to use it. However, it has several serious shortcomings. I encourage people to write their own BlockWranglingStrategies and submit them for inclusion in the distribution. Details in a message to the mnet-devel list.
This web site is licensed under a Creative Commons License.