Xgrid

Xgrid

Infobox Software
name = Xgrid

developer = Apple Inc.
operating system = Mac OS X
released = January 6, 2004cite web |url=http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/xgrid.1.html |title=Mac OS X Manual Page For xgrid(1) |accessdate= 2008-07-25 |date=2007-12-03 |format=HTML |publisher=Apple Inc. ]
platform = Independent
status = Active
genre = Distributed computing
license = Proprietary EULAcite web |url=http://images.apple.com/legal/sla/docs/macosx105.pdf |title=Mac OS X 10.5 SLA |accessdate= 2008-06-12 |date=2005-03-09 |format=PDF |publisher=Apple Inc. ]
website = [http://www.apple.com/macsox/features/xgrid/ www.apple.com/macsox/features/xgrid/]

Xgrid is a proprietary distributed computing protocol developed by the Advanced Computation Group subdivision of Apple Inc. The program allows a group of networked computers to contribute their processing power to the same task. Xgrid provides network administrators an easy-to-implement method of exploiting previously unused computational power at low cost. Released in January 2004,cite web |url=http://unu.novajo.ca/simple/archives/000026.html |title=XGrid agent for Unix architectures |accessdate= 2008-07-18 |date=2004-06-21 |format=HTML |publisher=Simple |last=Côté |first=Daniel ] the program acts as a job scheduler, splitting and allocating tasks to available nodes.cite web |url=http://developer.apple.com/hardwaredrivers/hpc/xgrid_intro.html |title=Xgrid: High Performance Computing for the Rest of Us |accessdate= 2008-06-12 |date=2005-03-09 |format=HTML |publisher=Apple Inc. ]

Xgrid uses the BEEP infrastructure with the Xgrid protocol and XML-centered data management to communicate to other nodes which compute their portions of the task and then return the results back to the initiating client. This implementation makes Xgrid only effective for parallel tasks.cite web |url=http://unu.novajo.ca/simple/archives/000022.html |title=XGrid |accessdate= 2008-07-18 |date=2004-01-07 |format=HTML |publisher=Simple |last=Côté |first=Daniel ]

The Xgrid architecture consists of Xgrid jobs and tasks being send between the nodes on a chosen network. Each job being submitted from the client to the controller is split into individual tasks and then sent for processing to individual agents on the Xgrid cluster. The cluster's computers compute their portion of the tasks and then return them to the controller which assembles the job and provides the results to the initiating client.cite web |url=http://developer.apple.com/documentation/MacOSXServer/Conceptual/Xgrid_Programming_Guide/Overview/chapter_2_section_2.html |title=Xgrid Programming Guide: How It Works |accessdate= 2008-06-12 |date=2007-10-31 |format=HTML |publisher=Apple Inc. ]

When Apple designed Xgrid the company used the Zilla program, distributed with NeXT's OPENSTEP operating system API, as a model for Xgrid and a source of good feature-related ideas. But instead of providing a GUI for the end-user (as Zilla did) in the release version, Apple opted to only provide command-line functions and little flexibility. The removal of the GUI was not consistent with the version provided with the more expensive Mac OS X Server, which received many more of Zilla's functions.cite web |url=http://www.macosxhints.com/article.php?story=20050610040807931 |title=10.4: Run an Xgrid with Tiger client |accessdate= 2008-07-26 |date=2005-06-23 |format=HTML |publisher=Macosxhints.com |last=Muir |first=Dylan]

History

Xgrid's original concept can be traced back to Zilla.app found in the OPENSTEP operating system application programming interface; an interface created by NeXT in the late 1980s. Zilla was the first desktop-based distributed computing program to make use of the idle screen-saver motif, a design feature found in many widely used projects, such as Seti@Home. Zilla won the national ComputerWorld Smithsonian Award (Science Category) in 1991 for ease of use and non-interventive nature. Apple acquired Zilla, along with the rest of NeXT,cite press release | title=Apple Computer, Inc. Agrees to Acquire NeXT Software Inc. | url= http://product.info.apple.com/pr/press.releases/1997/q1/961220.pr.rel.next.html | archiveurl=http://web.archive.org/web/20020208190346/http://product.info.apple.com/pr/press.releases/1997/q1/961220.pr.rel.next.html |archivedate=2002-02-08| publisher=Apple Computer | date=December 20, 1996 | accessdate=2008-06-13 ] in 1997 and used Zilla later on as inspiration for Xgrid.

Xgrid's simplistic nature and easy setup process have lead to several organizations adopting Xgrid in large international computing networks. Notable examples of Xgrid clusters include MacResearch's OpenMacGrid which scientists can request access to over 200 GHz of processing power to run tasks related to their research,cite web |url=http://www.macresearch.org/announcing_openmacgrid_together_we_are_strong |title=Announcing OpenMacGrid: Together We Are Strong |accessdate= 2008-06-13 |date=2007-01-30 |format=HTML |publisher=MacResearch |last=McCormack |first=Drew] and the now defunct Xgrid@Stanford project, which used a range of computers on the Stanford University campus and around the worldcite web |url=http://cmgm.stanford.edu/~cparnot/xgrid-stanford/ |title=Xgrid@Stanford - Home |accessdate= 2008-07-25 |date=2007-12-03 |format=HTML |publisher=Stanford University |last=Parnot |first=Charles] to perform biochemical research.cite web |url=http://cmgm.stanford.edu/~cparnot/xgrid-stanford/html/projects/projects.html |title=Xgrid@Stanford - Projects |accessdate= 2008-07-25 |date=2007-12-03 |format=HTML |publisher=Stanford University |last=Parnot |first=Charles]

Protocol

The Xgrid protocol uses three types of computers; the client, which communicates the calculation, the controller, the computer which will start and the calculation and the agents, which process their own allocated part of the calculation. A computer can act as one or all three of these components at the same time. The Xgrid protocol, which is based on the BEEP protocol, plays no part in the processing of the specified calculation but merely provides the basic infrastructure for computers to communicate. Xgrid is targeted towards computations that are largely time consuming and that can be easily segregated into smaller tasks, commonly known as "embarrassingly parallel" tasks.cite web |url=http://www.linux.com/articles/33719 |title=Xgrid: Grid computing for the rest of us? |accessdate= 2008-07-26 |date=2004-01-15 |format=HTML |publisher=Linux.com |first=Chris |last=Gulker] Examples of tasks that would benefit from Xgrid include Monte Carlo calculations, 3D rendering and Mandelbrot maps.

Within the Xgrid protocol there are three types of messages that can be passed to other computers on the same cluster, a request, a notification or a reply. Requests are messages that must be responded to by the recipient with a reply, notifications are messages that do not require a reply and replys are responses to sent messages. These messages are identified by their name, their type (request/notification/reply) and their contents. Each Xgrid message is encapsulated in a BEEP MSG (BEEP message) and is acknowledged on receiving by an empty RPY (reply).

Architecture

The computation sent to the controller is referred to as a job, the job is a collection of executable tasks that can be run in parallel. The individual tasks contain an executable file, input parameters, data files and directories required to run the task either simultaneously or asynchronously. Once the job completes, the controller can be set to notify the client of the task's completion or failure, email is supported. The client is not required to stay connected to the network and has the option of monitoring the job status on demand by querying the controller, although ongoing progress of individual tasks is not available.

The controller is central to the correct function of an Xgrid, this node is responsible for the distribution, supervision and coordination of tasks on agents, the program running on the controller can assign and reassign tasks to handle individual agent failures on demand. The amount of tasks assigned to an agent depend on two factors, the amount of agents on an Xgrid and the amount of processors in each node. Depending on the amount of agents on an Xgrid the controller may assign all tasks at once (making the process simultaneous) or in the case of a smaller amount of agents, queue the tasks and assign more than one task per computer (making the process asynchronous). When a node with more than one processor is detected on an Xgrid the controller may assign one task per processor, this only occurs if the amount of agents on the network is lower that the amount of tasks the controller has to complete.

Interface

With the inclusion of the Xgrid agent in Mac OS X version 10.4, Apple increased Xgrid's potential usage greatly. Their decision to provide a graphical controller interface only to Mac OS X Server systems has limited the efforts by the computer community to embrace the platform. To counteract this problem, Apple's Xgrid GUI can now be downloaded for free as part of their server admin tools, which Mac OS X version 10.5 supports.

Despite the lack of a graphical controller interface in the standard (non-server) Mac OS X distribution, it is possible to set up an Xgrid controller via the command line tools xgridctl and xgrid. Once the Xgrid controller daemon is running, administration of the grid with Apple's Xgrid Admin tool is possible. Some applications, such as VisualHub, provide Xgrid controller capability through their user interfaces.cite web |url=http://www.macnn.com/articles/06/06/07/visualhub.released/ |title=VisualHub offers Xgrid support |accessdate= 2008-07-26 |date=2006-06-07 |format=HTML |publisher=MacNN ]

Notes


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Xgrid — ist ein Konzept des Grid Computings und verteilten Rechnens, welches von der Firma Apple Inc. für das Betriebssystem Mac OS X entwickelt wurde. Die Lösung zeichnet sich durch einfache Konfigurierbarkeit und vollständig implementierten Support… …   Deutsch Wikipedia

  • Xgrid — Эта статья слишком короткая. Пожалуйста, дополните её ещё хотя бы нескол …   Википедия

  • Xgrid (Apple) — Xgrid est une API logicielle développée par le Apple s Advanced Computation Group qui permet à un groupe d ordinateurs en réseau d effectuer du calcul distribué. Le but d Xgrid est de permettre (aux scientifiques notamment) d exploiter à bas prix …   Wikipédia en Français

  • Xgrid Admin — Infobox Software name = Xgrid Admin caption = Xgrid Admin s main window. developer = Apple Computer latest release version = 10.4.4 (22.1) latest release date = 2005 latest preview version = latest preview date = operating system = Mac OS X… …   Wikipedia

  • Mac OS X Server — Screenshot of Snow Leopard Server Company / developer …   Wikipedia

  • Grid computing — is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non interactive workloads that involve a large number of files. What …   Wikipedia

  • Kernel density estimation — of 100 normally distributed random numbers using different smoothing bandwidths. In statistics, kernel density estimation is a non parametric way of estimating the probability density function of a random variable. Kernel density estimation is a… …   Wikipedia

  • DRMAA — or Distributed Resource Management Application API is a high level Open Grid Forum API specification for the submission and control of jobs to a Distributed Resource Management (DRM) system, such as a Cluster or Grid computing infrastructure. The …   Wikipedia

  • MySQL Manager — Screenshot  MySQL Manager in Mac OS X Server v10.3 …   Wikipedia

  • Darwin Streaming Server — Original author(s) Apple Inc. Developer(s) Apple Inc. Initial release March 16, 1999 Stable release 6.0.3 / May 10, 2007 …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”