Sie sind auf Seite 1von 6

CCGRID: A RESOURCE SHARING

INTO ASSOCIATION GRIDS


Amala deepan and Sampath kumar

Department of Computer Science and Engineering


PSG college of Technology
Affiliated to Anna University Coimbatore
Coimbatore
Email :{ deepan7787, samcse}@gmail.com

ABSTRACT: Computational grids are becoming which a central component dispatches independent
the computing platform for solving problems in units of parallel execution to workers and manages
science, engineering, and commerce. Software to them. In Alchemi, this unit of parallel execution is
enable grid computing has been primarily termed ‘grid thread’ and contains the instructions to
written for operating systems, thus severely be executed on a grid node, while the central
limiting the ability to effectively utilize the component is termed ‘Manager’.
computing resources of the vast majority of
desktop computers i.e. those running variants of 2. GRID COMPUTING
the Microsoft Windows operating system. A "Grid" is a type of parallel and
Cluster Computing Grid is a technology to solve distributed system that enables the sharing,
the resource sharing problem with clusters. selection, and aggregation of geographically
Using this technology, we propose to bring the distributed "autonomous" resources dynamically at
software resource sharing within cluster along runtime depending on their availability, capability,
with web server. The Microsoft .NET performance, cost, and users' quality-of-service
Framework provides a powerful toolset. The requirements. Grid has ability to share and
Alchemi grid computing framework was aggregate distributed computational capabilities
conceived with the aim of making grid and delivers them as service.
construction and development of grid software Grid computing is the application of
as easy as possible without sacrificing flexibility, several computers to a single problem at the same
scalability, reliability and extensibility. time – usually to a scientific or technical problem
that requires a great number of computer
Keywords- CCGrid, FCFS, CAS processing cycles or access to large amounts of
data.
1. INTRODUCTION Grid computing has emerged as an enabler
Computational grids are becoming the computing for e-Science as it permits the creation of virtual
platform for solving problems in science, organizations that bring together communities with
engineering, and commerce. Software to enable common objectives. Within a community, data
grid computing has been primarily written for collections are stored or replicated on distributed
operating systems, thus severely limiting the ability resources to enhance storage capability or
to effectively utilize the computing resources of the efficiency of access.
vast majority of desktop computers i.e. those There is rapidly emerging interest in grid
running variants of the Microsoft Windows computing from commercial enterprises. A
operating system. Microsoft Windows based grid computing
The Microsoft .NET Framework provides infrastructure will play a critical role in the
a powerful toolset that can be leveraged for all of industry-wide adoption of grids due to the large-
these, in particular support for remote execution scale deployment of Windows within enterprises.
(via .NET Remoting and web services) This enables the harnessing of the unused
multithreading, security, managed execution and computational power of desktop PCs and
cross-language development, making it an ideal workstations to create a virtual supercomputing
platform for grid computing middleware. The resource at a fraction of the cost of traditional
Alchemi grid computing framework was conceived supercomputers. There is a distinct lack of service-
with the aim of making grid construction and oriented architecture-based grid computing
development of grid software. Alchemi follows the software. To overcome this limitation, we have
master-worker parallel programming paradigm in developed a Windows-based grid computing
framework called Alchemi implemented on the executed on a grid node, while the central
Microsoft .NET Platform. component is termed ‘Manager’.
Computational grids are becoming the A ‘grid application’ consists of a number
computing platform for solving problems in of related grid threads. Grid applications and grid
science, engineering, and commerce. Software to threads are exposed to the application developer as
enable grid computing has been primarily written .NET classes / objects via the Alchemi .NET API.
for operating systems, thus severely limiting the When an application written using this API is
ability to effectively utilize the computing executed, grid thread objects are submitted to the
resources of the vast majority of desktop computers Alchemi Manager for execution by the grid.
i.e. those running variants of the Microsoft Alternatively, file-based jobs (with related jobs
Windows operating system. comprising a task) can be created using an XML
representation to grid-enable legacy applications
3. CCGrid for which precompiled executables exist. Jobs can
Cluster Computing Grid [CCGrid] is a be submitted via Alchemi Console Interface or
technology to solve the resource sharing problem Cross-Platform Manager web service interface,
with clusters. Using this technology, we propose to which in turn convert them into the grid threads
bring the software resource sharing within cluster before submitting then to the Manager for
along with web server. execution by the grid.
Cluster computing: autonomic computing
techniques can be used for dealing in an integrated
manner with node failures, security and job
migration. Greater significance will be approaches
to optimizing application execution that are
distributed over multiple cluster systems while
maintaining other important properties such as fault
tolerance and secure execution environment. Such
optimization approach relies on the availability of
specialist monitoring tools, which could feed into
execution planning and enactment strategies.

