An Architecture For Computational Grids Based On Proxy Servers

Similar documents
WHITEPAPER. Security overview. podio.com

UNIVERSITY OF CAGLIARI

A Resource Discovery Algorithm in Mobile Grid Computing Based on IP-Paging Scheme

Grid Computing Middleware. Definitions & functions Middleware components Globus glite

Boundary control : Access Controls: An access control mechanism processes users request for resources in three steps: Identification:

OpenIAM Identity and Access Manager Technical Architecture Overview

A User-level Secure Grid File System

Sparta Systems TrackWise Digital Solution

Virtualization and Softwarization Technologies for End-to-end Networking

Citrix NetScaler 10.5 Essentials and Networking (CNS-205)

QuickSpecs. Compaq NonStop Transaction Server for Java Solution. Models. Introduction. Creating a state-of-the-art transactional Java environment

1.1 Jadex - Engineering Goal-Oriented Agents

Critical Infrastructure Protection for the Energy Industries. Building Identity Into the Network

Cloud Operations for Oracle Cloud Machine ORACLE WHITE PAPER MARCH 2017

IP Mobility vs. Session Mobility

1.4 VPN Processing Principle and Communication Method

Privileged Identity App Launcher and Session Recording

Deploying and Administering Cisco s Digital Network Architecture (DNA) and Intelligent WAN (IWAN) (DNADDC)

Technical Overview of DirectAccess in Windows 7 and Windows Server 2008 R2. Microsoft Windows Family of Operating Systems

2013 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media,

Sentinet for Microsoft Azure SENTINET

TECHNOLOGY Introduction The Difference Protection at the End Points Security made Simple

Wireless Security Access Policy and Agreement

The University of Oxford campus grid, expansion and integrating new partners. Dr. David Wallom Technical Manager

(2½ hours) Total Marks: 75

Configuring SSL CHAPTER

ipad in Business Security Overview

TIBCO Cloud Integration Security Overview

NERC CIP VERSION 6 BACKGROUND COMPLIANCE HIGHLIGHTS

Chapter 1: Distributed Information Systems

IOS: A Middleware for Decentralized Distributed Computing

OmniRPC: a Grid RPC facility for Cluster and Global Computing in OpenMP

CISCO IT DEPARTMENT DEPLOYS INNOVATIVE CISCO APPLICATION- ORIENTED NETWORKING SOLUTION

Citrix NetScaler 10.5 Essentials for ACE Migration (CNS-208)

Grids of Agents for Computer and Telecommunication Network Management

Guideline for Determining the TOE

Fall 2010/Lecture 32 1

Outline Key Management CS 239 Computer Security February 9, 2004

Virtualized Network Services SDN solution for enterprises

A Study of High Performance Computing and the Cray SV1 Supercomputer. Michael Sullivan TJHSST Class of 2004

TECHNICAL AND ORGANIZATIONAL DATA SECURITY MEASURES

Virtualized Network Services SDN solution for service providers

Introduction and Statement of the Problem

Cisco 5921 Embedded Services Router

Advanced Junos Enterprise Routing (AJER)

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

Avaya ExpertNet Lite Assessment Tool

WHITE PAPER Cloud FastPath: A Highly Secure Data Transfer Solution

Implementation Guide - VPN Network with Static Routing

How Managed File Transfer Addresses HIPAA Requirements for ephi

ITU-T Y Next generation network evolution phase 1 Overview

The World Wide Web is widely used by businesses, government agencies, and many individuals. But the Internet and the Web are extremely vulnerable to

Data Domain OpenStorage Primer

Introducing Cisco IPICS

Junos Security Bundle, JSEC & AJSEC

Chapter 4. Fundamental Concepts and Models

Five Key Considerations When Implementing Secure Remote Access to Your IIoT Machines. Blanch Huang Product Manager

Cisco 5921 Embedded Services Router

Technical Requirements Policy for IX.br - V1.0

VII. Corente Services SSL Client

INTERNET OF THINGS (IoT) DESIGN CONSIDERATIONS FOR EMBEDDED CONNECTED DEVICES ANDREW CAPLES SENIOR PRODUCT MARKETING MANAGER, NUCLEUS

