Presentation is loading. Please wait.

Presentation is loading. Please wait.

Architecture for a Portable Grid-enabled Engine School of Computer Science University of Westminster - London Bruce Long Vladimir Getov.

Similar presentations


Presentation on theme: "Architecture for a Portable Grid-enabled Engine School of Computer Science University of Westminster - London Bruce Long Vladimir Getov."— Presentation transcript:

1 Architecture for a Portable Grid-enabled Engine School of Computer Science University of Westminster - London Bruce Long Vladimir Getov

2 An architecture for producing a distributed computing system which has a single- system-image for users, compilers, applications and services

3 A Checklist of Requirements for a “Single Logical Computer” Components of a Distributed Computing System Source of Computing Resources Open Grid Services Architecture (OGSA) Two solutions from which to cull ideas >>  Solution

4 A Checklist of Requirements for a “Single Logical Computer” Computing Platform User Interface Toolkit Software Engineering Toolkit Languages, Development Cycle Mgmt., Other Tools Abstract from: Host Platform Device Type User UI Prefs. Namespace Management (Devices, Files, Objects) Refer to, predict, manage, manipulate, and query. Two solutions from which to cull ideas >> ? Components of a Distributed Computing System Source of Computing Resources Open Grid Services Architecture (OGSA) Solution 

5 Solution 1: Everyone uses a single technology Computing Platform Software Engineering Toolkit User Interface Toolkit Namespace Management (Devices, Files, Objects) Java Swing java.io, java.grid, java.jdbc java.jxta, java.ogsa, etc. Inflexible: What about Perl, C++, or new, innovative languages? Platform Independence Through Java Solution 1

