Sending Calendar Invites on SES and Calendarsnack.pdf
On the Elasticity of Social Compute Units @ CAiSE2014
1. On the Elasticity of
Social Compute Units
1
Mirela Riveni, Hongh-Linh Truong and Schahram Dustdar
Distributed Systems Group
Vienna University of Technology
Austria
CAiSE 2014,19 June
Thessaloniki, Greece
http://www.infosys.tuwien.ac.at/research/viecom/
26th International Conference on Advanced Information Systems Engineering (CAiSE 2014)
2. • Introduction and Motivation
• Elastic Social Compute Unit (SCU) model
• Elastic SCU provisioning engine
• Illustrative examples
• Future work and Conclusion
2
Outline
CAiSE 2014,19 June
Thessaloniki, Greece
4. • People in Crowdsourcing
– Passive approach, bidding
• People as Programmable (Human-based) services
– Active approach, discovery and composition
• SCUs
• People in Collective Adaptive Systems (CAS)
– Active approach, decentralized management, open, elastic in size
– Heterogeneous resources for complex task execution
– Smart society (socio-technical system)
4
Introduction
SCUs in the General Human Computation Scope
CAiSE 2014,19 June
Thessaloniki, Greece
5. Motivation
Elasticity in Collaborative Collective Work
• Traditionally
– Fixed collectives
• Optimization and adaptation within the collective
• Centralized decision-making
• We have Vertical Elasticity
• Current trends and new needs
– Tailored and elastic applications (with Clouds)
• Reflected in socially-enhanced applications
• Dynamic adaptation, resource variability
• Decentralized decision-making to fit collective’s goals
• We need Horizontal Elasticity
5
CAiSE 2014,19 June
Thessaloniki, Greece
6. 6
• Software Engineering Project for a Health-Care System
– Automate the selection of the right resources at runtime
– Provide elastic execution
• Skills e.g., requirements engineer, developer, designer,
health-care consultant …
• Current solutions:
– Mostly centralized management
– Fixed workers/difficult to add new capabilities
– Lack of real productivity assessment
– Cannot provide modifying on-demand collaborations
Scenario
CAiSE 2014,19 June
Thessaloniki, Greece
7. Scenario (cont.)
Issues that Elasticity can Address
• We need elasticity in human computation
– Reliable responsiveness to change
• New skill-needs in unexpectedly generated tasks
– Delays in skill learning or finding new appropriate resources
– Low quality of results
• Badly planned delegations
– Overloaded and/or underutilized human-based services
– In either case human compute units need to be payed!
• The unpredictable nature of humans
– Incentive-based or agreement-based mechanisms
• still there is uncertainty in human service availability
– Misbehaving human-based compute units
7
CAiSE 2014,19 June
Thessaloniki, Greece
9. Adding Elastic Capabilities to
Social Compute Units
• Programmable collective adaptive systems
– Human-based resources as core compute units
• Individual Compute Units – ICU
• Recruited on-demand, from: crowdsourcing platforms,
expert networks, enterprise pools…
• Complex task execution
– Compute power
– Lifecycle
– Cloud-like behavior
• On-demand composition
• Based on customer-set constraints
• Scalable in size and capabilities
• Elastic properties
9
CAiSE 2014,19 June
Thessaloniki, Greece
10. • SCU Provisioning Platform
– Not just communication and collaboration support!
– Elastic execution-management support!
• Elasticity of Social Compute Units - Definition
– (semi)automatic runtime adaptability
• responsiveness to on-demand change
– scaling in size and capabilities, (re)scheduling
– optimal capability/performance parameters
– meeting customer-set constraints
– state and structural changes
Elasticity in SCUs
10
CAiSE 2014,19 June
Thessaloniki, Gre
11. What needs to be done
to provide elastic SCUs?
• Mechanisms of support for the execution phase of
SCUs
• Enable state and structural changes
• Metrics and monitoring
• APIs for ICU and SCU virtualization…
• Scheduling algorithms
• Framework for elastic SCU provisioning
11
CAiSE 2014,19 June
Thessaloniki, Greece
12. 12
Elasticity in SCUs – Execution Phase
Request
Create
Assimilate
Virtualize
Deploy
Execution
Dissolve
An SCU in the Execution Phase Defined by:
SCUexec(𝜏) = {SCUsize(𝜏), SCUstructure(𝜏),
SCUstate(𝜏), SCUeffort(𝜏), SCUproductivity(𝜏),
SCUcost(𝜏), SCUreputation(𝜏)}
CAiSE 2014,19 June
Thessaloniki, Greece
• The execution phase of the SCU must be modeled
and captured to be able to determine at runtime :
– whether constraints are met and which action plans to take if not
– which elastic action plans to invoke in which unexpected events…
13. SCU States
13
• The scope determines the validity of complex SCU-states
• Complex-state example: running Λ suspending Λ expanding
• SCU and ICU (cluster) scope
• Mutually exclusive: running Λ stopping
• SCU scope
• We need knowledge about the state of an SCU
– for our provisioning framework: to be able to design and
provide efficient core elastic scheduling algorithms
– for application developers: to efficiently implement our
elastic APIs, e.g., in custom decision algorithms substituting,
adding, removing the right ICUs…
Trigger action State Scope
Triggering Role
Platform Consumer ICU
Run Running SCU √ √ /
Suspend Suspending SCU/ICUcluster/ICU √ √ √
Activate Resuming SCU/ICUcluster/ICU √ √ √
Add Expanding ICUcluster/ICU √ √ √
Exclude Reducing ICUcluster/ICU √ √ √
Stop/Exclude/Add Substituting ICUcluster/ICU √ √ √
Stop Stopping SCU √ √ /
CAiSE 2014,19 June
Thessaloniki, Greece
14. ICU Metrics
• Profile properties (Id, Name, Mail adress, Location…)
• Dynamic Profile properties
– Global view
• Skill-set, price, reputation, global state (list of states
within SCUs), availability, productivity, connectedness
– SCU-specific view
• State within an SCU, reliability, availability, reciprocity,
effort, productivity, SCU-based trust, nr of completed
tasks
14
Basic metrics! More to be developed by application developers.
CAiSE 2014,19 June
Thessaloniki, Greece
15. 15
Fundamental metrics! More to be developed (by appl. dev).
SCU Metrics
For Elasticity Management Consumers don’t care
about: SCU size or
topology but do care
about Cost,
Productivity…
CAiSE 2014,19 June
Thessaloniki, Greece
16. Programming Elastic SCUs
• Enable application developers to virtualize and manipulate
SCUs
• Enable monitoring
• Provide fundamental elastic strategies extensible by App
developers
16
CAiSE 2014,19 June
Thessaloniki, Greece
20. An ICU Feedback-based
Example Algorithm
• Steps:
– For all tasks in SCU
– Rank matching ICUs and store the first x
– Assign task to top ranked ICU
– Add ICU if not already in SCU
– In case of time threshold
• Remove ICU if idle (or if misbehaving)
– For all ICUs in the reserve list with smaller task queue
• Send willingness message
• Reassign the task to an ICU that sent ACK (in descending rank)
• Add ICU if not already in SCU
20
Reserve ICU List
Without Payment
CAiSE 2014,19 June
Thessaloniki, Greece
22. Example Algorithm (cont.)
Deriving new metrics
• ICU Willingness and Willingness Confidentiality
– The willingness confidentiality score can be utilized as a
reliability measure for an ICU
• words vs action
22
n
n
requests
mentsacknowledg
sWillingnes
n
n
tasksassigned
tasksassignedsuccess
Successreassigned
_
__
n
n
n
n
tasksassigned
tasksassignedsuccess
requests
mentsacknowledg
sWillingnes alityConfidenti
_
__
CAiSE 2014,19 June
Thessaloniki, Greece
23. Example Algorithm (cont.)
Willingness Enhanced with Cost Priority
• Steps when task/s on time threshold:
- Send willingness request to all ICUs with the customer-set
constraints
- From all ICUs that send ACKs calculate and analyze cost if
ICU is added:
- Check If
and
- Add ICU/s where
23
CAiSE 2014,19 June
Thessaloniki, Greece
24. Benefits
• Enable application developers to:
– deploy elastic runtime models for SCUs based on customer
requirements
– provide tailored elastic socially-enhanced applications
– efficient runtime-management of the SCUs to best meet
customer-requirements
• Application developer (SaaS) and ICU(resource)
cost benefits
CAiSE 2014,19 June
Thessaloniki, Greece
24
25. Conclusion and Future Work
• Socially Enhanced Applications need to have
possibility for elastic utilization of human–based
services in collaboration scenarios
– Our goal: an engine with the mechanisms for Elastic SCU Provisioning
• Until now:
– Execution model of Elastic SCUs
– APIs for Developing Elastic SCU Applications
– Example algorithms
– Novel monitoring metrics reflecting human behavior and elasticity
• Future Work
– SLAs for Social Compute Units
– A Generic SCU Compute Power Model
25
CAiSE 2014,19 June
Thessaloniki, Greece
26. Thank You for Your Attention!
26
Mirela Riveni, Hongh-Linh Truong, Schahram Dustdar
Distributed Systems Group
Vienna University of Technology
Austria
m.riveni@infosys.tuwien.ac.at
http://www.infosys.tuwien.ac.at/staff/mriveni/
CAiSE 2014,19 June
Thessaloniki, Greece