autonomic computing and grid

Upload: jimmy-huynh

Post on 07-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Autonomic Computing and Grid

    1/38

    Autonomic Computing and GridAutonomic Computing and GridGrid Computing : Fran Berman, Geoffrey C. Fox, Anthony J. G. HeyGrid Computing : Fran Berman, Geoffrey C. Fox, Anthony J. G. Hey

    Chapter 13 :Chapter 13 : PratapPratap PattnaikPattnaik ,, KattamuriKattamuri EkanadhamEkanadham .. JoefonJoefon JannJann

    Catherine Ruby

    February 26, 2004

    CSE 718 presentation

  • 8/3/2019 Autonomic Computing and Grid

    2/38

    Image courtesy of the Buddha Dharma Education Association Inc(http://www.buddhanet.net/index.html)

  • 8/3/2019 Autonomic Computing and Grid

    3/38

    The Four Noble Truths of The Four Noble Truths of

    Grid ComputingGrid ComputingManaging a large computing system is veryManaging a large computing system is very

    complicated.complicated.The cause of this is the constant growth of The cause of this is the constant growth of computing and its increasing complexity as morecomputing and its increasing complexity as moreheterogeneous components are added.heterogeneous components are added.There is a way of managing large scaleThere is a way of managing large scalecomputing environments.computing environments.This is by following the Noble Eightfold Path of This is by following the Noble Eightfold Path of autonomous computing.autonomous computing.

  • 8/3/2019 Autonomic Computing and Grid

    4/38

    IBMs Eight Defining CharacteristicsIBMs Eight Defining Characteristics

    of an Autonomic System (Part 1)of an Autonomic System (Part 1)The system must know its own componentsThe system must know its own componentsand their details.and their details.The system must change its configurationsThe system must change its configurationsconstantly with changing environments.constantly with changing environments.The system must continuously look for waysThe system must continuously look for waysto optimize its process.to optimize its process.The system must recognize abnormalThe system must recognize abnormalconditions or problems that may harm itsconditions or problems that may harm itsworkings and be able to recover from them.workings and be able to recover from them.

  • 8/3/2019 Autonomic Computing and Grid

    5/38

    IBMs Eight Defining CharacteristicsIBMs Eight Defining Characteristics

    of an Autonomic System (Part 2)of an Autonomic System (Part 2)The system must be protected against attacks.The system must be protected against attacks.The system must know its environment,The system must know its environment,surroundings, and other resources available tosurroundings, and other resources available toit.it.

    The system must have open standards andThe system must have open standards andoperate in heterogeneous world.operate in heterogeneous world.The system must be able to stay ahead of theThe system must be able to stay ahead of the

    user and guess intelligently what resources willuser and guess intelligently what resources willbe required and how to use them efficientlybe required and how to use them efficientlywhile maintaining a simple interface with thewhile maintaining a simple interface with theuser.user.

  • 8/3/2019 Autonomic Computing and Grid

    6/38

    Autonomic Grid ComputingAutonomic Grid Computing

    MAIN GOALS:MAIN GOALS:reduce the work and complexityreduce the work and complexity

    associated with a large systemassociated with a large systembe able to better respond to suddenbe able to better respond to sudden

    changes in the system and adjust settingschanges in the system and adjust settingsappropriatelyappropriately

  • 8/3/2019 Autonomic Computing and Grid

    7/38

    First Issue :First Issue :

    Component ManagementComponent Managementdevelop a strategy for merging variousdevelop a strategy for merging various

    computer components with differentcomputer components with differentcapabilitiescapabilitiesmake use of components like CPU,make use of components like CPU,memory, disks and network as efficientlymemory, disks and network as efficientlyas possibleas possible

    dynamically make changes todynamically make changes tomanagement of components as themanagement of components as theenvironment dictatesenvironment dictates

  • 8/3/2019 Autonomic Computing and Grid

    8/38

    Second Issue :Second Issue :

    Changes Over TimeChanges Over Timedeal with changes in demands over time.deal with changes in demands over time.

    manage sudden or unexpected changesmanage sudden or unexpected changeshave some way to deal with long termhave some way to deal with long term

    changes in surrounding environmentchanges in surrounding environmentmust both detect and appropriately choosemust both detect and appropriately choose

    responses to any considerable changes inresponses to any considerable changes inthe systemthe system

  • 8/3/2019 Autonomic Computing and Grid

    9/38

    GoalGoal --Oriented ModelOriented Model

    Make most autonomous decisions on theMake most autonomous decisions on the

    local level and establish clear local level and establish clear responsibilities between local and globalresponsibilities between local and globalautonomous components (reducesautonomous components (reducescomplexity)complexity)Poor decisions on a smaller scale will notPoor decisions on a smaller scale will notsignificantly affect the whole if correctedsignificantly affect the whole if correctedappropriately.appropriately.

  • 8/3/2019 Autonomic Computing and Grid

    10/38

    The Big PictureThe Big Picture

    A Goal Oriented autonomous system:A Goal Oriented autonomous system:

    Provides services to components in systemProvides services to components in systemReceives services from other componentsReceives services from other componentsAdapts quickly to a rapidly changingAdapts quickly to a rapidly changingenvironment or errors in previous behaviorsenvironment or errors in previous behaviors

    Adjusts to new components that may be addedAdjusts to new components that may be addedover long periods of timeover long periods of time

  • 8/3/2019 Autonomic Computing and Grid

    11/38

    Common approaches to handlingCommon approaches to handling

    complicated systemscomplicated systemsObject OrientationObject Orientation hides aspects of the systemhides aspects of the system

    from components that dont require thefrom components that dont require theinformation. Monitor system constantly andinformation. Monitor system constantly anddynamically choose best response.dynamically choose best response.

    FaultFault --tolerant Systemstolerant Systems maintains a set of faultsmaintains a set of faultsand can detect or correct faults from that set inand can detect or correct faults from that set inthe system (fault = reduction in performance).the system (fault = reduction in performance).Monitor constantly and readjust when behaviorsMonitor constantly and readjust when behaviorsof surrounding components are abnormal.of surrounding components are abnormal.

  • 8/3/2019 Autonomic Computing and Grid

    12/38

    AgentAgent --based Resourcebased Resource

    Management for Grid ComputingManagement for Grid ComputingAn example of autonomous individualAn example of autonomous individual

    components to manage a complex gridcomponents to manage a complex gridsystemsystem

    A4 (Agile Architecture and AutonomousA4 (Agile Architecture and Autonomous

    Agents) make up a high level abstractionAgents) make up a high level abstractionof a grid structure where individual agentsof a grid structure where individual agentsboth discover and advertise resources.both discover and advertise resources.

  • 8/3/2019 Autonomic Computing and Grid

    13/38

    Implementation of A4 AgentsImplementation of A4 Agents

    Agents in the system exist with the abilityAgents in the system exist with the ability

    to communicate with one another, theto communicate with one another, theability to adapt to sudden externalability to adapt to sudden externalchanges, and are self motivatedchanges, and are self motivatedPMAsPMAs , or Performance Monitors and, or Performance Monitors andAdvisors keep track of agents andAdvisors keep track of agents andreconfigure them periodically to keep themreconfigure them periodically to keep themperforming optimally.performing optimally.

  • 8/3/2019 Autonomic Computing and Grid

    14/38

    The A4 Agent and PerformanceThe A4 Agent and PerformanceMonitor Advisor Monitor Advisor

    Agent Performance Monitor andAdvisor

    Monitoring

    Reconfiguration

    Model Composer

    Simulation Engine

    StatisticalData

    Strategies

    StrategiesPerformance Model

  • 8/3/2019 Autonomic Computing and Grid

    15/38

    examples examples

  • 8/3/2019 Autonomic Computing and Grid

    16/38

    The basic server componentThe basic server component

    Take an Autonomic Server Component,Take an Autonomic Server Component,

    CCTake all of the elements which interactTake all of the elements which interact

    with C, or its environmentwith C, or its environment

  • 8/3/2019 Autonomic Computing and Grid

    17/38

    Component Cs Greek LettersComponent Cs Greek Letters : input alphabet of the component: input alphabet of the component : output alphabet of the component: output alphabet of the component (u, v) : relation satisfying appropriate I/O pairs(u, v) : relation satisfying appropriate I/O pairs : internal state of component (data structure to keep: internal state of component (data structure to keeptrack of all elements of current state)track of all elements of current state)

    : external state of component (abstraction of external: external state of component (abstraction of externalenvironment, exterior performance of other components.environment, exterior performance of other components.Dynamic, is not accurate,Dynamic, is not accurate, is the estimate)is the estimate) : an implementation translating internal and external: an implementation translating internal and external

    states into input/output pairsstates into input/output pairs : set of implementations in component C: set of implementations in component C : algorithm which chooses best implementation (is it: algorithm which chooses best implementation (is itworthwhile to switch?)worthwhile to switch?) : efficiency of the implementations of C: efficiency of the implementations of C

  • 8/3/2019 Autonomic Computing and Grid

    18/38

    ENVIRONMENT

    AUTONOMIC SERVER COMPONENTC

    Clients Resource Managers Other services

    Estimated State of Environment

    '

    Internal State

    u

    v

    v

    v

    1

    2

    3

    (u, v)

    (u, v)

    (u, v)

  • 8/3/2019 Autonomic Computing and Grid

    19/38

    and the maintenance of and the maintenance of

    depends almost entirely ondepends almost entirely on

    characteristics of entire system and thecharacteristics of entire system and theefficiency of its different implementationsefficiency of its different implementationsC must keep a fairly accurateC must keep a fairly accurate picture of picture of the external environment to make goodthe external environment to make goodinternal decisionsinternal decisions

    C must be able to periodically updateC must be able to periodically update from external information and keepfrom external information and keep within reasonable limits of actualwithin reasonable limits of actual ..

  • 8/3/2019 Autonomic Computing and Grid

    20/38

    Two Methods of MaintainingTwo Methods of Maintaining

    Self Self --Observation ApproachObservation Approach

    CollectiveCollective --Observation ApproachObservation Approach

  • 8/3/2019 Autonomic Computing and Grid

    21/38

    Maintenance of Maintenance of : Self : Self --ObservationObservation

    No external state information receivedNo external state information received

    from other componentsfrom other componentsAll information about environment from CsAll information about environment from Cs

    interactioninteractionMaintained by logs of history &Maintained by logs of history &input/output interactions w/ clients andinput/output interactions w/ clients andservices, tracks qualityservices, tracks quality continuously revised with all new inputscontinuously revised with all new inputs

  • 8/3/2019 Autonomic Computing and Grid

    22/38

    Self Self --Observation (Pros & Cons)Observation (Pros & Cons)

    PROS :PROS :-- Component is largely independent of externalComponent is largely independent of externalobjectsobjects it can easily be plugged into anyit can easily be plugged into anyenvironment and it will functionenvironment and it will function-- Adapts well to changes over a long period of Adapts well to changes over a long period of timetime

    CONS :CONS :-- Component cannot adapt quickly to suddenComponent cannot adapt quickly to suddenvariations in inputvariations in input it takes several interactionsit takes several interactionsto recognize changes in the environmentto recognize changes in the environment

  • 8/3/2019 Autonomic Computing and Grid

    23/38

    Self Self --Observation Example :Observation Example :

    MemoryMemory Allocator Allocator Autonomic Server :Autonomic Server :

    input requestsinput requests efficient input handlingefficient input handling

    Two inputs :Two inputs :AllocAlloc (n)(n) request block of request block of nn bytesbytesFree (a)Free (a) returns previously allocated blockreturns previously allocated block

    Three Outputs : null, error, addressThree Outputs : null, error, address

    Four Goals : quick turnaround, never denyFour Goals : quick turnaround, never denyrequests, block locality and minimizedrequests, block locality and minimizedfragmentationfragmentation

  • 8/3/2019 Autonomic Computing and Grid

    24/38

    MemoryMemory Allocator Allocator Implementations Implementations

    LinkedLinked --List AllocationList Allocation

    Maintains list of Maintains list of addresses & free blocks,addresses & free blocks,searches for free blockssearches for free blocks>= request size n>= request size n

    If no blocks are bigIf no blocks are bigenough, it divides theenough, it divides theblock, removes it from theblock, removes it from the

    List and returns theList and returns theaddressaddressWhen a block is returned,When a block is returned,an attempt is made toan attempt is made tomerge it with other freemerge it with other freespacespace

    Slab AllocationSlab Allocation

    Reserves several slabsReserves several slabsof memory of size mostof memory of size mostfrequently requested.frequently requested.When memory isWhen memory isrequested a free block of requested a free block of the appropriate size fromthe appropriate size froma slab is returneda slab is returned

  • 8/3/2019 Autonomic Computing and Grid

    25/38

  • 8/3/2019 Autonomic Computing and Grid

    26/38

    Maintenance of Maintenance of : Collective: Collective --ObservationObservation

    The system is connected by services toThe system is connected by services to

    and from each componentand from each componentComponent C can maintainComponent C can maintain by receivingby receivingupdates from the components thatupdates from the components thatsurround itsurround itComponents update surroundingComponents update surrounding

    components by broadcasting currentcomponents by broadcasting currentstates to other componentsstates to other componentsBroadcasting is expensive!Broadcasting is expensive!

  • 8/3/2019 Autonomic Computing and Grid

    27/38

    Example of Component StatesExample of Component States

    Component CComponent C 11

    Has two internal states atHas two internal states attime t :time t :

    SS 1111 (t)(t) -- the current statethe current stateof component Cof component C 11

    SS 1212 (t)(t) -- the current statethe current stateof component Cof component C 22

    Component CComponent C 22

    Has two internal states atHas two internal states attime t :time t :

    SS

    2121 (t)(t)

    the current statethe current state

    of component Cof component C 11

    SS 2222 (t)(t) the current statethe current state

    of component Cof component C 22

    ttii : the estimated derivative of : the estimated derivative of SS iiii (t) at time t :(t) at time t :

    thusthus SS iiii (t +(t + dtdt ) =) = SS iiii (t) +(t) + ttii ((dtdt ))

    C ll iC ll i Ob i lOb i E l 1

  • 8/3/2019 Autonomic Computing and Grid

    28/38

    CollectiveCollective --Observation Example 1 :Observation Example 1 :

    Subscriber Approach (push)Subscriber Approach (push)Component CComponent C 11 subscribes to component Csubscribes to component C 22 if itif itis interested in Cis interested in C 22 s state, stores thiss state, stores thissubscription insubscription in CC 11 can estimate the state of Ccan estimate the state of C 22 at time t becauseat time t becauseit grows at a rate of it grows at a rate of tt22 ..CC 22 monitors its own state, if its state growsmonitors its own state, if its state growsbeyond what is expected (tolerance rate), itbeyond what is expected (tolerance rate), itcomputes a newcomputes a new tt22 and sends this newand sends this new

    information to all of its subscribers like Cinformation to all of its subscribers like C 11Broadcasts are proportional to rate of change of Broadcasts are proportional to rate of change of component statescomponent states

    C ll iC ll i Ob i E l 2Ob i E l 2

  • 8/3/2019 Autonomic Computing and Grid

    29/38

    CollectiveCollective --Observation Example 2 :Observation Example 2 :

    Enquirer Approach (pull)Enquirer Approach (pull)Components are only updated when theyComponents are only updated when they

    explicitly request information from theexplicitly request information from thecomponents they are subscribed tocomponents they are subscribed to

    Each component sets tolerance limit of Each component sets tolerance limit of states of components it is subscribed tostates of components it is subscribed toWhen the state of a component CWhen the state of a component C 22 growsgrowsbeyond the bounds of this tolerance limit,beyond the bounds of this tolerance limit,CC 11 requests updated informationrequests updated information

    C ll iC ll ti Ob i E l 3Ob ti E l 3

  • 8/3/2019 Autonomic Computing and Grid

    30/38

    CollectiveCollective --Observation Example 3 :Observation Example 3 :

    Routing By Pressure PropagationRouting By Pressure PropagationEntire system receives information fromEntire system receives information from

    outside of the systemoutside of the system each componenteach componentinside the system can process any incominginside the system can process any incominginformation (common in Web Services)information (common in Web Services)

    When a component receives incomingWhen a component receives incominginformation, it is passed to an input queue of information, it is passed to an input queue of

    a specific componenta specific componentSelection of this specific component isSelection of this specific component isautonomic, aim is to minimize response timeautonomic, aim is to minimize response time

    C ll tiC ll ti Ob ti E l 3Ob ti E l 3

  • 8/3/2019 Autonomic Computing and Grid

    31/38

    CollectiveCollective --Observation Example 3:Observation Example 3:

    Selection of ComponentSelection of ComponentEach component maintains information aboutEach component maintains information aboutthe whole systemthe whole system : is how long it take component Cis how long it take component C 11to process any incoming information, andto process any incoming information, and isis

    how long it will take to send the request to thehow long it will take to send the request to theappropriate component Cappropriate component C 11 from Cfrom C 22Time for transaction from CTime for transaction from C 11 to processing atto processing atCC 22 : [: [1212 + (1 + Q+ (1 + Q 22 ) *) * 22 ] : Q = length of queue] : Q = length of queueHowever, CHowever, C 11 has no knowledge of queuehas no knowledge of queuelength of Clength of C

    22

    C ll iC ll ti Ob i E l 3Ob ti E l 3

  • 8/3/2019 Autonomic Computing and Grid

    32/38

    CollectiveCollective --Observation Example 3:Observation Example 3:

    Estimated Queue Length MaintenanceEstimated Queue Length MaintenanceLike other collectiveLike other collective --observation examples, eachobservation examples, eachcomponent keeps a list of states with thecomponent keeps a list of states with theestimated queue length with a variation withestimated queue length with a variation withrespect to time of all other componentsrespect to time of all other componentsWhen component CWhen component C

    11receives information, itreceives information, it

    finds the component Cfinds the component C 22 which will minimize thewhich will minimize thetransaction time and sends it theretransaction time and sends it there

    When a components queue exceeds theWhen a components queue exceeds thetolerance limit, it updates its estimated queuetolerance limit, it updates its estimated queuelength among all other components in thelength among all other components in thesystemsystem

  • 8/3/2019 Autonomic Computing and Grid

    33/38

    The GridThe GridGrid system is heterogeneous, so protocols must be defined to shGrid system is heterogeneous, so protocols must be defined to sh areare

    informationinformation

    Fabric Layer Fabric Layer -- defines protocols for accessing components of defines protocols for accessing components of systemsystemConnectivity Layer Connectivity Layer security protocolssecurity protocolsResource Layer Resource Layer protocols for getting resourcesprotocols for getting resourcesCollective Layer Collective Layer protocols for finding services and managing themprotocols for finding services and managing themon both user and grid levelson both user and grid levels

    Service : an abstraction, a guarantee of a certainService : an abstraction, a guarantee of a certainbehavior between layers via these protocols, thoughbehavior between layers via these protocols, thoughthe standard implications of a behavior are still beingthe standard implications of a behavior are still being

    researched.researched.

  • 8/3/2019 Autonomic Computing and Grid

    34/38

    Services and ComponentsServices and Components

    A service is similar to the component model of A service is similar to the component model of the autonomic gridthe autonomic gridThe service has an implementation thatThe service has an implementation thatguarantees the behavior is metguarantees the behavior is met

    It must keep track of outside information andIt must keep track of outside information andmodify its behavior accordinglymodify its behavior accordinglyThus a service should also have an algorithmThus a service should also have an algorithm

    to change its behavior according to changes into change its behavior according to changes inthe environment and choose the mostthe environment and choose the mostperformanceperformance --efficient resourcesefficient resources

  • 8/3/2019 Autonomic Computing and Grid

    35/38

    A ComponentA Component --focused approach :focused approach :

    Hides complexity from other elements inHides complexity from other elements in

    the systemthe systemContains a simple interface with other Contains a simple interface with other componentscomponentsMaintains the ability to detect and respondMaintains the ability to detect and respondto changes in the system and fit itsto changes in the system and fit itssurroundingssurroundings

    Requirements of AutonomicRequirements of Autonomic

  • 8/3/2019 Autonomic Computing and Grid

    36/38

    Requirements of AutonomicRequirements of Autonomic

    ComponentsComponentsPresent interface between clients andPresent interface between clients and

    server server Monitor its environment as timeMonitor its environment as timeprogressesprogressesAppropriately and rapidly change behavior Appropriately and rapidly change behavior when changes in surrounding environmentwhen changes in surrounding environmentoccur (changing demands or other occur (changing demands or other components failing)components failing)

  • 8/3/2019 Autonomic Computing and Grid

    37/38

    Future ResearchFuture Research

    Generating new algorithms and stabilizingGenerating new algorithms and stabilizing

    existing onesexisting onesManaging behaviors of componentsManaging behaviors of components

    Standardizing changes of these behaviorsStandardizing changes of these behaviorswith respect to timewith respect to time

  • 8/3/2019 Autonomic Computing and Grid

    38/38

    ReferencesReferencesBuddha Dharma Education Association Inc.Buddha Dharma Education Association Inc. The Four The Four

    Noble Truths : Teachings by Noble Truths : Teachings by Ajahn Ajahn Sumedho Sumedho ..

    http://www.buddhanet.net/4noble.htmhttp://www.buddhanet.net/4noble.htmCaoCao ,, JunweiJunwei , Daniel P. Spooner, James D. Turner,, Daniel P. Spooner, James D. Turner,Stephen A. Jarvis, Darren J.Stephen A. Jarvis, Darren J. KerbysonKerbyson ,, SubhashSubhash SainiSaini ,,and Graham K.and Graham K. NuddNudd .. Agent Agent - - based Resource based Resource

    Management for Grid Computing Management for Grid Computing ..http://www.http://www. dcsdcs ..warwickwarwick .ac..ac. ukuk /research//research/ hpsghpsg /html/downlo/html/downloads/public/docs/ads/public/docs/ CaoJCaoJ .ARMGC..ARMGC. pdf pdf

    Horn, P. Autonomic Computing, 25 February 2004,Horn, P. Autonomic Computing, 25 February 2004,

    http://www.research.ibm.com/autonomic/http://www.research.ibm.com/autonomic/ ..PattnaikPattnaik ,, PratapPratap ,, KattamuriKattamuri EkanadhamEkanadham andand JoefonJoefon JannJann ..Autonomic Computing and Grid Autonomic Computing and Grid .. Grid ComputingGrid Computing ..