Chapter 5 INTRODUCTION TO MOBILE AGENT

BIG-IP Acceleration: Network Configuration. Version

Veeam Cloud Connect. Version 8.0. Administrator Guide

13. Databases on the Web

BMC Remedyforce Discovery and Client Management. Frequently asked questions

HART COMMUNICATION. A Digital Upgrade For Existing Plants

IBM Secure Proxy. Advanced edge security for your multienterprise. Secure your network at the edge. Highlights

FlexiNet. A flexible component oriented middleware system. Introduction. Architecting for Components. Richard Hayton, Andrew Herbert. APM Ltd.

Remote power and console management in large datacenters

Construction and Application of Cloud Data Center in University

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

THE VEGA PERSONAL GRID: A LIGHTWEIGHT GRID ARCHITECTURE

Configuring SSL. SSL Overview CHAPTER

Secure Web Appliance. SSL Intercept

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP LTM for SIP Traffic Management. Archived

Internet Research Task Force (IRTF) Category: Informational May 2011 ISSN:

Configuring SSL. SSL Overview CHAPTER

Customer Onboarding with VMware NSX L2VPN Service for VMware Cloud Providers

TTerm Connect Installation Guide

Proxy POP3S. then authentication occurs. POP3S is for a receiving . IMAP4S. and then authentication occurs. SMTPS is for sending .

Database Server. 2. Allow client request to the database server (using SQL requests) over the network.

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Sophos Mobile Control Technical guide

PCI DSS Compliance. White Paper Parallels Remote Application Server

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore

CS 356 Internet Security Protocols. Fall 2013

Subject Name:Operating system. Subject Code:10EC35. Prepared By:Remya Ramesan and Kala H.S. Department:ECE. Date:

Course 40045A: Microsoft SQL Server for Oracle DBAs

Product Overview. Revision 5

SC27 WG4 Mission. Security controls and services

Securing VMware NSX-T J U N E 2018

Configuring SSL Security

Cloud Service SLA Declaration

An Approach to Software Component Specification

Read the following information carefully, before you begin an upgrade.

Cycle Sharing Systems

HPX. High Performance ParalleX CCT Tech Talk Series. Hartmut Kaiser

Interdomain Federation Guide for IM and Presence Service on Cisco Unified Communications Manager, Release 11.5(1)SU2

Transcription:

An Architecture For Computational Grids Based On Proxy Servers P. V. C. Costa, S. D. Zorzo, H. C. Guardia {paulocosta,zorzo,helio}@dc.ufscar.br UFSCar Federal University of São Carlos, Brazil Abstract The Computational Grid concept allows for large-scale resource sharing. The implementation of Grid environments relies on the existence of a communications infrastructure and efficient resource management. Access control and secure communication are also required. Architectures to support Computational Grids can be developed in a variety of ways. This work presents an approach to create a Grid architecture based on Proxy Servers. This approach is intended to offer transparency and easy lightweight deployment architecture. 1. Introduction The advances attained in data communication and the popularization of the Internet serve as the basis for a new, less centralized approach aimed at achieving greater computational power. The discovery that the majority of the more than 400 million computers around the world are inactive most of the time [1] has motivated the creation of a distributed and shared architecture aimed at taking advantage of this potential. This architecture became known as Grid, an analogy of the energy distribution nets [2] involving generating resources and consumers interlinked through a distribution net. Similarly, the computational Grid is a hardware and software infrastructure interlinking computational capacity and making its resources available for use. The infrastructure of a Computational Grid should supply basic services for control, communications and secure sharing among the Grid s resources. Because this computational structure is highly distributed, shared, and sometimes interlinked through a public data communications channel, security is also a crucial issue. Grid design involves the use of distributed computational resources for the solution of specific problems. The development of an infrastructure for the implementation of general purpose Grids is also discussed in projects such as [3], [4]. The purpose of the work reported on here is to develop a basic and expandable infrastructure for Grid Computing that allows for the introduction of a new Proxy server-based approach. Based on the layer model, this architecture provides the grid s basic communication, security, control and monitoring services. Added to these characteristics is the distributed programming interface support Message Passing Interface (MPI) [5], which is simple and transparent. The strong points of the architecture are its transparency, simple use and low interference in the installed base. As a result, a new architecture is sought to foment research in the area and to serve as the basis for future work developed within the ambit of Grid Computing, including distributed thread support, load balancing mechanisms, and distributed filing systems. The first phase of the design consists of creating a basic layered infrastructure, serving as the basis for the subsequent phases of the design that complete the architecture. The functions predicted for the initial phase are: Authentication: the host is authenticated through digital certificates along with user authentication based on userid and password; Secure Communication: communication between sites is safe and transparent using the SSL protocol, which allows for tunneling of traffic between sites, regardless of the application used; MPI Support: greater advantage can be taken of the MPI applications through this architecture, since they can be executed using machines and clusters spread around several sites, without the need for alteration of the application code or for installation of new communication tools, thereby ensuring transparency and greater availability and utilization of resources to the user. Section 2 presents and discusses the proposed architecture and the layer modeling of its modules, while section 3 describes the functions developed in the first phase of the design and section 4 outlines our initial conclusions.

