Peer to Peer Grid for Software Development : Improving community based software development using community based grids

University essay from KTH/Kommunikationssystem, CoS

Abstract: Today, the number of software projects having large number of developers distributed all over the world is increasing rapidly. This rapid growth in distributed software development, increases the need for new tools and environments to facilitate the developers’ communication, collaboration and cooperation. Distributed revision control systems, such as Git or Bazaar, are examples oftools that have evolved to improve the quality of development in such projects. In addition, building and testing large scale cross platform software is especially hard for individual developers in an open source development community, dueto their lack of powerful and diverse computing resources.Computational grids are networks of computing resources that are geographically distributed and can be used to run complex tasks very efficiently by exploiting parallelism. However these systems are often configured for cloud computing and use a centralized structure which reduces their scalability and fault tolerance. Pure peer-to-peer (P2P) systems, on the other hand are networks without a central structure. P2P systems are highly scalable, flexible, dynamically adaptable and fault tolerant. Introducing P2P and grid computing together tothe software development process can significantly increase the access to more computing resource by individual developers distributed all over the world. In this master thesis we evaluated the possibilities of integrating these technologies with software development and the associated test cycle in order to achieve better software quality in community driven software development. The main focus of this project was on the mechanisms of data transfer, management, and dependency among peers as well as investigating the performance/overhead ratio of these technologies. For our evaluation we used the MoSync Software Development Kit (SDK), a cross platform mobile software solution, as a case study and developed and evaluated a prototype for the distributed development of this system. Our measurements show that using our prototype the time required for building MoSync SDK’s is approximately six times shorter than using a single process. We have also proposed a method for near optimum task distribution over peer to peer grids that are used for build and test.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)