6 Solution 2 Solution 2: Everyone uses a single vendor Computing Platform Software Engineering Toolkit User Interface Toolkit Namespace Management (Devices, Files, Objects) [ C#, C++, VB, Perl ] => CRL Visual Studio, Source Safe MS-Project, MS-Visio, etc. Windows UI.Net: SQL Server, Active Directory NTFS, DCOM, IIS, ASP.Net, etc. Limited Choice: Wide variety of tools and languages, but only one environment. Tool Independence Through Microsoft

7 The Best of Both Worlds Based upon Grid concepts such as Virtual Orgs., GPA, OGSA, etc. Global, extensible namespace for creating, predicting, and manipulating internal and “real world”, public and private objects. Intermediate language used to support Java,.NET CRL, C++, C#, Perl, and other languages. Binary execution that uses the local system’s processor features and User Interface facilities. And it should all work simply, transparently, reliably, and securely. Wish List for a Grid Services Engine

8 Solution 2 Solution 3: A Portable Grid-Enabled Engine Computing Platform Software Engineering Toolkit User Interface Toolkit Namespace Management (Devices, Files, Objects) Intermediate Language used to specialize binaries for each system and situation UI created at run-time for device and user A Shared Globalized Namespace Wide variety of tools and languages which work in heterogeneous environment. Overview

9 Grid Services Computing Platform Software Engineering Toolkit User Interface Toolkit Simulation VO’s use JXTA to produce a unified namespace A global VO provides a global public namespace It can be used to store public knowledge (datasets, objects, class definitions, etc.) It could provide public services such as IM, DNS, or authentication Users and VOs can create folders under their control for distributed storage for files, streams, email, etc. Local objects can remain separate OGSA and other protocols are used to populate and operate a namespace. All OGSA objects, services, VOs, users, etc. can be placed in the namespace and controlled, queried, and managed through it.  Namespace organization (Devices, Files, Objects) Local and Global Namespace Management

10 How is this extensible namespace managed? Namespace Manager Each engine keeps an object-like model of the World. * Objects can be real objects inside the engine or * They can be models of external state systems that change over time and interact with other systems. * Objects can represent classes. The state of any subsystem in the model can be asserted, modified, or queried using a language called Quanta. Quanta uses expressions that evaluate to objects and classes or manipulations and queries to them on any level of abstraction. As expressions, Quanta representations can be modified algebraically. It is an “Information Algebra.” Quanta can represent objects symbolically. * There can be infinite collections or objects with infinite numbers of properties. * Mathematical objects such as “Groups” or “Real Numbers” can be described. The Real World QUANTA The Namespace Manager uses algebra to create, predict, relate, and interact with internal and external objects, classes, and systems of objects.

11 Web UI? Swing on a Palm? COM? It’s all Grid. By using a mathematical model of objects, hardware, user interface requirements, and UI-types, applications can be reorganized and rebuilt on the fly for different devices, platforms and preferences. The Grid Services “Meta-Platform” Web_Page(PageSpec:Spec) == @{ == { … : == {# ; … PDF_Docs(PDFSpec:Spec) == @{ == { … UI xformsDevice xforms for :I7WLoop:: { >== {… for Hz:, ms: :: beep(%Hz, %ms)== ; for Hz:, ms: :: beep(%Hz, %ms)==<NokiaCalls.Tone… Grid Services Computing Platform Software Engineering Toolkit Namespace Management (Devices, Files, Objects)  Quanta Application Model ----------- App. Logic UI Req’s Local Platform Model Local Hardware Model Custom binary produced for local hardware & platform Simulation  User Interface Toolkit Interfacing with Users

12 For flexibility, there are many modes of execution. By compiling to a mathematical language, or by programming in it directly, the GSP engine can automate and optimize the configuration used to run and manage applications and services via OGSA. The Grid Services Platform Execution Model Direct Model Mode Quanta Code Binary Byte Code Quanta Object Pgmr. writes Quanta code Quanta subtasks are built And managed on an appropriate system as Grid Services. Binary only J2EE /.NET Grid Services Platform Intermediate Language Mode C, Java, C#,.NET Fortran, Etc. Pgmr. writes source code Quanta Code Compiled to Quanta as an Intermediate Lang. Immediate Mode Binary or Byte Code Executable Grid Service is instantiated Grid Services Computing Platform User Interface Toolkit Namespace Management (Devices, Files, Objects)    Software Engineering Toolkit Software Engineering with the Grid Services Platform

13 A Grid Services Engine Summary Every GSE device runs an engine that offers Quanta- specified and legacy Grid services to users, authorized VO members, and other engines. Services offered to local users are in whatever UI the device supports and the user prefers. In running a program, a service or device may request help from other services or devices by calling and managing their services using OGSA. Devices in a VO cooperate to host a virtual namespace naming objects, devices, files and so on on that VO system.

14 A Grid Services Engine Summary Objects in the namespace can be evolving, interconnected systems such as databases or running programs as well as static files and classes. Objects in the namespace can also be external systems such as NASA, Stars, or people. Even historical and future systems can be described. There exists a global namespace on which individuals or VOs can create account. Personal and VO objects, as well as public data and services such as IM, DNS and Authentication, can run on it. Tools for collaboration in VOs can be created, which will provide a democratic means of managing services running in the public namespace.

15 Engine Architecture Platform Engine Host System Grid/Web Server Host User Interface Library Documents Host Environment Documents Local System Documents Platform Adaptor Generic Platform Engine

16 Engine Implementation Class infon (Storing the Namespace) Contains relationship information and other infons Class agent (Processing information) An “ agenda ” stores tasks to be done “ World ” is the top-level infon On loading World, tasks are placed on the agenda Input / Output Autonames: Names that connect to system or library functions.

17 Cooperation among Engines Level 1 Cooperation Engines call each other for pre-defined tasks Level 2 Cooperation Engines share a namespace and agenda Level 3 Cooperation Engines share goals

18 Implementation Status Old version of engine had most logical functionality. New Version is in progress Does not do all logic Should scale much better Processes Streaming Information Cooperation system not yet implemented

19 Questions? Bruce Long: bruce@infomage.com Vladimir Getov: V.S.Getov@westminster.ac.uk


Download ppt "Architecture for a Portable Grid-enabled Engine School of Computer Science University of Westminster - London Bruce Long Vladimir Getov."

Similar presentations


Ads by Google