Return to search

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

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. / Idag är antalet programvaruprojekt med stort antal utvecklare distribueras överh ela världen ökar snabbt. Denna snabba tillväxt i distribuerad mjukvaruutveckling, ökar behovet av nya verktyg och miljöer för att underlätta utvecklarnas kommunikation, samarbete och samarbete. Distribuerat versionshanteringssystem,såsom Git och Bazaar, är exempel påverktyg som har utvecklats för att för bättra kvaliteten påutvecklingen i sådana projekt. Dessutom, bygga ochtesta storskalig programvara plattformsoberoende är särskilt svrt för enskilda utvecklare i en öppen källkod utvecklingsgemenskap, pågrund av deras brist påkraftfulla och mångsidiga datorresurser. Datorgridd är nätverk av IT-resurser som är geografiskt f¨ordelade och kan användas för att köra komplexa uppgifter mycket effektivt genom att utnyttja parallellitet. Men dessa system är ofta konfigurerade för molndator och användaen centraliserad struktur vilket minskar deras skalbarhet och feltolerans. En ren icke-hierarkiskt (P2P-n¨atverk) system, åandra sidan är nätverk utan en central struktur. P2P-systemen är skalbara, flexibla, dynamiskt anpassningsbar och feltolerant. Introduktion P2P och datorgridd tillsammans med mjukvaruutveckling processen kan avsevärt öka tillgången till merdatorkraft resurs genom enskilda utvecklare distribueras över hela världen. I detta examensarbete har vi utvärderat möjligheterna att integrera dessa tekniker med utveckling av programvara och tillhörande testcykel för att uppnåbättre programvara kvalitet i samhället drivs mjukvaruutveckling. Tyngdpunkten i detta projekt var på mekanismerna för överföring av data, hantering,och beroendet bland kamrater samt undersöka prestanda / overhead förhllandet mellan dessa tekniker. För vr utvärdering använde vi MoSync SoftwareDevelopment Kit (SDK), en plattformsoberoende mobil programvara lösning,som en fallstudie och utvecklat och utvärderat en prototyp f¨or distribueradutveckling av detta system. Våra mätningar visar att med hjälp av vår prototypden tid som krävs f¨or att bygga MoSync SDK är cirka sex gånger kortare änmed en enda process. Vi har också föreslagit en metod för nära optimal uppgiftf¨ordelning ¨over peer to peer nät som används f¨or att bygga och testa.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-91054
Date January 2011
CreatorsSarrafi, Ali
PublisherKTH, Kommunikationssystem, CoS
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationTrita-ICT-EX ; 164

Page generated in 0.0027 seconds