Load balancing in SOAJA (Service Oriented Java Adaptive Applications)



Similar documents
ADAJ: a Java Distributed Environment for Easy Programming Design and Efficient Execution

Monitoring IBM WebSphere extreme Scale (WXS) Calls With dynatrace

System Models for Distributed and Cloud Computing

Infrastructure as a Service (IaaS)

Praseeda Manoj Department of Computer Science Muscat College, Sultanate of Oman

Comparing Load Balancing for Server Selection Using Cloud Services

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies

Various Schemes of Load Balancing in Distributed Systems- A Review

Dynamic Resource Allocation in Software Defined and Virtual Networks: A Comparative Analysis

Instrumentation Software Profiling

Software Agents in ADAJ: Load Balancing in a Distributed Environment

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

International Journal of Scientific & Engineering Research, Volume 6, Issue 4, April ISSN

McAfee Product Entitlement Definitions

A Survey on Load Balancing and Scheduling in Cloud Computing

Keywords Distributed Computing, On Demand Resources, Cloud Computing, Virtualization, Server Consolidation, Load Balancing

LSKA 2010 Survey Report Job Scheduler

DESIGN OF A PLATFORM OF VIRTUAL SERVICE CONTAINERS FOR SERVICE ORIENTED CLOUD COMPUTING. Carlos de Alfonso Andrés García Vicente Hernández

Load-Balancing for a Real-Time System Based on Asymmetric Multi-Processing

Distributed Systems Lecture 1 1

MEASURING PERFORMANCE OF DYNAMIC LOAD BALANCING ALGORITHMS IN DISTRIBUTED COMPUTING APPLICATIONS

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

Fair Scheduling Algorithm with Dynamic Load Balancing Using In Grid Computing

An Approach to Load Balancing In Cloud Computing

INCREASING SERVER UTILIZATION AND ACHIEVING GREEN COMPUTING IN CLOUD

LinuxWorld Conference & Expo Server Farms and XML Web Services

Introduction to ESB and Petals ESB

Design of Remote data acquisition system based on Internet of Things

Seamless Thread and Execution Context Migration within a Java Virtual Machine Environment

Parallel Processing over Mobile Ad Hoc Networks of Handheld Machines

International Journal of Computer & Organization Trends Volume21 Number1 June 2015 A Study on Load Balancing in Cloud Computing

Group Based Load Balancing Algorithm in Cloud Computing Virtualization

Providing Load Balancing and Fault Tolerance in the OSGi Service Platform

Alternatives to SNMP and Challenges in Management Protocols. Communication Systems Seminar Talk 10 Francesco Luminati

A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Network Attached Storage. Jinfeng Yang Oct/19/2015

PTC System Monitor Solution Training

CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT

Code and Process Migration! Motivation!

Service Oriented Architecture 1 COMPILED BY BJ

Infrastructure for Load Balancing on Mosix Cluster

Introduction to Service-Oriented Architecture for Business Analysts

A Hybrid Load Balancing Policy underlying Cloud Computing Environment

A standards-based approach to application integration

Load Balancing in Structured Peer to Peer Systems

Global Accessible Objects (GAOs) in the Ambicomp Distributed Java Virtual Machine

Load Balancing in Structured Peer to Peer Systems

Jonathan Worthington Scarborough Linux User Group

A Java-based system support for distributed applications on the Internet

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

Scientific versus Business Workflows

Provisioning and Resource Management at Large Scale (Kadeploy and OAR)

PeerMon: A Peer-to-Peer Network Monitoring System

An Energy-aware Multi-start Local Search Metaheuristic for Scheduling VMs within the OpenNebula Cloud Distribution

IMPROVED PROXIMITY AWARE LOAD BALANCING FOR HETEROGENEOUS NODES

Resource Utilization of Middleware Components in Embedded Systems

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

Classic Grid Architecture

Virtual Machine Instance Scheduling in IaaS Clouds

On the Placement of Management and Control Functionality in Software Defined Networks

White Paper. How to Achieve Best-in-Class Performance Monitoring for Distributed Java Applications

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

An evaluation of the Java Card environment

Automatic load balancing and transparent process migration

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS

Performance Monitoring of Parallel Scientific Applications

Certification Authorities Software Team (CAST) Position Paper CAST-13

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

Base One's Rich Client Architecture

Simplest Scalable Architecture

ANALYSIS OF GRID COMPUTING AS IT APPLIES TO HIGH VOLUME DOCUMENT PROCESSING AND OCR

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Proposal of Dynamic Load Balancing Algorithm in Grid System

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

AquaLogic ESB Design and Integration (3 Days)

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

Delivering Quality in Software Performance and Scalability Testing

Transcription:

Load balancing in SOAJA (Service Oriented Java Adaptive Applications) Richard Olejnik Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022) Richard.Olejnik@lifl.fr http://www.lifl.fr/paloma/adaj Projet INRIA DOLPHIN

Overview Introduction SOAJA environment Initial object deployment Dynamic object placement management Conclusion & Perspectives Richard Olejnik 2

Motivations Efficient load balancing on Grid platform Distribution models: static, dynamic, adaptive Distribution management load metrics for java computing strategies Information: distributed, centralized Decision: threshold, selective transfers mechanisms Migration Agent support, others Richard Olejnik 3

SOAJA environment characteristics SOA based Activities are implemented by means of services Integration with other SOA frameworks and the Grid OGSA, OGSI Grid services are expressed in WSDL Interoperability Self containment of services Loosely-coupled services and applications Richard Olejnik 4

