Image Transformation using Grid

(Synopsis)
INTRODUCTION
In this chapter we seek to provide a background for the term
grid that Essential in this thesis. We explore t...
I-WAY paved the way for projects like Globus. [Globus 2002]
Both FAFNER and I-WAY were difficult to set up. When running F...
DEFINING THE GRID

GRID DEFINITION
What is a grid? In the Merriam-Webster dictionary the word
grid is: “a network of condu...
large collection of connected heterogeneous systems sharing various
combinations of resources.[Berstis 2002]

Grid start, ...
1) Cluster Grids are grids typically used within a single project for a
certain task at a time. This type of grid is for i...
CONTEMPORARY GRID PROJECTS AND PRODUCTS

OVERVIEW OF GRID COMPUTING:

Grid Computing is about making large amounts of comp...
users are placing jobs on limited resources as in education
environments; and where users are launching parallel applicati...
simply plug your appliance in and you pay for the amount of processing
power you use.

WHAT IS POV RAY?
POV-Ray is a high-...
1. What type of object you want (one of POV-Ray's simple objects or
one you've created yourself); and
2. Various attribute...
Ray-tracing can require millions and even billions of complex
mathematical calculations and, as such, is usually done by c...
The reason the software traces the light rays backwards,
instead of starting at the light source, is for efficiency's sake...
set of primary

Use

cases or scenarios.

PURPOSE ANS GOALS

The purpose and goal of the Java Grid prototypes are to show
...
Priority 1 – Essential requirement.
Priority 2 – Important requirement (should be included in a real grid).

REQUIREMENT

...
FUNCTIONAL REQUIREMENTS

DYNAMIC HOSTING AND DEPLOYMENT OF APPLICATION TASK
The Grid must be able to host applications def...
When hosting an application task (job or service) the Grid must
provide high availability features that can guaranty that ...
requirement.
PROBLEM DEFINITION

The Existing Model of our Project is the Cluster Computing.
In Cluster Computing the nodes have some r...
MODULARIZATION OF THE PROJECT

Java Grid project is divided into three modules server,
client and worker

•

SERVER MODULE...
Upcoming SlideShare
Loading in …5
×

Image transformation using grid(synopsis)

623 views

Published on

Published in: Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
623
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Image transformation using grid(synopsis)

  1. 1. Image Transformation using Grid (Synopsis)
  2. 2. INTRODUCTION In this chapter we seek to provide a background for the term grid that Essential in this thesis. We explore the short history of the grid and go on discussing various definition of the grid. HISTORY OF GRID TECHNOLOGY THE BEGINNING In the early to mid 90s several specific grid projects were begun. At the time they were called meta computing projects but they paved the way for several of today’s grids. [Roure 2002]. The FAFNER project [Fafner 1996] that used computational web servers, As the nodes in the grid were one of these projects. FAFNER were able to run on computers with as little as4mb of ram and the FAFNER effort won the TeraFlop challenge at Supercomputing in 1995. Another project at that time were the I-WAY project that were an experimental network linking supercomputers at 17 US sights together with a heterogeneous network.
  3. 3. I-WAY paved the way for projects like Globus. [Globus 2002] Both FAFNER and I-WAY were difficult to set up. When running FAFNER you had to compile, link and run a client to participate in the FAFNER network. I-WAY’s front-end were special UNIX servers that were configured the same way for every I-WAY making access to I-WAY uniform. DISTRIBUTED SUPERCOMPUTING Distributed Supercomputing applications couple multiple computational resources - supercomputers and/or workstations Distributed supercomputing applications include SFExpress (largescale modeling of battle entities with complex interactive behavior for distrtibuted interactive simulation), Climate Modeling (modeling of climate behavior using complex models and long time-scales) HIGH-THROUGHPUT APPLICATIONS Grid used to schedule large numbers of independent or loosely coupled tasks with the goal of putting unused cycles to workHighthroughput applications include RSA key cracking, seti@home (detection of extra-terrestrial communication)
  4. 4. DEFINING THE GRID GRID DEFINITION What is a grid? In the Merriam-Webster dictionary the word grid is: “a network of conductors for distribution of electric power” One might think of a computer grid the same way – a way to distribute compute power. Different people use different words to describe this area of computing. Dr. Ian Foster, one of the leads behind the Globus project, describes grid technology talking about sharing resources as: “Grid technologies seek to make this possible, by providing the Protocols, services and software development kits needed to enable flexible, controlled resource sharing on a large scale”. [Foster 2000] viktors berstis of ibm states it: Grid computing, most simply stated, is distributed computing taken to the next evolutionary level. The goal is to create the illusion of a simple yet large and powerful self managing virtual computer out of a
  5. 5. large collection of connected heterogeneous systems sharing various combinations of resources.[Berstis 2002] Grid start, an eu funded initiative, defines it as: The GRID is widely seen as a step beyond the Internet, incorporating pervasive high-bandwidth, high-speed computing, intelligent sensors and large-scale databases into a seamless pool of managed and brokered resources, available to industry, scientists and the man in the street.[Grid start 2002] VARIOUS FORMS OF GRID There are different variations of grids and different ways of categorizing them. • Computational grids - the distributed compute resource consisting of different hardware • Data grids - distributed large-scale databases • Access grids – distributed audio-visual equipment like video monitors, Cameras, microphones aso. ANOTHER WAY TO CATEGORIZE TYPES OF GRIDS IS THE LEVEL OF DEPLOYMENT THEY ARE TO BE:
  6. 6. 1) Cluster Grids are grids typically used within a single project for a certain task at a time. This type of grid is for instance groups of multiprocessor High Performance systems and networks of workstations 2) Enterprise Grids are a collection of cluster grids within the same geographical location 3) Global Grids is a collection of enterprise grids linking different geographical locations together traditionally using the internet at the net which links the enterprise grids together. FIGURE 1.1 TYPES OF GRID
  7. 7. CONTEMPORARY GRID PROJECTS AND PRODUCTS OVERVIEW OF GRID COMPUTING: Grid Computing is about making large amounts of compute power available for applications and users. Collaborative development of Java Grid Engine technology provides the proper development framework to ensure that Grid Engine technology meets the requirements of the largest number of users. Grid Engine is helpful in three elementary ways. It can: 1. optimally place computing tasks and balance the load on a set of networked computers 2. allow users to generate and queue more computing tasks than can be run at the moment 3. Ensure that tasks are executed with respect to priority and to providing all users with a fair share of access over time. Grid Engine presents users a seamless, integrated computing capability. Grid Engine is used to support a wide variety of requirements; for instance, where users start many interactive and batch tasks as in product design or financial simulations; where sets of repetitious tasks are run as in software QA; where large numbers of
  8. 8. users are placing jobs on limited resources as in education environments; and where users are launching parallel applications across massive numbers of processors for applications such as weather simulation. MERITS OF THE GRID COMPUTING: The merits of the grid computing over the distributed computing are listed below  Cost-effective  Distributed Geography  Scalable of Resources  Reliable Network  Zero Latency  Infinite Bandwidth  Secured Network  Heterogeneous Network is also Possible THE FUTURE The word “grid” is already used to describe the electrical grid we use every day to power almost everything. No one thinks twice about plugging in an electrical appliance. Perhaps, in the future, we might look at grid computing at we look at electrical power today. You
  9. 9. simply plug your appliance in and you pay for the amount of processing power you use. WHAT IS POV RAY? POV-Ray is a high-quality, freely available ray-tracing software package that is available for PC, Macintosh and UNIX platforms. Yes, that's right, it's free! If you're a programmer interested in POV-Ray, you can also pick up a copy of the source code without charge. POV-Ray is perhaps one of the most commonly used ray-tracing software to date, because of its relative ease of use, cheap price, and high quality.POVRay is one of the most popular ray-tracing programs to date. POV-Ray is no toy. Despite not generating any direct income from their POV-Ray software, the POV-Ray Team has managed to create a commercial-quality product and, in the true spirit of the Internet, distribute it widely and without charge. As a consequence, POV-Ray is one of the most popular ray-tracing programs to date. POV-Ray is what is known as a "rendering engine". What this means is that POV-Ray will take a file as input and generate an output file, but does not have much in the way of interface
  10. 10. 1. What type of object you want (one of POV-Ray's simple objects or one you've created yourself); and 2. Various attributes of the object (its color, how it reflects light, etc). WHAT IS RAY-TRACING? Ray-tracing is a method of creating visual art in which a description of an object or scene is mathematically converted into a picture. In more precise terms, ray-tracing is the process of mathematically generating near-photorealistic images from a given description of a scene via geometrical modeling of light rays. Ray-tracing can generate very beautiful and complex scenes, and can open exciting possibilities as a new method of creating visual art. One of the most important advantages of computer-based raytracing over more "orthodox" art forms is that it removes the need for technical skills (such as the ability to paint, draw, or sculpt) that may take years to master, and places the burden on the computer. This leaves the user to be as creative as possible, without having to spend years learning difficult skills.
  11. 11. Ray-tracing can require millions and even billions of complex mathematical calculations and, as such, is usually done by computer (and even then, is not a speedy process). Usually, in the computerbased ray-tracing procedure, a file containing the description of a scene (in terms that the ray-tracing software can understand, and usually in some human-readable format) is converted, by the computer, into an actual image of the scene. HOW DOES RAY-TRACING WORK? We won't go into all the gory details, but having a general understanding of what's going on behind the scenes (so to speak) can be helpful when you start ray-tracing your own images. Although there are several methods of ray-tracing, one of the most common (and the one the POV-Ray software package uses) works something like this: First, an internal model of the scene is generated, with your computer screen included as the receiving "eye" in the model. Then, the software traces imaginary light rays backwards from where their endpoint lies (a pixel on your computer screen) to their initial point (some light source in the scene). This step is repeated, pixel by pixel, until the entire image has been created.
  12. 12. The reason the software traces the light rays backwards, instead of starting at the light source, is for efficiency's sake -- if a light ray doesn't end up on your screen, then you, as the user, don't care about it (because you'll never see it). By tracing the light rays backwards, beginning at the computer screen, the software can assure that every light ray it calculates is one you care about, because it knows that it will end up on your screen. In their journey, the light rays can be reflected by mirrors, refracted by glass, or undergo various other contortions, all of which result in a single pixel of the final image. Because the ray-tracing software must trace one ray of light for each pixel in the output image, and because the light rays can undergo so many contortions, the process of raytracing can take a very long time, depending on the size and complexity of the image and the processing power of your computer. Unless you have an extraordinarily fast computer, you will most likely find yourself waiting around impatiently for your scene to finish rendering once you've begun to ray-trace in earnest. REQUIREMENTS This chapter describes requirements, purpose and goals of the Java Grid Prototypes. Goals and requirements are structured in the following sections: Purpose and goals – defines the overall goals of the prototype. Requirements – defines the functional and technological requirements of the prototype. Primary use cases – describes the functionality of the prototype as a
  13. 13. set of primary Use cases or scenarios. PURPOSE ANS GOALS The purpose and goal of the Java Grid prototypes are to show that a grid system based on the distributed nature of Java can be build and that it solves many of the difficult problems in distributed systems and grid technology rather smoothly .It is not the intension to create a complete system that engages and solves all problems and problem areas of grid computing and distributed systems in general. REQUIREMENTS In this section we will list functional and technological requirements that the Java Grid prototypes will have to meet. To define the functionality of the prototypes requirements are defined as both positive (included) and negative (excluded) requirements. OVERVIEW OF REQUIREMENTS AND PRIMARY USE CASES The requirements are listed in the following. All requirements are prioritized according to their importance in realizing a system for real. The priority levels can be summarized like this:
  14. 14. Priority 1 – Essential requirement. Priority 2 – Important requirement (should be included in a real grid). REQUIREMENT PRORITY Grid participant (clients, grid nodes) can 1 communicate over a TCP/IP-based intranet or LAN. Services are defined as Java byte code 1 (Java classes/jar files) that implements the necessary interfaces. Support for Windows 2000/XP with Java 2 1 SE 1.4. Support for fault tolerance and high 1 availability (reliability). Support for Service descriptors – in form 1 of Java interfaces. Grid participants (clients and grid nodes) can Communicate over the Internet. 2
  15. 15. FUNCTIONAL REQUIREMENTS DYNAMIC HOSTING AND DEPLOYMENT OF APPLICATION TASK The Grid must be able to host applications defined by users and uploaded dynamically. FAULT TOLERANCE AND HIGH AVAILABILITY
  16. 16. When hosting an application task (job or service) the Grid must provide high availability features that can guaranty that if the machine or server node hosting the task crashes another machine or server node in the Grid can take over after a short delay and carry on as if nothing has happened. SCALABILITY Scalability can have several aspects: • Many concurrent operations • Many simultaneous clients • Large amounts of data SECURITY Security of the Grid involves many aspects of authentication and authorization. TECHNOLOGICAL REQUIREMENTS Supported operating systems and runtime environments The prototype will run on Windows XP Professional with Java 2 Standard Edition version 1.4 (J2SE 1.4) installed. Since the Grid is written in Java it can properly run on must Windows and Unix/Linux-based operating systems for which J2SE 1.4 is available. This is however not a
  17. 17. requirement.
  18. 18. PROBLEM DEFINITION The Existing Model of our Project is the Cluster Computing. In Cluster Computing the nodes have some restrictions. They must be homogeneous in resources. The bandwidth used by a cluster network is high, so network traffic is high. It is restricted to geography. Resources of heterogeneous nature are not applicable. Distributed geography cannot be achieved. Scalability of resources is not possible. Due to the above disadvantages, the time taken for execution is more. So to overcome all these disadvantages, the proposed system was developed. Grid Computing allows using the unutilized resources of other systems. This is achieved by distributing the workload of the system to the other systems in order to use their un-used resources such as their memory, Processor, etc which results in balancing the workload, decreasing the network traffic, bandwidth, etc. This concept is used in our project to render a large image in a very short time by distributing the image to many systems for using their resources
  19. 19. MODULARIZATION OF THE PROJECT Java Grid project is divided into three modules server, client and worker • SERVER MODULE User interface Job Scheduler Workload Management Resource Management Data Management • WORKER MODULE Job Requests Receiver Job Processing Manager Job Requests Sender • CLINET MODULE Job Fragmenter Job Requests Sender Job Results Receiver Job Results Aggregator

×