Parallel and Distributed Computing
                         BOINC Grid Implementation

        resource-sharing rules. Those rules need to make             else users will eventually evade the security in...

                                                              time. Unlike the Client-Server approach, P2P systems

  These kind of issues will probably never be solved      Applying the three point checklist: Follow...

                                                          Collective Layer: The Collective layer con...

    •   Agreement Protocol: The system should inform
        the clients of their advance reservation status, and

                                                                   Manage their states;

[12] Grid      Engine       Project,      http://gridengine.sunsource.net,
    SunSource.net, Sun, June 6, 2009
[13] ...
Upcoming SlideShare
Loading in …5

"Parallel and Distributed Computing: BOINC Grid Implementation" por Rodrigo Neves, Nuno Mestre, Francisco Machado e João Lopes


Published on

Trabalho de Sistemas Paralelos e Distribuidos : "Parallel and Distributed Computing: BOINC Grid Implementation" por Rodrigo Neves, Nuno Mestre, Francisco Machado e João Lopes

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

"Parallel and Distributed Computing: BOINC Grid Implementation" por Rodrigo Neves, Nuno Mestre, Francisco Machado e João Lopes

  1. 1. 1 Parallel and Distributed Computing BOINC Grid Implementation ˜ Rodrigo Neves, Nuno Mestre, Francisco Machado, and Joao Lopes Abstract—With the development of communications and Internet, distributed computing became an everyday reality for everyone rather than just for a limited group of IT specialists and investors. This development allowed the emerging of several new computational concepts, some even at the cost of non-consensus. This paper intends to make a brief approach at some of the current paradigms like cloud and grid computing, peer-to-peer and client-server methods. Afterwards, it will go deeper into a detailed review of the Public Resource Computing concept and the BOINC software implementation. Finally, a case study on the Extended BOINC System created by Søttrup and Pederson [18] will present a simple solution to integrate the concepts of PRC and Grid in order to provide simple, scalable, volunteer based computer power to process QoS dependent jobs. Index Terms—parallel computing, distributed computing, grid computing, cloud computing, client server, peer to peer, boinc, extended boinc, public resource computing, quality of service ! 1 I NTRODUCTION work hardware, operating systems and programming languages, the term middleware has been created. It is D ISTRIBUTED systems have been given many defini- tions throughout the years but none of these has been consistent with each other. a software layer that provides abstraction, setting up a uniform computational model for software developers to As Andrew S. Tanenbaum and Maarten van Steen work on. One of the most widespread middleware soft- suggested [1]: wares available is the Common Object Request Broker (CORBA) [2]. A distributed system is a collection of independent computers that appears to its users as a single coherent system. 2 I MPORTANT C ONCEPTS The first part of this definition deals with hardware In order to better understand the remaining of this while the second focus specially on software. paper, it might be interesting to clear up some technical Distributed systems must present a transparent work- nomenclature in the Parallel and Distributed Systems flow to the user regardless of the differences in hardware environment. and communication methods throughout the connected • Servers: Typically high-powered workstations, computers. Other important characteristics of these sys- minicomputers or mainframes that hold the infor- tems are the ease of scalability and the high availability. mation and provide it to clients through request Such systems should easily connect users to resources handling; while hiding the fact that these may be distributed across • Clients: Computers or mainframes that request a network. It should also be open and respect the avail- services from the servers; able standards in order to facilitate future development • API: An Application Programming Interface is a and scalability and ensure the data and communication tool used to provide the end-user with an abstract security. All these specific issues shall be addressed in set of operations. Its main attraction is the ability further detail later on this paper. to hide from the user the implementation of such In order to create the illusion of a single system operations; both at high-level, for users, and at low-level, for net- • SDK: The Software Development Kit is typically a set of development tools that allows a software • R. Neves is with MIEET, Departmento de Engenharia Electr´ nica e o Inform´ tica, Faculdade de Ciˆncia e Tecnologia, Universidade do Algarve. a e engineer to create applications for a certain software E-mail: a25067@ualg.pt package. Usually a SDK implements an API; • N. Mestre is with LEI, Departmento de Engenharia Electr´ nica e In- o • Middleware: A software layer that conceals all form´ tica, Faculdade de Ciˆncia e Tecnologia, Universidade do Algarve. a e E-mail: a28997@ualg.pt the heterogeneity in a system in order for software • F. Machado is with LEI, Departmento de Engenharia Electr´ nica e In- o developers to easily work on; form´ tica, Faculdade de Ciˆncia e Tecnologia, Universidade do Algarve. a e • Query Languages: Techniques and protocols to get E-mail: a28994@ualg.pt • J. Lopes is with LEI, Departmento de Engenharia Electr´ nica e Inform´ tica, o a the sough information being the most famous the Faculdade de Ciˆncia e Tecnologia, Universidade do Algarve. e Structured Query Language (SQL); E-mail: a27981@ualg.pt • Virtual Organization: A dynamic set of individ- uals and/or institutions defined by a batch of
  2. 2. 2 resource-sharing rules. Those rules need to make else users will eventually evade the security in favor perfectly clear just what is shared, who is allowed of productivity. to share, and the conditions under which sharing occurs [9]; 3.3 Scalability • Public Resource Computing: Usually known as Scalability is one of the most important design goals for PRC, this concept describes the idea of getting any- developers in distributed systems. According to Clifford body with an Internet connection and spare com- Neuman [5], a system’s scalability may be weighted pute power to donate CPU cycles on their computer along three main dimensions: for a greater project. • Size: Whether it is simple to add more users and resources to the system or not; 3 D ISTRIBUTED S YSTEMS C HALLENGES • Geographical: Regarding the location of users and 3.1 Connecting Users and Resources / Concurrency resources; Resource sharing and distribution in any given multi- • Administration: Ease to manage the system even user system is always a main concern. In the case of dis- when it is shared by multiple administrative orga- tributed systems this task becomes of utter importance. nizations. In a distributed system, both applications and services As a system scales up, in any of these three dimen- provide resources that can be shared among clients. sions, it may exhibit problems that could affect perfor- These usually allow multiple client requests to be ac- mance. cepted even though they may be processed one at a time. Size scalability problems are related with the increased If we consider each resource being encapsulated as amount of users and their demands. Such situation an object and the requests being treated as concurrent occurring on centralized services, data and algorithms threads, it becomes clear that any application or service will eventually create a bottleneck at the server. must be carefully managing this concurrency in order to Geographical scaling problems are usually related to avoid inconsistent results and/or deadlocks. the connectivity limitations of the communications. In Though at a first glance this situation may require wide-area networks, access to information is usually careful analysis and programming, it’s cost effectiveness made through unreliable connections and virtually al- may become obvious when sharing expensive resources ways a point-to-point connection. like high performance processing and data structures. Administrative scalability issues often relate to mul- tiple domain trustworthy security certificates. As more 3.2 Transparency / Heterogeneity organizations join the network, strict administration and One of the major concepts and advantages of distributed management protocols must be defined as all included systems is the transparency. It allows a user to access parts should play an active role in this processes. all resources and data that may be scattered around a network, without having to worry where these are 3.4 Security actually located. This may prove to be a problem when Usually, the information resources available and main- an virtually infinite combination of hardware resources tained in a distributed system have a high intrinsic and operating systems are involved. This ability to pro- value to the users, therefore the security of that data is vide transparency within all the heterogeneity of the dis- considerably important. tributed system is usually implemented by a middleware There are three main security components that should software layer as described on the introduction. be taken into consideration: The concept of transparency may be applied to many • Confidentiality: Protection against unauthorized aspects of distributed systems [1]: accesses; • Access: Hide differences in data representation and • Integrity: Protection against unauthorized alter- how a resource is accessed; ation or corruption; • Location: Hide where a resource is located; • Availability: Protection against disruption of the • Migration: Hide that a resource may move to communication with the resources. another location; Preventive actions should be taken in order to ensure • Relocation: Hide that a resource may be moved to this security parameters, like the use of a firewall and another location while in use; careful code development. • Replication: Hide that a resource is replicated; • Concurrency: Hide that a resource may be shared by several competitive users; 3.5 Openness • Failure: Hide the failure and recovery of a resource; According to Kazi Farooqui, Luigi Logrippo and Jan de • Persistence: Hide whether a (software) resource is Meer [3], openness is the combination of the previous in memory or on disk; stated characteristics. Sometimes however, it is generi- • Security: Negotiation of secure access to resources cally referred to as the level of respect for standards that must require a minimum of user intervention, or define the syntax and semantics of the provided services.
  3. 3. 3 time. Unlike the Client-Server approach, P2P systems rely on an agglomeration of applications and systems al- together in order to have access to distributed resources on a decentralized way. In terms of maintenance costs, P2P has the edge over Client-Server since the contents and systems are maintained individually by each peer. P2P systems can be categorized into three main groups: centralized, decentralized and hybrid implemen- tations. The centralized P2P concept bases its implementation on a central server that executes simple generic functions for the system, like work load scheduling and result validation. Decentralized P2P systems rely completely on the peers themselves to perform all the functions without Fig. 1. Generic client-server environment intervention of centralized servers. In these cases, all the result validation and communication must be handled by each node and coordinated with its peers. This important concept, despite of the interpretation, Hybrid systems are a bit of a mix between the pre- provides the developers with the needed flexibility to vious two implementations. These bring up the concept add, configure and integrate new components and ser- of super-nodes, made of several regular nodes, which vices. Also, this flexibility ensures that the addition and are responsible of the centralized work while it’s con- removal of components can be made without affecting stituents can still work on the regular decentralized way. the stability of the overall system. 4.3 Cloud Computing 4 D ISTRIBUTED S YSTEM M ODELS A Distributed System is a set of loosely coupled re- Nowadays, data storage and programs are being swept sources interconnected by a communication network. from the desktop computers and corporate server rooms [4] and installed in the computer cloud. Cloud computing emerges from the lesser need of the users to have applications installed on their machines due to increased 4.1 Client-Server communications speed and availability. Client-Server is a particular type of distributed systems Every operating system update cascades into a batch design that clearly distinguishes the relationship be- of time and resource consuming software revisions. Out- tween two computers. The Server provides some kind of sourcing computation through Internet based services service, such as processing database queries or sending significantly reduces these costs while offering a whole out current stock prices. The client uses the services that new set of advantages like mobility and cooperation. are provided by the server, either displaying database The amount of services and applications provided in query results to the user or making stock purchase the cloud is growing every day and cannot be considered recommendations to an investor. as a bunch of simple tools anymore. Companies are The communication that occurs between the client and starting to acquire cloud based services for every kind the server must be reliable. That is, no data can be of managerial and business oriented tasks. dropped and it must arrive on the client side in the Growing voices of worry have been expressing their same order in which the server sent it. In order to ensure concerns about data privacy and confidentiality not tak- the reliability between Server and Client the communi- ing the service’s privacy policies as creditable enough. cation uses the TCP/IP protocols. The Internet Protocol One famous scenario used as argument is cited by Hayes (IP) suite is a set of communication tools that regulate [17]: communication on the Internet and most commercial (...) a government agency presents a subpoena or networks. The Transmission Control Protocol (TCP) is search warrant to the third party that has posses- one of the core protocols of this suite. Using TCP, clients sion of your data. If you had retained the physical and servers can create connections to one another, over custody, you might still have been compelled to which they can exchange data in packets. surrender the information, but at least you would have been able to decide for yourself whether or 4.2 Peer-To-Peer not to contest the order. The third-party service The concept of Peer-To-Peer communication, also known is presumably less likely to go to court on your as P2P, is based on the idea that each individual node behalf. In some circumstances you might not even (peer) in the network is both client and server at the same be informed that your documents have been released.
  4. 4. 4 These kind of issues will probably never be solved Applying the three point checklist: Follow- in time to stop or control the growth of the cloud as ing there are some practical examples to help us make we see major software developers and investors (Apache the concept of grid clear, according to Ian Foster’s three Foundation, Amazon, Adobe, Google, IBM, etc.) trying point checklist. to keep up with the evolutionary pace. • Sun Grid Engine: The Grid Engine project is an open source commu- 4.4 Grid Computing nity effort to facilitate the adoption of distributed 4.4.1 Definition computing solutions. [12] The term grid was first used as a metaphor to the This system delivers quality of service when in- electric power grid. The intended idea was that access stalled on a parallel computer or local area network. to computation and data should be as easy, pervasive However, its complete knowledge of system states and standard as plugging in an appliance into an outlet. and user requests, as well as control over individual Nowadays it is hard to find a consensual definition. Here components, implements a centralized management are some from the most referred authors: system that makes this system fail the first point of Foster’s checklist. A computational grid is a hardware and software • The Web: The Web is open and its general-purpose infrastructure that provides dependable, consistent, protocols support access to distributed resources, pervasive and inexpensive access to high-end however it fails to coordinate those resources to computational capabilities. [6] deliver interesting quality of services. • TeraGrid: Computational grid is the technology that enables TeraGrid is an open scientific discovery infrastruc- resource virtualization, on-demand provisioning and ture combining leadership class resources at eleven service (resource) sharing between organizations. [7] partner sites to create an integrated, persistent com- putational resource. [13] Grid computing has the ability, using a set of This system integrates resources from multiple insti- open standards and protocols, to gain access to tutions, each with their own policies, uses open and applications and data, processing power, storage general-purpose protocols to negotiate and manage capacity and a vast array of other computing sharing and addresses multiple quality of service resources over the Internet. A grid is a type of dimensions, therefore fully fits Ian Foster’s three- parallel and distributed system that enables the point checklist. sharing, selection and aggregation of resources distributed across ”multiple” administrative 4.4.2 Usual Features domains based on their (resources) availability, In this section we thrive to describe in detail some of capacity, performance, cost and users’ quality-of- the most important features usually associated with the service requirements. [8] grid computing method. Volunteer Computing: Most grids use vol- The problem that underlines the Grid concept is unteer resources, that is, resources contributed to the coordinated resource sharing and problem solving in grid by anonymous individuals or organizations with dynamic, multi-institutional virtual organizations. no profit intended. [9] Geographically dispersed: Due to its archi- tecture and volunteer characteristic some grid resources Although we can find some common ground, like re- can be spread throughout the globe. source sharing and processing power, these are features Idle Resources: One of the benefits of using not only of a grid computing system but of any kind grid computing is that you can exploit resources with of distributed system. Due to the lack of consensus and low usage rates because in most organizations, there are the use of the term ”grid” as a marketing slogan (science large amounts of under utilized computing resources. Most grid, access grid, knowledge grid, bio grid, campus grid, desktop machines are busy less than 5% of the time over a commodity grid, etc.), Ian Foster suggested a checklist to business day [14]. define what is and is not a grid in his paper ”What is Inexpensive: Either through volunteering the grid? A three point checklist” [11]: or by using idle resources within a company, usually A grid is a system that: it’s possible to reach a considerable computational per- 1) coordinates resources that are not subject to formance without major investments in supercomputers centralized control (...) or clusters. 2) (...) using standard, open, general-purpose pro- tocols and interfaces (...) 4.4.3 Architecture 3) (...) to deliver nontrivial quality of service. In an effort to standardize grid architectures, I. Foster, C. Kesselman and S. Tuecke [9] presented an open five-layer
  5. 5. 5 Collective Layer: The Collective layer con- tains protocols and services, like APIs and SDKs, which are not associated with specific resources but global in nature, and capture interactions across collections of resources. Meaning that, at this layer, individual resource architectures and functionalities are abstracted in order to provide collective functions that can be implemented as persistent services with associated protocols, or as SDKs and APIs, designed to be linked to applications. Application layer: This is the final layer, therefore it is responsible to provide the end user with an Fig. 2. Layered Grid Architecture abstract interface that includes the user applications and functionalities that operate within a Virtual Organization environment. These applications are constructed using services defined at any layer. structure (Application, Collective, Resource, Connectiv- ity and Fabric layer) based on the ”hourglass model” [10]. 4.5 Quality of Service In this architecture the narrow neck, represented by In the multimedia communities, Quality of Service (QoS) the Resource and Connectivity layers, defines a small set issues are geared to provide a client with an acceptable of protocols onto which many high-level behaviors, used level of presentation quality when accessing content. by the Application and Collective layer, can be mapped Network QoS deals specifically with providing certain (the top of the hourglass). On the other hand, the ”neck” quality levels for network link characteristics between protocols can themselves be mapped onto many different two points. These characteristics are expressed in terms underlying technologies (the base of the hourglass, the of delay, jitter, packet loss rate and throughput. Fabric layer) (Figure 2). Unlike multimedia and network QoS, Grid QoS re- Fabric Layer: This layer provides the re- quires a central information service for up-to-date infor- sources to which shared accesses are mediated by Grid mation on resources available for use by others. Such protocols. Fabric layer works with resource-specific op- information can be interrogated by an application user erations, there is no abstraction at this level. These to determine which resources can be used to execute an operations are usually a result of sharing operations at operation. In Grid computing, QoS management focus higher layers. There’s interdependency between func- on providing assurance on resource access while main- tions implemented in this layer and sharing operations taining the security level between domains [22]. supported by the Grid. A rich and more complex Fabric set of functionalities enables more sophisticated sharing 4.5.1 QoS in Grid Computing operations. As opposed, fewer functionalities and de- Once the Grid applications submit their requirements to mands at this layer imply a simplified Grid structure. the management services that schedule jobs as resources Connectivity Layer: The connectivity layer become available, these must support a resource man- defines the core communication and authentication pro- ager or scheduler that can receive requests from external tocols. Communication protocols enable the exchange of applications. Nevertheless, there are several applications data between Fabric layer resources, requiring transport, that need to get results for their tasks within strict routing and naming mechanisms. Authentication proto- deadlines. Consequently they cannot wait for resources cols are used to ensure the security and identity of users to become available so, it is necessary to reserve Grid and resources. Due to complex security problems and resource and services in a particular time. In order wide usage, existing protocols and standards should be to handle complex scientific and business applications, used to implement this layer. other features are highly desirable, sometimes even re- Resource Layer: Resource layer provides quired. the means to share single resources using information A Grid resource management system tries to address and management protocols. Information protocols are the following QoS issues [22]: used to obtain details about the structure and state of • Advanced Resource Reservation: It’s important a single resource. Management protocols are used to when dealing with scarce resources, as is often the negotiate access to the shared resource, specifying its case with end resources made available on the Grid. requirements and the operations to be performed. These Should support mechanisms for advance, immedi- protocols should also ensure that requested operations ate, or on-demand resource reservation. respect individual policies of each resource. This layer is • Reservation Policy: The system should have mech- only concerned with individual resources. Global state anisms that provide the Grid resource owners ways and atomic actions over multiple resources are issues of of enforcing their policies by governing when, how, the next layer. and who can use their resource.
  6. 6. 6 • Agreement Protocol: The system should inform the clients of their advance reservation status, and the resource quality they should expect during the service session. • Security: The system should prevent malicious users penetrating or altering data repositories that hold information about reservations, policies and agreement protocols. • Simplicity: The QoS enhancement should be rea- sonable and simplistic in design so that it requires minimal changes to be made to existing computa- tion, storage or network infrastructure. • Scalability: The approach should be scalable to a large number of entities, since the Grid is a global- scale infrastructure. 5 BOINC Fig. 3. BOINC Infrastructure Berkeley Open Interface for Network Computing (BOINC) is an open middleware platform that supplies the scientific research by placing their confidence in temporary input and output files on the server. Only using resources donated by simple personal computers the files are deleted, the entries on the database are around the world (core clients). The objective is to gather kept and therefore it is possible to find information all this energy and make a supercomputer which helps even after the project is completed. the researchers (clients) in several projects. [18] • The ”feeder” is used to enhance the schedulers per- Using BOINC allows user to achieve high processing formance and to reduce the queries to the database. performance with low costs. For example, to have 100 It does so by placing WUs, from the database, into TFlops available for one year, Amazon’s Elastic Com- a shared memory. puting Cloud costs 175 million dollars, to build a cluster • The ”database purger” removes work-related you need 12.4 million dollars, but with BOINC, clients database entries when they are no longer needed only need, in average, 125,000 dollars [19]. On the other in order to keep the database from growing into an hand, looking at the top500 supercomputers list (Novem- unpractical size. ber/2008) [21], roadrunner achieves 1105 TFlops, where BOINC has a daily average of 1,700 TFlops and the most 5.1.2 Scheduler relevant project (SETI@Home) has a daily average of 615 The scheduler is a CGI software that runs every time TFlops. a client connects to a project and asks for work. It has to compare the available WU’s needs with the clients’ 5.1 Infrastructure shared resources in order to match them. BOINC provides a set of tools, daemons, scheduler and 5.1.3 Database database (Figure 3). The BOINC database is a MySQL database that stores in- 5.1.1 Daemons formation about registered users and hosts, applications and their versions, WU’s and their results, and other BOINC servers use daemons to manage and keep track relevant information. of their jobs or, in BOINC terms, work units (WU). • The ”work generator” has to generate WU and correspondent input files. 5.2 PRC vs. Grid • The ”transitioner” has to control and change the According to David P. Anderson [23], both PRC and Grid states of each WU. Computing methodologies share a common goal: to use • The ”validator” has to validate the results of each the existing resources in the best possible way. There are WU and its redundant copies. however some important differences between the two. • The ”assimilator” daemon regroups the final results While a Grid is usually managed and controlled by and processes them according to the administrator’s a single organization, a PRC network relies on separate specification. It could zip and e-mail the results or individuals to share their resources. While this particu- automatically do post processing and store those larity may allow a huge growth in terms of connected results on a magnetic tape. nodes, it brings out other liabilities like the unreliability • The ”file deleter”, as the name indicates, checks for of the processed results and uncertain processor time. completed and assimilated WUs and then deletes Since each user is volunteer and therefore allowed to
  7. 7. 7 Manage their states; • Pull the results from the grid resource broker. • These results don’t need validation because the re- sources from the Grid are considered trustworthy. 6 C ONCLUSION Throughout the development of this paper, we scanned the currently available paradigms on distributed com- puting, their main advantages and limitations. This process has taken us through part of the history of computing as we start from the traditional client-server model and develop it until nowadays cloud and grid computing concepts. The evolution of communications and commodity per- sonal computers brought the distributed computation to a whole new level while approaching people and Fig. 4. Extended BOINC Infrastructure science through Public Resource Computing. This new area of computational resource sharing brought the need to rethink the Quality of Service requirements in dis- control the amount of work done, nothing ensures the tributed networks. PRC proved that a huge ammount project management that this user will be cooperating of volunteers can supply an unbeatable system-wide for a long time or keeping a steady work-flow. throughput without the need of strict QoS policies. For Another important difference between the two meth- instance, the major BOINC based project, and also the ods relies on the Quality of Service. It is virtually impos- one that encouraged it’s development, SETI@Home has sible to ensure a strong QoS on a PRC network due to produced so far 3 Million+ years of processing time. [20] slow connections and low availability. For the reduced ammount of research projects and processing jobs that require strict deadlines, high com- 5.3 Extended BOINC System munication speed and permanent connectivity there was As we have seen BOINC only implements two out of the a need to merge the benefits of PRC globalization and three points in Foster’s checklist. It has a decentralized the QoS that a Grid system could provide. In order to control over resources and it uses open protocols and address this need, the bridge connector model [18] was interfaces, but it fails to deliver non-trivial quality of developped to extend the regular BOINC System. service, because it does not fulfill the information ac- cessibility and connectivity requirements. R EFERENCES With this in mind, Søttrup and Pederson [18], sug- [1] A. S. Tannenbaum and M. van Steen, Distributed Systems - Principles gested a bridge between BOINC and a private Grid, and Paradigms, International Edition, Pearson, U.S.A.: Prentice Hall, where instead of clients pulling the jobs from BOINC 2002. server by connecting to it, the server connects to a [2] G. Coulouris, J. Dollimore and T. Kindberg, Distributed Systems - Concepts and Design, Fourth Edition, Pearson, U.K.: Addison- resource broker, responsible for scheduling, submitting Wesley, 2005. jobs to remote machines, transferring files and logging, [3] K. Farooqui, L. Logrippo, J. de Meer, The ISO Reference Model for on the Grid and pushes jobs into it. This Grid will be re- Open Distributed Processing - An Introduction, February 14, 1996 [4] A. Silberschatz, P. B. Galvin, and G. Gagne, Operating System sponsible for providing quality of service and therefore, Concepts, Seventh Edition, Wiley, U.S.A.: John Wiley & Sons, 2005, together they would build a Foster’s Grid (Figure 4). Page 611. [5] B. C. Neuman, Scale in Distributed Systems, Readings in Distributed Computing Systems, IEEE Computer Society Press, 1994 5.3.1 BOINC to Grid architecture [6] I. Foster, C. Kesselman, The Grid: Blueprint for a New Computing Infrastructure, University of Michigan, U.S.A.: Morgan Kaufmann In order to process the WU’s directly and for the speci- Publishers, 1999 fications of the Grid, a new daemon has to be created [7] P. Plaszczak, R. Wellner, Grid computing: The Savvy Manager’s Guide, (bridge daemon) and some of the other have to be U.S.A.: Elsevier/Morgan Kaufmann, 2005 modified. The transitioner daemon must be adapted so [8] IBM Solutions Grid for Business Partners: Helping IBM Business Partners to Grid-enable applications for the next phase of e-business on that it wont change the state of the WUs sent into demand, U.S.A.:IBM, 2002 the Grid. Manipulating and controlling the several WU [9] I. Foster, C. Kesselman, S. Tuecke, The Anatomy of the Grid: En- states is now the bridge daemon’s responsibility. The abling Scalable Virtual Organizations, International J. Supercomputer Applications, 2001 feeder daemon also needs to be modified so that it wont [10] L. Kleinrock, Realizing the Information Future: The Internet and load the WUs, intended to the Grid, into the shared Beyond, National Research Council, U.S.A.: National Academy memory. This way, the bridge daemon has to: Press, 1994 [11] I. Foster, What is the Grid? A Three Point Checklist, GRIDToday, July • Push WUs into the Grid; 20, 2002
  8. 8. 8 [12] Grid Engine Project, http://gridengine.sunsource.net, SunSource.net, Sun, June 6, 2009 [13] About TeraGrid, http://www.teragrid.org/about, TeraGrid, Na- tional Science Foundation, June 6, 2009 [14] B. Jacob, M. Brown, K. Fukui, N. Trivedi, Introduction to Grid Com- puting, First Edition, International Business Machines Corporation, U.S.A.: IBM, International Technical Support Organization, 2005, Page 8 [15] P. Roy, Operating Systems: Internals and Design Principles, 6/E William Stallings, Manatee Community College, U.S.A.: Prentice Hall, 2008 [16] Introduction to Distributed System Design, http://code.google.com/intl/pt-PT/edu/parallel/dsd- tutorial.html, Google Code University, 2009 [17] B.Hayes, Cloud Computing, Communications of the ACM, ACM, July 2008, Pages 9-11 [18] C. U. Søttrup, J. G. Pedersen, Developing Distrubited Computing Solutions: Combining Grid Computing and Public Computing, M. Sc. Thesis, Department of Computer Science, University of Copen- hagen, March 1, 2005 [19] BOINC Documentation Project, Why Use BOINC?, http://boinc.berkeley.edu/trac/wiki/WhyUseBoinc, University of California, June 11, 2009 [20] J. Koulouris, The Big BOINC ! Projects and Chronology Page, http://www.angelfire.com/jkoulouris-boinc, June 11, 2009 [21] Top500.org, Top500 List - November 2008, http://www.top500.org/list/2008/11/100, Top500 Supercom- puting Sites, Top500.org, June 11, 2009 [22] R. J. Al-Ali, K. Amin, G. von Laszewski, O. F. Rana, D. W. Walker, M. Hategan, N. Zaluzec Analysis and Provision of QoS for Distributed Grid Applications, Kluwer Academic Publishers, 2004 [23] D. P. Anderson, BOINC: A System for Public-Resource Computing and Storage, Proceedings of the Fifth IEEE/ACM International Workshop on Grid Computing, 2004