Walter Binder Giovanna Di Marzo Serugendo Jarle Hulaas

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Walter Binder University of Lugano, Switzerland Niranjan Suri IHMC, Florida, USA Green Computing: Energy Consumption Optimized Service Hosting.
Chapter 2: Problem Solving
Chapter 10 Operating Systems.
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.
GridFlow: Workflow Management for Grid Computing Kavita Shinde.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Microsoft ® Application Virtualization 4.5 Infrastructure Planning and Design Series.
A Seminar on Securities In Cloud Computing Presented by Sanjib Kumar Raul Mtech(ICT) Roll-10IT61B09 IIT Kharagpur Under the supervision of Prof. Indranil.
WP6: Grid Authorization Service Review meeting in Berlin, March 8 th 2004 Marcin Adamski Michał Chmielewski Sergiusz Fonrobert Jarek Nabrzyski Tomasz Nowocień.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Naixue GSU Slide 1 ICVCI’09 Oct. 22, 2009 A Multi-Cloud Computing Scheme for Sharing Computing Resources to Satisfy Local Cloud User Requirements.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
A Lightweight Platform for Integration of Resource Limited Devices into Pervasive Grids Stavros Isaiadis and Vladimir Getov University of Westminster
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Frascati, October 9th, Accounting in DataGrid Initial Architecture Albert Werbrouck Frascati, October 9, 2001.
Distributed Systems: Concepts and Design Chapter 1 Pages
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Copyright © Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Operating System Principles And Multitasking
Distributed System Services Fall 2008 Siva Josyula
Unit 9: Distributing Computing & Networking Kaplan University 1.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
1 VLDB - Data Management in Grids B. Del-Fabbro, D. Laiymani, J.M. Nicod and L. Philippe Laboratoire d’Informatique de l’Université de Franche-Comté Séoul,
DataTAG is a project funded by the European Union International School on Grid Computing, 23 Jul 2003 – n o 1 GridICE The eyes of the grid PART I. Introduction.
Evolution of C and C++ n C was developed by Dennis Ritchie at Bell Labs (early 1970s) as a systems programming language n C later evolved into a general-purpose.
Enabling Grids for E-sciencE Claudio Cherubino INFN DGAS (Distributed Grid Accounting System)
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
CT101: Computing Systems Introduction to Operating Systems.
Self-Organising Design Patterns Giovanna Di Marzo Serugendo Jose-Luis Fernandez-Marquez University of Geneva
Development Project Dr Kris Welsh Dr Raheel Nawaz.
Bob Jones EGEE Technical Director
Workload Management Workpackage
Computer Organization
Memory Management.
Basic Computer Organization and Design
Processes and threads.
Component and Deployment Diagrams
AWS Integration in Distributed Computing
Prepared by: Assistant prof. Aslamzai
A. Rama Bharathi Regd. No: 08931F0040 III M.C.A
Study course: “Computing clusters, grids and clouds” Andrey Y. Shevel
Introduction to Operating System (OS)
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Aziz Nasridinov and Young-Ho Park*
University of Technology
Exploring Azure Event Grid
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Computer-System Architecture
3 Cloud Computing.
Unit 1: Introduction to Operating System
Chapter 1 Introduction(1.1)
"Cloud services" - what it is.
An Introduction to Software Architecture
Organisational NRW Management
Chapter 2: Operating-System Structures
Introduction to Operating Systems
Wide Area Workload Management Work Package DATAGRID project
Chapter 2: Operating-System Structures
Operating System Overview
Grid Computing Software Interface
Presentation transcript:

Walter Binder Giovanna Di Marzo Serugendo Jarle Hulaas Towards a Secure and Efficient model for Grid Computing using Mobile Code Walter Binder Giovanna Di Marzo Serugendo Jarle Hulaas This presentation is about Grid computing and I will discuss a mobile agent-based model that addresses the issues of : - application distribution - security - billing and accounting of computations MOS’02 / June 2002 Giovanna Di Marzo Serugendo

Introduction Grid Computing Resources Grid Projects “Controlled and coordinated resource sharing and problem solving in virtual organisations” -- The Globus Project Resources Computational, Storage, Network Tools, Software, Data, CPU, Disk Storage Grid Projects DataGrid: CERN High-Energy Physics, Biology, Earth Observation Globus Toolkit What is Grid computing? Grid Computing is concerned with the distributed computations realised on world scale. Several organisations, wishing to collaborate, decide to share their resources. Resources are of different nature: related to computation, storage or network. For instance, there is a sharing of tools, software, data, cpu, or disks. Among Grid projects, I can mention the DataGrid project from the CERN in Geneva, which is concerned with three kinds of applications: hep, biology, and earth observation The Globus project aims at providing a complete toolkit which takes which encompasses: localisation and reservation of resources, sequence of calculus, handling of code, fault-tolerance, security, and access control customizable on each site.

Grid Data1 R Data2 Code Code(Data1,Data2) Here is a small example of a possible Grid computation. We can see the different actors of the computation: - Client wishing to perform some computation - Donators that provide some resource: here we have one donator which holds the computing power (CPU), several other donators storing the input data, and the code which has to be executed - We can notice that: data, code, and computation are located at 3 different sites. During the computation: Input Data and Code are sent to the cpu donator. The computation takes place there, and the result is then sent to the client.