4. ALCHEMI OVERVIEW
4.1Overview
Grid computing depends on software to
divide and apportion pieces of a program among
several computers, sometimes up to many
thousands.
Alchemi is a .NET-based framework that A layered architecture for a desktop grid computing
provides the runtime machinery and programming environment.
environment required to construct desktop grids
and develop grid applications. It allows flexible 4.3 Alchemi components
application composition by supporting an object- An Alchemi desktop grid is constructed by
oriented application programming model in deploying a Manager node and deploying one or
addition to a file-based job model. Cross-platform more Executor nodes configured to connect to the
support is provided via a web services interface and Manager. One or more Users can execute their
a flexible execution model supports dedicated and applications on the cluster by connecting to the
non-dedicated (voluntary) execution by grid nodes. Manager. An optional component, the Cross
It can be used to manage a cluster of dedicated or Platform Manager provides a web service interface
non-dedicated compute nodes. The node manager to custom grid middleware.
provides a centralized interface to manage all of the
clients on the grid, which is accessible from
anywhere on the network. m
4.2 Alchemi Desktop Grid Framework
Alchemi follows the master-worker
parallel computing paradigm in which a central
component dispatches independent units of parallel
execution to workers and manages them. In e e e e
Alchemi, this unit of parallel execution is termed
‘grid thread’ and contains the instructions to be
4.3.1 Manager the Manager and Executor are on the same Local
The Manager provides services associated Area Network while non-dedicated execution is
with managing execution of grid applications and more appropriate when the Manager and Executor
their constituent threads. Executors register are to be connected over the Internet.
themselves with the Manager, which in turn Threads are executed in a sandbox environment
monitors their status. Threads received from the defined by the user. The CAS (Code Access
User are placed in a pool and scheduled to be Security) feature of .NET are used to execute all
executed on the various available Executors. A threads with the AlchemiGridThread permission set
priority for each thread can be explicitly specified which can be Specified to a fine-grained level by
when it is created or submitted. Threads are the user as part of the .NET Local Security Policy.
scheduled on a Priority and First Come First All grid threads run in the background with the
Served (FCFS) basis, in that order. The Executors lowest priority. Thus any user programs are
return completed threads to the Manager which are unaffected since they have higher priority access to
subsequently collected by the respective User. The the CPU over grid threads.
Manager employs role-based security model for
authentication and authorization of secure 4.3.3 User
activities. A list of permissions representing Grid applications are executed on the User
activities that need to be secured is maintained node. The API abstracts the implementation of the
within the Manager. A list of groups (roles) is also grid from the user and is responsible for informing
maintained, each containing a set of permissions. a variety of services on the user’s behalf such as
For any activity that needs to be authorized, the submitting an application and its constituent
user or program must supply credentials in a form threads for execution, notifying the user of finished
of a user name and password and the Manager only threads and providing results and notifying the user
authorizes the activity if the user belongs to a group of failed threads along with error details.
that contains the particular permission. Executors
are constantly monitored and threads running on 4.3.4 Cross-Platform Manager
disconnected Executors are rescheduled. The Cross-Platform Manager is a web
Additionally, all data is immediately persisted to services interface that exposes a portion of the
disk so that in the event of a crash, the Manager functionality of the Manager in order to enable
can be restarted into the pre-crash state. Alchemi to manage the execution of grid jobs (as
opposed to grid applications utilizing the Alchemi
4.3.2 Executor grid thread model). Jobs submitted to the Cross-
The Executor accepts threads from the Platform Manager are translated into a form that is
Manager and executes them. An Executor can be accepted by the Manager (i.e. grid threads), which
configured to be dedicated, meaning the resource is are then scheduled and executed as normal in the
centrally managed by the Manager, or non- fashion described above. In addition to support for
dedicated, meaning that the resource is managed on the grid-enabling of legacy applications, the Cross-
a volunteer basis via a screen saver or explicitly by Platform Manager allows custom grid middleware
the user. For non-dedicated execution, there is one- to interoperate with and leverage Alchemi on any
way communication between the Executor and the platform that supports web services.
Manager. In this case, the resource that the
Executor resides on is managed on a volunteer 5.TESTING
basis since it requests threads to execute from the TEST CASE 1: Alchemi MANAGER
Manager. Where two-way communication is Description:
possible and dedicated execution is desired the Manager- manages the execution of grid
Executor exposes an interface so that the Manager application with managing thread execution.
may communicate with it directly. In this case, the
Manager explicitly instructs the Executor to INPUT:
execute threads, resulting in centralized Setup Connection
management of the resource where the Executor Own Port : 9000
resides. Thus, Alchemi’s execution model provides Manager Host :-
the dual benefit of: flexible resource management Manager Port :0
i.e. centralized management with dedicated Storage Configuration
execution vs. decentralized management with non- Database type : Microsoft SQL Server 2000
dedicated execution; and flexible deployment under Server : localhost
network constraints i.e. the component can be DB Name : Alchemi
deployment as nondedicated Where two-way Username : sa
communication is not desired or not possible (e.g. Password :123
when it is behind a firewall or NAT/proxy server). Action : start
Thus, dedicated execution is more suitable where
Expected Output: INPUT:
Attempting to start Manager… [Pi Calculator Grid Application]
Manager started Host [default=localhost] : localhost
Port [default=9000] : 9000
TEST CASE 2: Alchemi EXECUTOR Username [default=user] : user
Description: Password [default=user] : user
Executor-accepts threads from the Manager & Action :enter
executes them.
Expected Output:
INPUT:
Setup Connection
Manager Node
Host/IP Address : local host
Port : 9000
Credentials
Username : executor
Password : executor
Own Node
Id : 0435fd53-f291-41f2-
9ba1-e539eb42cd10
Dedicated : yes
Port : 9001