2. Architecture and Modeling of the Infrastructure In the field of distributed computation, grid computing has gained strength and visibility in recent years, driven by the P2P file exchange applications and by initiatives such as SETI@home [6]. The universe of idle machines around the world confirms the immense potential of grid computing. This available computational capacity can generate until recently unheard-of applications. However, this success depends on a control infrastructure that allows for the efficient sharing of these resources, maintaining the priority of the resource s owner and security of the information transported. Other resources such as load balancing, authentication, flaw recovery, resource and task storage, and reward mechanisms are also desirable. The services provided by the grid computing require careful planning and must take into account several aspects, such as: The security of the user making his resources available for use in the grid; The priority of the resource s utilization by the user of the machine and not by third party applications; The overhead generated in the Grid s maintenance cannot exceed that of the resources obtained; Facility of and transparency in the utilization of the resources; Recovery of system flaws and of users applications. The modeling of this infrastructure was based on some concepts and standards that are beginning to be defined [7], albeit with a certain degree of innovation. This has resulted in a differentiated approach to meet the proposed requirements and objectives, while remaining close to the concepts currently in use. The definition of the architecture proposed here refers to the composition and architecture of computer networks to delimit the space of the computational grid and its components. Computer networks are linked by gateways and routers that act as interconnecting points between them. These access points supply several services that allow for communication between computers located in different networks, regardless of the architecture or the local net protocol used. Based on this concept and considering that the grid is a logical and virtual delimitation of a group of computer networks, a close relation clearly exists between the structures of the two. Thus, based on the observation of the structuring of computer networks, this paper suggests a Proxy server-based architecture. This entity acts similarly to a gateway, serving as an interconnecting point between the sites that make up the computational grid. Figure 1 illustrates the grid architecture and the proxy s position in that architecture. Using this approach, a simple architecture is sought that is transparent for the user and that can be incorporated easily into the net, without requiring alterations in the infrastructure. The control and the functionalities of the grid are introduced at the site s border rather than individually in each node. Figure 2 shows the composition of the system s architecture, which is modeled in layers. This paper presents layers 1, 2, 3 and 4, which were implemented, respectively, to support communication, security, control of the grid and support for MPI applications. Figura 1: General view of the architecture