Agent-Based Model Single Operator Mobile Agent Business Model Downloading of the application security and accounting preparation Distribution scheme of application Mobile Agent Distribution of application and input data Monitoring of computation (resource report) Integration of computed results Business Model Micro-payments The Agent-based model that we propose involves several parties: - Client and Donators (as we have seen in the previous example), and also ... - A single operator which is responsible for first downloading the application and preparing it for security and accounting operations, and second for choosing a distribution scheme for the application (choice of the donators) - A mobile agent (one per application), which is responsible for actually realising the distribution by dispatching the input data and the different parts of the code to the donators. He must also monitor the execution of the computation, look at resource consumption, inform the operator if resources become scarce. Finally, at the end of the computation, the agent collects and integrates the results. - The model encompasses a business model, where clients pay the operator for the resources they consume, and donators are paid by the operator for the resources they provide. The business model consists in micro-payments for CPU, memory usage, and data transfer over the network.

Addressed Issues Distribution of Computation Security Deployment descriptor code, data, result location / composition of computation Mobile Agent agent platform at client and donators sites Security Operator downloads and signs the code (filter) Secure Java environment for computations Billing and Accounting Operator reifies (rewrites) the code Execution tickets The issues addressed by the model are the following: - First, the distribution the computation, second the security aspect, and finally billing and accounting of resources consumption. Regarding the distribution of the computation: the client sends to the operator a deployment descriptor which explains where to find the code, the input data, and where to store the final results. It describes also how to perform the combination of computations (a sequence of operations, several computations on diverse data input, etc) The second aspect, the security is ensured first by the operator which operates as a kind of filter: it downloads the code, and prepares it for security. Second, the donators run a secure Java environment where the computations take place. Finally, regarding the billing and accounting issue, the operator after downloading the code, rewrites it for resource accounting. It prepares the bytecode, in order to enable run-time accounting of CPU and memory consumption. The business model completes this scheme, by employing execution tickets that clients have to buy to the operator.

Deployment 1 5 3 2 7 4 6 9 8 Mobile Agent I will now sketch the distribution of an application, its execution, and the collection of the results in this model. In this example client, donators, input data, and results are all located at different sites. First, the distribution of the application: 1. Donators and clients register to the operator. Donators inform the operator about the available resources 2. The client sends the deployment descriptor 3. On the basis of the deployment descriptor and the availability of the donators the operator chooses a distribution scheme. It creates also a mobile agent dedicated to the coordination of the application execution. 4. The operator downloads the code from its location 5. It reifies it for resource accounting 6. It deploys the different parts of the application to the donators 7. It dispatches the agent to some location, where it can monitor the execution 8+9. The agent starts the computation by informing the donators where they can find their respective input data Finally, the different parts of the computation start. 8

Monitoring 12 13 14 11 This was the preparation of the computation distribution, and the start of the computations. During the execution, the agent performs several monitoring tasks: 10. It receives regular starus report from the donators. It looks at the progress of computations, and may detect problems. 11. Status reports are forwarded to the operator 12. On the basis of the status report, the operator may decide to ask the client for more credit 13. The client buys some more execution tickets 14. The operator passes the tickets to the agents 15. Which forwards them to the donators. 15 10

Results 17 Mobile Agent 16 Once the different computation parts are finished: 16. the agent may move to the destination place, where results will be stored. 17. It will then receive, and assemble the different flows of data.

Platform Platform Requirements J-Seal2 Extensions Portability, performance, security J-Seal2 Java-based, Seal computations Extended bytecote verification Secure environment for Grid computing Resource control Extensions Control execution of applications: installation, access to resources Monitoring: overloading detection The platform where the computations occur (applications and mobile agents) must satisfy the requirements of : - portability: code to execute may be executed to any donator; - performance: clients do not want to pay to much; and - security: both clients and donators must receive security assurances: integrity of computations, results, confidentiality The chosen platform, is the J-Seal2 platform which is a micro-kernel implemented in Java, supporting the Seal calculus model. J-Seal2 manages a tree hierarchy of nested but separated tasks. Each task is subject to verification by its supervisor task. Extended bytecode verification is performed before a class is loaded, thus preventing untrusted code to access certain system services. J-Seal2 supports resource control for physical and logical resources. It relies on bytecode rewriting. It reifies memory and cpu consumption. However, J-Seal2 is not ready for Grid computing. It needs some extensions, in order to allow full implementation of the model. A component responsible for installing terminating untrusted applications, and for the access to resources. A monitoring system detecting if a machine is busy or idle

Conclusion Open Questions Future Work Efficiency of model Precise description of the business model Donators discovery: Jini-style ? Integration into a complete Grid solution (Globus-like) Future Work JSeal2 extension Mobile Agent implementation There are several open issues, and open questions: - the actual efficiency of the whole model, that cannot be determined before complete implementation of all control mechanisms - we need also to precise the business model, how to avoid faking of execution tickets? - regarding the discovery of idle donators should we follow a Jini-style of discovery? - finally, how this technique could be integrated into a whole toolkit such as the Globus toolkit? Future work: naturally are related to the implementation of the JSeal2 extensions discussed before, and to the implementation of the mobile agent responsible for application distribution and execution.