Action : connect
Expected Output:
Attempting to connect to Manager...
Connected to Manager.

Error:
If the manager not started, 6. CONCLUSION:
Using last verified configuration ... The CCGRID: a web resource sharing into
Attempting to connect to Manager... alchemi grids was designed for reducing the
Error connecting to manager. Could not connect to manual resource sharing. The Alchemi grid
Manager. computing framework was conceived with the aim
of making grid construction and development of
TEST CASE 3: Console Parent Form-[Alchemi grid software. Hence we use the Alchemi toolkit
console] for making the grid cluster. The Microsoft .NET
Description: Framework provides a powerful toolset that can be
Which show the performance of each support for remote execution (via web services)
executor multithreading, security, disconnected data access,
managed execution and cross-language
INPUT: development, making it an ideal platform for grid
Alchemi Grid Connection computing middleware. CCGrid is a technology
Manager to solve the resource sharing problem with clusters.
Host/IP Address : localhost By implementing this project, we aim to
Port : 9000 afford an efficient web resources sharing into
alchemi grids and mainly this reduce the
Credentials installation of the software resources in every
Username : admin system.
Password : admin
Action : Ok 7. REFERENCES:
Expected Output: [1]. Alchemi: A .NET-based Grid Computing
Shows the executors id, port, username, Framework and its Integration into Global Grids
last ping time, connect or not, dedicated or Akshay Luther, Rajkumar Buyya, Rajiv Ranjan,
nondedicated and it’s performance and Srikumar Venugopal
Grid Computing and Distributed Systems (GRIDS)
TEST CASE 4: Application PiCalculator.exe Laboratory
Description: Department of Computer Science and Software
To calculate the Pi value Engineering
The University of Melbourne, Australia
Email:{akshayl, raj, rranjan, srikumar} interface, IModelRunner, and inherits from
@cs.mu.oz.au GridThread. This enables GridModelRunner to be
Computational grids that couple substituted for the original, non-grid component,
geographically distributed resources are becoming and allows applications to be easily reconfigured
the de-facto computing platform for solving large- for standalone or grid execution.
scale problems in science, engineering, and
commerce. Software to enable grid computing has [4]. Gridcrypt.pdf
been primarily written for Unix-class operating Grid Crypt: High Performance Symmetric Key
systems, thus severely limiting the ability to Cryptography using Enterprise Grids
effectively utilize the computing resources of the Grid Computing and Distributed Systems
vast majority of desktop computers i.e. those Laboratory
running variants of the Microsoft Windows Dept. of Computer Science and Software
operating system. Addressing Windows-based grid Engineering
computing is particularly important from the The University of Melbourne, Australia
software industry’s viewpoint where interest in They develop an application for
grids is emerging rapidly. Microsoft’s .NET symmetric key cryptography using enterprise grid
Framework has become near-ubiquitous for middleware called Alchemi.
implementing commercial distributed systems for Alchemi is a .NET based grid computing
Windows-based platforms, positioning it as the framework developed at the University of
ideal platform for grid computing in this context. In Melbourne. It is an open source project which
this paper we present Alchemi, a .NET-based grid provides middleware for creating an enterprise grid
computing framework that provides the runtime computing environment by harnessing Windows
machinery and programming environment required machines. Alchemi supports multithreaded parallel
to construct desktop grids and develop grid operation in a manner similar to threading in Java
applications. It allows flexible application or C#, but with their execution on distributed
composition by supporting an object-oriented grid resources. The parallelism is realized at thread
application programming model in addition to a level and the programmer has to identify functions
grid job model. Cross-platform support is provided to be parallelized and implement them in the form
via a web services interface and a flexible of threads. Currently, inter-thread communication
execution model supports dedicated and non- is not supported, so threads must be independent.
dedicated (voluntary) execution by grid nodes.

