The Challenges

So you want to build a P2P or Grid application.  Where to start?
  • First and foremost, you are writing an application, and therefore need to focus on the problem you are trying to solve, using tools and languages that are as powerful, flexible, and familiar as possible for addressing that problem.
  • Even so, you expect different parts of the program to interact with different distributed resources, and putting the parts of the program close to the resources they work with will tear your application into pieces that must communicate with one another--but until the program runs, you often can't know exactly how many resources will be available, the kind of communication support between them, or how the resources might be situated relative to one another, so you often can't know how best to split up the program or implement the communication.
  • Even if you can't know the precise resources that will be available when the application runs, you do know the kinds of resources which the application is being built to use, and the constraints that must apply to those resources. Those constraints may be related to performance or configuration, just to get the program to work correctly, or might refer to cost or security/privacy, in order to  meet the eventual end-user requirements of the application execution. When the time comes, you will want help in finding, scheduling, and paying for resources meeting those constraints.
  • Your P2P application is, in turn, a resource!  You may want to make it available to others and to be paid for it's use, especially if you must pay for the resources you are using to make it work.
Of course, you may feel that you already have other solutions to some of these issues, so a "mix and match" approach may be preferable to a "one size fits all" approach.
 

 


 
 
 

Check out some of Elepar's solutions to these challenges.