context-aware programming for hybrid and diversity-aware collective adaptive systems

22
Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems Hong-Linh Truong and Schahram Dustdar Distributed Systems Group Vienna University of Technology [email protected] http://dsg.tuwien.ac.at/research/viecom/ BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 1

Upload: hong-linh-truong

Post on 22-Apr-2015

188 views

Category:

Education


2 download

DESCRIPTION

Collective adaptive systems (CASs) have been researched intensively since many years. However, the recent emerging developments and advanced models in service-oriented computing, cloud computing and human computation have fostered several new forms of CASs. Among them, Hybrid and Diversity-aware CASs (HDA-CASs) characterize new types of CASs in which a collective is composed of hybrid machines and humans that collaborate together with different complementary roles. This emerging HDA-CAS poses several research chal lenges in terms of programming, management and provisioning. In this paper, we investigate the main issues in programming HDA-CASs. First, we analyze context characterizing HDA-CASs. Second, we propose to use the concept of hybrid compute units to implement HDA-CASs that can be elastic. We call this type of HDA-CASs h2 CAS (Hybrid Compute Unit-based HDA-CAS). We then discuss a meta-view of h2CAS that describes a h 2 CAS program. We analyze and present program features for h2CAS in four main different contexts.

TRANSCRIPT

Page 1: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Context-aware Programming for Hybrid

and Diversity-aware Collective Adaptive

Systems

Hong-Linh Truong and Schahram Dustdar

Distributed Systems Group

Vienna University of Technology

[email protected]

http://dsg.tuwien.ac.at/research/viecom/

BPCAS@BPM 2014, Eindhoven,

The Netherlands, 8 Sep, 2014

1

Page 2: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Outline

Background

Motivation

Context associated with HDA-CAS

h2CAS – using hybrid computing units for HDA-

CAS

Context-aware programming features

Conclusions and future work

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

2

Page 3: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Background

Machine-based

Computing

Human-based

Computing

Things-based

computing

Grid

Pro

cessin

g

Unit

Pro

cessin

g

Unit

Arc

hitectu

reA

rchitectu

reC

om

m.

Com

m.

SMP

S. Dustdar, H. Truong, “Virtualizing Software and Humans

for Elastic Processes in Multiple Clouds – a Service

Management Perspective”, in International Journal of Next

Generation Computing, 2012

Ad hoc networks Web of things

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

3

Page 4: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Background (cont.)

Today’s complex problems need hybridity and

diversity-aware “collective adaptive systems” (HDA-

CAS)

HDA-CAS

Mixture of different types of resources working in

concert in the same collective

Mixture of different roles performed in the same

collective

Mixture of different quality from a single collective

Mixture of cost/benefit models

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

4

Page 5: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Background (cont.)

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

5

Hong Linh Truong, Hoa Khanh Dam, Aditya Ghose, Schahram Dustdar: Augmenting Complex Problem Solving with Hybrid

Compute Units. ICSOC Workshops 2013: 95-110

Hong Linh Truong, Hoa Khanh Dam, Aditya Ghose, Schahram Dustdar: Augmenting Complex Problem Solving with Hybrid

Compute Units. ICSOC Workshops 2013: 95-110

Hybrid compute units

Page 6: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Motivation Cloud-based predictive maintenance – an application of

HDA-CAS in the context of BPM

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

6

Complex Event

Processing

Smart

Communication

Social Computing

Unit (SCU)

Provisioning

Human-based

Units

Task

Execution/Monitoring

Data Analytics

Sensors/Gateways

manage/execute

formsmsg

msg

msg

data

Task/Result

Managment

NoSQL BigDatadata

Page 7: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Motivation (cont.)

HDA-CAS –based solutions

Human-, software- and thing-based services for

computational analytics, data gathering, and network

functions

Challenges

Which are possible contexts during the operation of

HDA-CASs? How they affect provisioning mechanisms

What are main building blocks for HDA-CAS?

Which are main programming features to support these

operational contexts?

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

7

This talk focuses on conceptual view, requirement and analysisThis talk focuses on conceptual view, requirement and analysis

Page 8: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Context-aware programming HDA-

CASs – Goals

Understanding context in order to develop

Right constructs for specifying what constitutes a

HDA-CAS

Tools and middleware for deploying, provisioning

and instantiating HDA-CASs based on their

specifications, and

Means for programming the control and

reconfiguration of HDA-CASs at run-time.

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

8

Page 9: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Context of HDA-CAS

What: tasks and quality of results, and

structures of the HDA-CAS

Who/Which: constituting units for

computation/data/network functions as well as

for monitoring/control/management functions

How: coordination and elasticity mechanisms

that control the operation of the HDA-CAS

When: a determined time frame for the above-

mentioned specific What/Who/Which/How.

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

9

Page 10: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Context and HDA-CAS

BPCAS@BPM 2014, Eindhoven,

The Netherlands, 8 Sep, 2014

10

Page 11: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Hybridity and elasticity in context

Hybridity/Diversity

Hybrid processing units for computation/data/network functions,

hybrid architectures, and hybrid communication protocols

Elasticity

Processing units: add/remove/replace processing units

Architecture: provision different static and runtime topologies for

different types of units, and change different protocols/algorithms

within monitoring/control/management units.

Communications: add/remove/replace/reconfigure

communication protocols

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

11

Page 12: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

h2CAS - HCU-based HDA-CAS

BPCAS@BPM 2014, Eindhoven,