Layers 1, 2 and 3 comprise part of the system s Middleware, which is responsible for the Grid s interconnection and control services. The Middleware defines the functions that enable communication in distributed systems and the tools that improve the usability of an architecture built on multiple platforms or software. Therefore, the software layer allows for data sharing among systems whose communication is not simple or conventional, i.e., it is responsible for intermediating different applications. The proposed Middleware will thus link and mediate the applications in the grid. Control and monitoring services: among other services, this layer contains the load balancing, information collector, and resource location services; Grid API (3): this layer contains grid manipulation functions, returning, for instance, the state of a station (availability of RAM memory, CPU and HD); Host authentication and Permissions check (2): this layer complements the security requirements, authenticating stations and discarding unauthorized traffic. It also offers safe communication by encrypting data; Communication (1): this layer contains the resources that control and enable communication between the sites that make up the grid; UDP/TCP: this layer constitutes the net protocols that supply the basis for communication; SSL: a security protocol that supplies the functions for safe communication and for station authentication. New safety mechanisms can be inserted at this level of the architecture with the purpose of increasing the system s functionalities and compatibility. Figure 2: The Grid s layered architecture Web Access Interface / Command line: this layer provides the user with an access interface through which he/she interacts directly or indirectly with the Grid s functions. In addition to the command line, the user will have a Web page at his/her disposal, facilitating access to information; Resource scheduling: this layer is responsible for providing functions that allow for the scheduling of computational resources. Using this service is important to optimize the Grid utilization; MPI Support (4): using this layer, applications written in MPI can be executed transparently in the Grid, i.e., without the need to alter any code; Threads: offer support for the management of threads, regardless of the library used; Security - client authentication (2): this layer is responsible for providing user authentication and right of access. Thus, the layer blocks unauthorized access to the resources, ensuring the system s reliability and security; 3. Structure of the Architecture Although the proposed architecture foresees support for the use of many models of application and standardized distributed programming interfaces, this design places strong emphasis on the transparency of its operation. This is strongly sought through the implementation of the proxy model. The proxy generally aims to allow for the reduction of interferences in the installed software base, allowing the grid s resources to be used without requiring modifications of preexisting configured environments. Moreover, its simple use by existing applications is emphasized. Implementation of the proxy was divided in layers to allow for its implementation in parts and for new layers to be inserted or functionalities to be added without the need to change the entire architecture. The basic communication layer is responsible for interconnecting the proxies of all the sites that comprise the grid, providing specific communication channels for data traffic and control. The control communication was standardized through the creation of a protocol used among the proxies. The codes used in this protocol can be expanded to deal with a new situation.

Figure 3: (a) local communication (b) communication using MPI proxy support The security layer was set up to use the functions provided by the SSL protocol, offering a secure channel among the sites and an authentication mechanism. For purposes of implementation, an open implementation of the SSL Protocol was used [8]. For the purpose of issuing certificates, the creation of a Certification Authority (CA) for the entire grid is recommended, providing greater autonomy for the creation and management of certificates. Another point to be highlighted in the proposed approach is the communication security mechanism. Traffic tunneling was chosen, using SSL only among the sites. By default, the local communication at each site is not encrypted, based on the assumption that communication inside the site is already safe. This approach is interesting in the interconnection of clusters and of sites that use some other internal security process. If a node in the site requires a safe channel, it can be made available by the proxy through an explicit call. At least one proxy server per site is required to compose the grid, although configurations with more than one proxy server per site are also accepted. The control and collection of status information on the grid are done in a distributed form, with each proxy responsible for the collection and control of the site where it is located. The global status is obtained by compilation of all the sites data. This approach reduces the overhead in the control communication, since it is not always necessary to check the grid s overall status, but only that of some of the sites. Similarly to monitoring, user control and authentication is done by the proxy. User authentication is done through digital signatures and access permissions are validated at the originating and destination proxies. Access permissions can be controlled individually or by user groups. This distributed control reduces the effect of failures on a given site or proxy. This method does not cover all the requirements and its replacement by a more efficient method has already been foreseen. Thus, the idea is to use a recognized authentication standard such as Kerberos [9], which requires a single authentication per session, with the access rights stored safely in a ticket and reused transparently, without the need for user intervention. Unlike other approaches such as Globus [3], MPI interface programming is supported externally, without direct intervention on the MPI source code. This approach offers the following advantages: Reusability: using the created tools, future applications can be incorporated easily without requiring intervention in the source code. Moreover, the source code cannot always be accessed; Reliability: the internal insertion of a code in the application increases the probability of failures triggered by the application. In the case of an external approach, the identification of failures and their effect on the architecture can be reduced more effectively; Reduction of the overhead: the overhead generated by control and security information, such as encrypted data, is introduced in only a few nodes rather than in all of them. Let us consider, as an example, the interconnection of clusters through the grid. In the traditional approaches, because the security falls within the MPI application, all the cluster s nodes reflect the overhead generated by the grid s safe communication and control. In the case of

