Document Type

Report

Date

10-1-2010

Embargo Period

1-27-2011

Keywords

Networks, Peer-to-Peer, Concurrency, Software Transactional Memory

Language

English

Disciplines

Electrical and Computer Engineering

Description/Abstract

Peer-to-Peer network topologies are such that there is no centralized server in a distributed system but rather each peer is part server and part client. This idea was originally popularized with peer-to-peer file sharing. If one were to distribute computation on a peer-to-peer network topology, consistency of shared data among peers is a problem. Software Transactional Memory (STM) is a lock free mechanism of assuring consistency of memory among threads of execution that has favorable performance over locked methods when the number of threads is large. This paper presents a method to use STM methods with a peer-to-peer network architecture that doesn't use locks. This is accomplished by using peer-to-peer search using two keywords: one for the variable name and the other for the most recent version of the variable. The technique of using Hilbert Space Filling Curves to map from the keyword space to the identifier space without flooding from Squid [2] is used. Deadlocks are prevented by executing reads and writes with a defined partial order that is transparent to the developer. As an example of using the methods presented, a blocking queue is built from the primitives provided.

Additional Information

SYR-EECS-2010-03

Source

local input

 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.