The Netherlands, 8 Sep, 2014

12

A HCU-based HDA-CAS (h2CAS) includes a set of service

units which can be software-based services, human-based

services and thing-based services that can be provisioned,

deployed and utilized as a collective on-demand based on

different quality, pricing and incentive models.

How to program HDA-CAS?

Our approach: using hybrid compute units (HCU)

provisioned in the cloud

Page 13: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

h2CAS- Main building blocks

Task Management

Result Management

Computation/Data/Network Task Execution and

Control

Elasticity Monitoring and Control

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

13

Page 14: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Meta

BPCAS@BPM 2014, Eindhoven,

The Netherlands, 8 Sep, 2014

14

Page 15: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Context-aware Programming

Features

Analysis of some main provisioning and

operational contexts

consumer-generated independent continuous task

consumer-generated dependent task

evolving independent task

evolving dependent task

To develop suitable techniques for HDA-CAS

provisioning, e.g.:

Enable context switching in complex problem solving

Achieve quality and cost/benefit elasticity by utilizing

resource elasticity

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

15

Page 16: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Ctx1: consumer-generated

independent continuous task

BPCAS@BPM 2014, Eindhoven,

The Netherlands, 8 Sep, 2014

16

Task

Task Management

CDNElasticityControlUnit

ResultManagement

ElasticityMonitoringandControl

Results

task coordination

modelstask coordination

models

(1) pool of the units

Continuous flow of

independent tasks (batch

jobs, crowdsourcing style)

One level of task

coordination

(TaskManagement/Result

Management)

HumanbasedUnit

SoftwarebasedUnit

ThingbasedUnit

HumanbasedUnit

SoftwarebasedUnit

ThingbasedUnit

Page 17: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

CDNCommunicationUnit

Ctx2: consumer-generated

dependent task

BPCAS@BPM 2014, Eindhoven,

The Netherlands, 8 Sep, 2014

17

Task

Task Management

CDNElasticityControlUnit

ResultManagement

ElasticityMonitoringandControl

Results

task coordination

models

task coordination

models

(1) pool of the units

(2) task coordination

models,

(3) communication

protocols

HumanbasedUnit

SoftwarebasedUnit

ThingbasedUnit

Tasks are dependent, but

complete (workflow style)

Require coordination and unit

formation models for

dependent tasks

Single level of task

coordination or multi-level

task coordination

Interactive elasticity controls

Communications needed for

task delegation among units

HumanbasedUnit

SoftwarebasedUnit

ThingbasedUnit

task delegation

Page 18: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

CDNCommunicationUnit

Ctx3: evolving independent task

context

BPCAS@BPM 2014, Eindhoven,

The Netherlands, 8 Sep, 2014

18

Task

Task Management

CDNElasticityControlUnit

ResultManagement

ElasticityMonitoringandControl

Results

task coordination models task coordination models

(1) pool of the units,

(2) task coordination

models,

(3) communication

protocols,

(4) new task

coordination models

new task

From a task, several

independent tasks are

created by the collective

Within or switched from

Ctx1/Ctx2

Multiple types of

(automatic/manual)

elasticity controls at

different places

Different coordination

and unit formation

models for evolving

independent tasks

HumanbasedUnit

SoftwarebasedUnit

ThingbasedUnit

HumanbasedUnit

SoftwarebasedUnit

ThingbasedUnit

Task delegation

new task

Page 19: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

CDNCommunicationUnit

Ctx4: evolving dependent task

BPCAS@BPM 2014, Eindhoven,

The Netherlands, 8 Sep, 2014

19

Task

Task Management

CDNElasticityControlUnit

ResultManagement

ElasticityMonitoringandControl

Results

task coordination models task coordination models

(1) pool of the units,

(2) coordination

models,

(3) communication

protocols,

(4) new task

coordination models

new task

HumanbasedUnit

SoftwarebasedUnit

ThingbasedUnit

HumanbasedUnit

SoftwarebasedUnit

ThingbasedUnit

Task delegation

new task

Tasks are dependent

and the task graph

changes

(expands/reduces)

Within Ctx1/Ctx2 or

switched from

Ctx1/Ctx2/Ctx3

Multiple types of

(automatic/manual)

elasticity controls at

different places

Different coordination

and unit formation

models for evolving

dependent tasks

Page 20: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Towards supporting context-aware

programming with h2CAS SALAM – mainly for quality-aware human-based

service formations and task management

https://github.com/tuwiendsg/SALAM

SmartCOM – middleware for HDA-CAS Communication

https://github.com/tuwiendsg/SmartCom

Elasticity Control

For software-based services and thing-based services

https://github.com/tuwiendsg/rSYBL/

For human-based services: currently being developed (based

on our work in ICSOC 2013/CAISE 2014)

Multi-level coordination models To appear in CollaborateCom 2014

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

20

Page 21: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Conclusions and future work

HDA-CAS can be established and changed due

to specific context

Identify possible contexts for the development of

HDA-CAS using hybrid compute units

Propose h2CAS and conceptualizing its main blocks

Future work

A h2CAS specification for programming constructs

and models

Tools and middleware for compiling and deploying

and control and provisioning h2CAS

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

21

Page 22: Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

Thanks for your attention!

Hong-Linh Truong

Distributed Systems GroupTU Wien

[email protected]

dsg.tuwien.ac.at/research/viecom

BPCAS@BPM 2014, Eindhoven, The

Netherlands, 8 Sep, 2014

22