Principles of SOAJA Parallelism control and management transparency Facilitate the programmer work Ensure effective implementation of parallelism Inter and intra-application load balancing Library of tools for parallel programming Observation system Scans the environment during execution Retrieve information necessary to optimize the program Load of the JVM and the physical machine Based on the information gathered by the observation Detection of load imbalance Correction of load imbalance Migration of objects from over-loaded to under-loaded machines Richard Olejnik 5

SOAJA Architecture Application Services Grid Infrastructure 6

Integration of the environment Services level Application services Service Oriented Application (ex: DataMining) Grid services WSRF, WS-Management, Security, Information SOAJA Services Observation Load Balancing Distributed Programming layer Underling communication of Objects Java objects communications Richard Olejnik 7

Application Services Deployment of Services Description of the nodes Placement of service objects Finally all is objects Communication between objects Java communication Remote method Invocation Distribution layer Transparency to the service level Richard Olejnik 8

SOAJA Services Observer Services Deployed on each node Communicate with the agent system Provide information about the objects in the node Load Balancing Services Load computing Determine under-loaded and over-loaded machines Migrate objects Richard Olejnik 9

Example: Migration Service (MS) Service on each node Decision of the migration Migration demand on the MS Creation of serialization and deserialization of objects ThreadMigrationSource ServiceMigrationDestination MS Obj Migration Migrate object(obj) Serialization Deserialization 10 Richard Olejnik

SOAJA Services Tools Parallel Tools In term of services Facilitate parallelism control Gateway to the underling environment Orchestrator Management of service execution ESB based Initial deployment of services Richard Olejnik 11

SOAJA execution architecture 12

Distribution Layer Earlier ADAJ Heavily based on JavaParty Some incompatibilities Special static environment management Distributed Shared Memory ADAJ (Adaptive Distributed Application in Java) JavaParty + transparency RMI + object migration facilities - pre-compiler - centralized controller (not scalable) New ADAJ = SOAJA Services Scalability to the Grid Java based underling communications (without JavaParty) ( Remote Method Invocation) Richard Olejnik 13

Underlying SOAJA Environment Object Layer Initial placement of Objects Object Monitoring policy Types of Objects Methods invocations Monitoring method calls Object migration 14 Richard Olejnik

Initial object deployment The most a node is overloaded the less it receives object to compute Function of the load on the JVM dependant of the number of threads and of the quantity of the JVM work in accord with the decision policy Initial object deployment based on graph analysis Richard Olejnik 15

Dynamic object management Object monitoring gives the intensity of communication between objects determines what objects could be migrated Load monitoring predicts workstation load and network utilization determines when perform the load balancing principle: the average idle thread time is directly related to the CPU load Richard Olejnik 16

Object monitoring SOAJA objects: Global objects: remote creation remote access migratable Local Objects: traditional Java objects copy creation Only global objects are observed Richard Olejnik 17

Observation mechanisms Concerned objects: global objects = remote objects Properties Dynamic management distributed objects' graph Observed items quantity of objects work intensity of communications between objects dynamics in time (smoothing of the values) Java portability (post-compilation) Richard Olejnik 18

Object monitoring strategies Object activity monitoring : estimation of the method running time depends on the power of the computer node Process communication monitoring : Measuring the exchanged information quantity Computed based on the serialized code 80% to 90% of the object transfer time is due to serialization Counting the method invocation number (remote communication) Richard Olejnik 19

Counting method invocations Principle: counting the invocations of a global object o i to each other global object o j remote communication to all local objects local communication to itself (input invocations) local work Implementation: For each global object o i : an array or other structures which memorizes the invocation number to other global objects one counter for local object invocations one counter for input invocations Richard Olejnik 20

Invocation counters Output local invocations counter G a Global object Output global invocations counters G Input invocations counter Local objects Global objects Richard Olejnik 21

Observation mechanisms of the workstation load Estimation of the load of one workstation load due to the application external load weighting relative to the workstation power Principle computing of the average CPU idle time Load balancing Information management system based on agents Portability: use of Java threads Richard Olejnik 22

Object redistribution Load observation policy detection of abnormal situations manage by agents (centralized, P2P) load metrics Policy for the migration candidate selection distributed criteria choice agregation Target node selection policy Object transfer policy Richard Olejnik 23

Load modeling in SOAJA Number of threads Ready threads and blocked threads (waiting) Quantity of a JVM work sum of work quantity of each global objet the work quantity of one global objet is generated by : All outgoing calls to global objects all incoming calls (II) all outgoing calls toward local objects (OLI) Richard Olejnik 24

Load observation policy Detection of load imbalance among nodes Computing each average node load statistical measurements mean, standard deviation variation coefficient K-Means algorithm Independent thresholds for the application and the measured values Richard Olejnik 25

Migration candidate selection policy Principle classification of the global objects choice of the best candidate Classification criteria attraction of global object to the current JVM number of calls towards other global objects Weight of a global objet quantity of work Combining the criteria Richard Olejnik 26

Target node selection policy Principle classification of potential target JVM choice of the best target Criteria for the JVM classification object attraction towards the target node work quantity of the target node Combining the criteria Richard Olejnik 27

Object mobility in SOAJA Migration of global objects strong migration of an active method: data and state of the stack forced mobility Implementation insertion of migration points (techniques of postcompilation) backup of the stack in a specific data structure: serialization techniques restart of the stopped method: techniques of exceptions Richard Olejnik 28

Conclusion SOAJA platform Initial optimized object deployment Execution efficiency: a mechanism of dynamic load balancing metrics for the load balancing attraction functions aggregation of criteria Observation of the relations between objects of one application & exploitation of a distributed graph objects Centralized or distributed detection, distributed correction of the imbalance (agent system) Richard Olejnik 29

Perspectives Proof of the running correctness of such system Formal proof of the mechanisms of such adaptive load balancing Modeling multiple application running (starvation problem, ping pong effects ) Richard Olejnik