the approach proposed here, the information with be tunneled only among cluster edges and not inside them. To support the MPI applications and allow them to be executed in the entire grid, the proxy acts as a multiplexer of the communication between the root process and its respective slaves. This approach gives the MPI the illusion of a single virtual cluster. To achieve these results, it was decided not to interfere internally in the MPI, but to use the proxy as the entity responsible for providing the MPI with the necessary abstraction. This was done by creating virtual slaves in the proxy that communicates directly with the MPI root process. The virtual slaves pass on the information through safe channels to the respective destination proxy, which passes it on to the respective real nodes responsible for executing the process. The virtual slaves thus constitute the abstraction that provides the illusion of the virtual cluster. For each MPI application started in the grid, a new address space associated to this application is created in the proxy. Based on the parameters provided by the user or by a standard configuration, the proxy distributes the processes throughout the grid, creating the virtual slaves and associating them with the real nodes. This mapping done by the proxy is transparent for the application and can be seen as a multiplexion of the communication between the source and the destination. It should be noted that, apart from the MPI and the introduction of a proxy server at the sites, the installation of an additional module at the client is unnecessary. This facilitates its usability in existing structured environments. Figure 3.a illustrates the communication of an MPI application in a local network, while Figure 3.b portrays multiplexion of the communication done by the proxy to allow for safe tunneling of traffic. Another feature to be incorporated into the proxy is the process scheduler, which provides balanced process distribution using the grid s status information. This function, called load balancing, ensures the best possible use and optimization of the available resources. Because the MPI applications are controlled and supported by the proxy, the inclusion of this module will also allow for the load balancing of the MPI applications. In its original form, the MPI uses the round-robin method to distribute the processes among the nodes. 4. Conclusions Grid Computing is the next step in the construction of large distributed systems. The joining of resources potentiates possibilities and opens doors to applications unheard-of until quite recently. Due to its vast scope and complexity, which encompasses many areas of distributed computing, Grid Computing has introduced new challenges to be overcome by researches and systems engineers. This paper presents a new architectural approach for Grid Computing based on proxy servers, but also using concepts established by other recognized projects [3] [4] [7] [10]. Based on this approach, a small through efficient infrastructure was created that facilitates deployment in a Grid structure, without requiring major modifications of the existing software base. The infrastructure created will serve as the basis for research and development of future efforts in the field of Grid Computing. The idea of supporting the MPI programming interface through a proxy rather than directly in each node has proved viable, and this approach can be expanded to other applications and functions of the grid. 5. References [1] Foster, Interneting Computing and the Emerging Grid, Nature Macmillan Publishers No. 785998 England Dezembro de 2000. www.nature.com/nature/webmatters/grid/grid.html [2] Foster and C. Kesselman, The Grid: Blueprint for a New Computing Infrastructure, Ed. Academic Press, 1998. [3] The Globus Project www.globus.org [4] The Legion Project legion.virginia.edu [5] W. Gropp, E. Lusk, A. Skjellum, Using MPI: Portable Parallel Programming with the Message-Passing Interface. MIT Press, London, 1994. [6] SETI@home setiathome.ssl.berkeley.edu [7] W. Johnston and J. Brooke, Core Grid Functions: A minimal Architecture for Grids, Grid Protocol Architecture Working Group, Version 3, July 2002. - grid.lbl.gov/gpa [8] OpenSSL Project - www.openssl.org [9] J. Kohl and C. Neuman, The Kerberos network authentication service (v5), Internet RFC 1510, Setembro de 1993. [10] R. Buyya, Economic-based Distributed Resource Management and Scheduling for Grid Computing, PhD Thesis, School of Computer Science and Software Engineering Monash University, Melbourne, Austrália, Abril 2002.