[2]. Alchemi: A .NET-based Enterprise Grid


System and Framework
User Guide for Alchemi 1.0
Grid Computing and Distributed Systems (GRIDS)
Laboratory
Dept. of Computer Science and Software
Engineering
The University of Melbourne, Australia

Table of Contents
How Alchemi Works
Installation, Configuration and Operation Alchemi’s main components
Common Requirements
Manager A deployment scheme for Alchemi is shown in
Role-Based Security Figure. Its main components are manager and
Cross Platform Manager executor that support a master-worker parallel
Executor model. Alchemi has a number of features that ease
Software Development Kit the process of setting up of a grid environment in
an enterprise. The executors can be setup in
[3]. Hydrogrid.pdf dedicated or nondedicated mode on employees’
An extension to this framework, DIME, makes use desktop computers. In non-dedicated mode,
of Alchemi to allow for the parallel execution of Alchemi has no impact on the workstation as far as
models across a network. It will allow the the user is concerned. The Alchemi manager also
distribution of model execution using the Alchemi requires a Microsoft SQL Server instance, which is
API. It allows .NET components to be distributed, available in most companies.
both on local and wide area networks.
Grid enabled proxy for Model Runner,
GridModelRunner, which implements a common
[5]. Excel Grid: A .NET Plug-in for Outsourcing We present the basic information about
Excel Spreadsheet Workload to Enterprise and the technology and the way it works. Alchemi
Global Grids follows a paradigm in which a central component
Krishna Nadiminti, Yi-Feng Chiu, Nick Teoh, dispatches independent units of parallel execution
Akshay Luther, Srikumar Venugopal, Rajkumar to workers and manages them. This smallest unit of
Buyya1 parallel execution is a grid thread, which is
Grid Computing and Distributed Systems conceptually and programmatically similar to a
Laboratory and NICTA Victoria Laboratory thread that wraps a "normal" multitasking operating
Department of Computer Science and Software system thread. A grid application is defined simply
Engineering as an application that is to be executed on a grid
The University of Melbourne and that consists of a number of grid threads. Grid
ICT Building, 111 Barry Street applications and grid threads are exposed to the
Carlton, VIC 3053, Australia grid application developer via the object-oriented
Alchemi .NET API. Figure below represents the
Alchemi and .NET framework high level architecture of the Alchemi’s grid
Alchemi is a Windows-based desktop framework.
grid computing framework implemented on There are three main components:The
Microsoft .NET platform, and developed at the Manager manages the execution of grid
University of Melbourne as part of the Grid bus applications and provides services associated with
project, which provides the runtime machinery and managing thread execution. The Executors register
the programming environment which is required to themselves with the Manager which in turn keeps
construct desktop grids and develop grid track of their availability. Threads received from
applications. It supports object oriented grid the Owner are placed in a pool and scheduled to be
application programming and execution of cross executed on the various available Executors. A
plat form applications via web services. The priority for each thread can be explicitly specified
Microsoft .NET Framework is an ideal platform for when it is created within the Owner, but is assigned
grid computing middleware because it provides a the highest priority by default if none is specified.
powerful toolset that supports security, remote Threads are scheduled on a Priority and First Come
execution, multithreading, cross-language First Served (FCFS) basis, in that order. The
development, etc. The key features supported by Executors return completed threads to the Manager
Alchemi, are internet-based clustering of desktop which are subsequently passed on or collected by
computers without a shared file system, federation the respective Owner.
of clusters to create hierarchical, cooperative grids,
dedicated or non-dedicated (voluntary) execution [7]. Alchemi: A .NET-based Grid Computing
by clusters and individual nodes, object-oriented Framework and its Integration into Global
grid thread programming model (fine-grained Grids Akshay Luther, Rajkumar Buyya, Rajiv
abstraction), and a web services interface Ranjan, and Srikumar Venugopal see
supporting a grid job model (coarse-grained http://www.alchemi.net/publications.html
abstraction) for cross-platform interoperability (e.g. GridbusManual04
for creating a global and cross-platform grid The Grid bus Middleware Manual
environment using a custom resource broker GRID COMPUTING AND DISTRIBUTED
component). SYSTEMS LABORATORY
DEPT. OF COMPUTER SCIENCE AND
[6]. Analysis of GRID COMPUTING as IT SOFTWARE ENGINEERING
APPLIES TO HIGH VOLUME DOCUMENT THE UNIVERSITY OF MELBOURNE,
PROCESSING AND OCR AUSTRALIA
By: Dmitri Ilkaev, Stephen Pearson GRID: A virtual information processing
Abstract: In this paper we analyze the concept of environment where the user has the ‘illusion’ of a
grid programming as it applies to document seamless single-source computing power which is
imaging and processing. The paper mostly focuses actually distributed.
on OCR processing mapped to a simple grid Computation = Program + Resource
configuration. Alchemi .NET grid framework was
used as the grid engine. Basic dependences of the [8]. Web reference:
OCR engine behavior in the grid configuration are http://www.alchemi.net/publications.html
discussed and the increase of the document http://www.gridbus.org
processing rate is demonstrated. Based solely on
the small sample and test regimen employed, we
demonstrate that throughput in excess of 150% can
be achieved even in this CPU intensive process by
employing grid strategies.

Das könnte Ihnen auch gefallen