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

Slides:



Advertisements
Similar presentations
LEAD Portal: a TeraGrid Gateway and Application Service Architecture Marcus Christie and Suresh Marru Indiana University LEAD Project (
Advertisements

DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Web Service Architecture
Kensington Oracle Edition: Open Discovery Workflow Meets Oracle 10g Professor Yike Guo.
Introduction to .NET Framework
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Database System Concepts and Architecture
1 Software & Grid Middleware for Tier 2 Centers Rob Gardner Indiana University DOE/NSF Review of U.S. ATLAS and CMS Computing Projects Brookhaven National.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
The Cactus Portal A Case Study in Grid Portal Development Michael Paul Russell Dept of Computer Science The University of Chicago
CSE3030Lecture 11 Know Your User The First Slogan.
Interpret Application Specifications
Ch 12 Distributed Systems Architectures
The Architecture of Transaction Processing Systems
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
3.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 3: Introducing Active Directory.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Overview of Database Languages and Architectures.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
ISYS 350 Business Application Development
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Introduction to Microsoft Windows 2000 Integrated support for client/server and peer-to-peer networks Increased reliability, availability, and scalability.
DISTRIBUTED COMPUTING. Computing? Computing is usually defined as the activity of using and improving computer technology, computer hardware and software.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
Experiment Management System CSE 423 Aaron Kloc Jordan Harstad Robert Sorensen Robert Trevino Nicolas Tjioe Status Report Presentation Industry Mentor:
Configuring and Deploying Web Applications Lesson 7.
IPS Infrastructure Technological Overview of Work Done.
Module 1: Introduction to Microsoft SQL Server Reporting Services
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
J2EE Platform Overview (Application Architecture)
Introduction ITEC 420.
Netscape Application Server
SuperComputing 2003 “The Great Academia / Industry Grid Debate” ?
Introduction to Visual Basic 2008 Programming
Platform as a Service.
Introduction to .NET Framework Ch2 – Deitel’s Book
Chapter 18 MobileApp Design
University of Technology
Chattrakul Sombattheera
Module 0: Introduction Chapter 2: Getting Started
Module 1: Getting Started
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
CIS16 Application Development – Programming with Visual Basic
Analysis models and design models
An Introduction to Software Architecture
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
The Anatomy and The Physiology of the Grid
The Anatomy and The Physiology of the Grid
Mark Quirk Head of Technology Developer & Platform Group
Web Application Development Using PHP
Presentation transcript:

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

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

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

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 

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

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

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

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

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, , 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

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.

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

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

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.

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.

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

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.

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

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

Questions? Bruce Long: Vladimir Getov: