USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
Managing data in computational edge clouds
1. Managing Data in
Computational Edge Clouds
ACM SIGCOMM 2017 Workshop on Mobile Edge Communications
(MECOMM’2017), Los Angeles
Nitinder Mohan✼ Pengyuan Zhou✼ Keerthana Govindaraj△ Jussi Kangasharju✼
✼University of Helsinki △Robert Bosch GmbH
✼{firstname.lastname@helsinki.fi} △{keerthana.govindaraj@de.bosch.com}
2. Rise of Edge Clouds
Network
DatacenterEdge
Server
User
2
Edge Cloud: Small-scale server(s)
deployed at network edge to compute user
data
Motivation:
3. Rise of Edge Clouds
Network
DatacenterEdge
Server
User
Edge Cloud: Small-scale server(s)
deployed at network edge to compute user
data
Motivation:
üDecreased latency and network traffic
2
4. Rise of Edge Clouds
Network
Edge Cloud: Small-scale server(s)
deployed at network edge to compute user
data
Motivation:
üDecreased latency and network traffic
üComputing data of local relevance
2
5. Edge-Fog Cloud
Nitinder Mohan and Jussi Kangasharju. "Edge-fog cloud: A distributed cloud for internet of things computations." Cloudification of the Internet of Things (CIoT). IEEE, 2016.
• Voluntary compute devices
• 1-2 network hops from users
• Ad-hoc network connectivity
• Dedicated compute servers
• 5-6 network hops from users
• Dense network connectivity
• Permanent data archival
• No compute capability
3
6. Data Availability in Edge Cache
Query: Give me a route from point
A to B without road disruptions
4
7. Data Availability in Edge Cache
• Edge cloud proposals presume that the
required data for processing is pre-
available in Edge servers cache
• However, Edge server may request
Data Store for required data
Data Request: Any construction/
accidents on the map?
4
8. Data Availability in Edge Cache
• Edge cloud proposals presume that the
required data for processing is pre-
available in Edge servers cache
• However, Edge server may request
Data Store for required data
• The computation is delayed by a
round-trip-time to central Data Store
• Reduces benefits of employing
Edge clouds!
Data Request: Any construction/
accidents on the map?
Requirement: Caching strategy which predicts and stores
required data before computation 4
9. Edge Cloud Cache Grouping
Edge cloud caching mechanism
ØGroup edge resources into cache groups based on their locally
cached data
ØPredict required data for computation based on cache grouping
classification
ØProvide coherence on multiple copies of shared data throughout
a cache group
5
12. Grouping Algorithm
Deployment: Select {RC}i resources
for computing a task Tc
1. Algorithms such as LPCF* selects a
subset from available resources
which achieves least processing and
network cost for collaboration.
2. Several deployments for different
tasks can occur at same time.
Task Deployment
T1
T2
Nitinder Mohan and Jussi Kangasharju. "Edge-fog cloud: A distributed cloud for internet of things
computations." Cloudification of the Internet of Things (CIoT). IEEE, 2016.
8
13. Grouping Algorithm
1. At t=0, {RC}i does not have data
required for computation and it
requests the required data from
Data Store
2. The Data Store sends the required
data to requesting resources
populating their caches
Task Deployment
Populate Caches
9
14. Grouping Algorithm
1. At t=0, {RC}i does not have data
required for computation and it
requests the required data from
Data Store
2. The Data Store sends the required
data to requesting resources
populating their caches
Task Deployment
Populate Caches
9
15. Grouping Algorithm
1. The task Tc is classified in a
workload Wk where Wk is a set of
similar tasks
2. The resources {RC}i caching data
of workload Wk are grouped
together as cache group CGk
Task Deployment
Populate Caches
Grouping
Classifiers
W1
W2
10
16. Grouping Algorithm
1. The deployment algorithm prefers
CGk ∈Wk for task Ti ∈Wk
Task Deployment
Populate Caches
Grouping
Classifiers
W1
W2
T3
11
17. Grouping Algorithm
1. The deployment algorithm prefers
CGk ∈Wk for task Ti ∈Wk
2. If the resources in group are not
appropriate for deployment, the
algorithm can select other available
resources
Task Deployment
Populate Caches
Grouping
Classifiers
W1
W2
11
18. Grouping Algorithm
1. The deployment algorithm prefers
CGk ∈Wk for task Ti ∈Wk
2. If the resources in group are not
appropriate for deployment, the
algorithm can select other available
resources
3. These resources then join their
respective cache group
Task Deployment
Populate Caches
Grouping
Classifiers
W1
W2
11
19. Grouping Algorithm
1. The deployment algorithm prefers
CGk ∈Wk for task Ti ∈Wk
2. If the resources in group are not
appropriate for deployment, the
algorithm can select other available
resources
3. These resources then join their
respective cache group
4. A resource can be a part of more
than one group
Task Deployment
Populate Caches
Grouping
Classifiers
W1
W2
11
22. Resource Roles
1. Group Member
• Resource (RCx) part of a cache group
{CG}i
• The group member stores only data of
its group workload
14
23. Resource Roles
1. Group Member
• Resource (RCx) part of a cache group
{CG}i
• The group member stores only data of
its group workload
2. Group Leader
• Representative of a group
• Responsible for maintaining coherent
data within a group
• Has consistent connectivity with group
members
• Elected via distributed election algorithm
14
24. Communication Flow
The communication model is strictly pull-based to limit number of
messages in the system
The model operates over following assumptions:
1. The resources upload their updated data copy to Data Store
after every successful computation
2. Data upload is in-parallel to ongoing local computation and
does not impact the computation completion time
3. Data Store is persistent and immune to failures
4. Messages in the system are not lost 15
25. Cache Data Structures
1. Group member table
Maps locally cached data with
group leader
2. Group leader table
Ensures that group leader has
consistent state and address of
resource caching data
3. Data Store table
Maps data to groups
Data Name Leader Address Tag
Data Name Leader Address Classifier Type
Data Name Resource Address Tag Timestamp
16
26. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario 1: Retrieving free data
17
27. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
Scenario 1: Retrieving free data
17
28. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
Scenario 1: Retrieving free data
17
29. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Scenario 1: Retrieving free data
17
30. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Content ‘X’?
Scenario 1: Retrieving free data
17
31. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Content ‘X’?
Scenario 1: Retrieving free data
17
32. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Content ‘X’?
Content ‘X’
Scenario 1: Retrieving free data
17
33. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Content ‘X’?
Content ‘X’
Scenario 1: Retrieving free data
Content ’X’
17
34. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Content ‘X’?
Scenario 2: Resource failure
18
35. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Content ‘X’?
Unavailable!
Scenario 2: Resource failure
18
36. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Content ‘X’?
Timeout
Unavailable!
Scenario 2: Resource failure
18
37. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Content ‘X’?
Content ‘X’?
Timeout
Unavailable!
Scenario 2: Resource failure
18
38. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Content ‘X’?
Content ‘X’?
Timeout
Unavailable!
Scenario 2: Resource failure
18
39. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Content ‘X’?
Content ‘X’?
Timeout
Content ‘X’
Unavailable!
Scenario 2: Resource failure
18
40. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
GoTo: ’Resource 1’
Content ‘X’?
Content ‘X’?
Timeout
Content ‘X’
Unavailable!
Scenario 2: Resource failure
Content ’X’
18
41. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Lock
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Lock Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario 3: Data under update
19
42. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Lock
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Lock Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario 3: Data under update
Content ‘X’?
19
43. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Lock
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Lock Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario 3: Data under update
Content ‘X’?
19
44. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Lock
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Lock Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Lock: ’Resource 1’
Scenario 3: Data under update
Content ‘X’?
19
45. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Lock
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Lock Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Lock: ’Resource 1’
Scenario 3: Data under update
Time Interval
Content ‘X’?
19
46. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Lock
Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Lock Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Lock: ’Resource 1’
Scenario 3: Data under update
Time Interval
Content ‘X’?
19
47. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Lock Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Lock: ’Resource 1’
Scenario 3: Data under update
Time Interval
Content ‘X’?
Free
19
48. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Lock Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Lock: ’Resource 1’
Scenario 3: Data under update
Time Interval
Free: Content ‘X’
Content ‘X’?
Free
19
49. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Lock Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Lock: ’Resource 1’
Scenario 3: Data under update
Time Interval
Free: Content ‘X’
Content ‘X’?
Free
19
50. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Lock: ’Resource 1’
Scenario 3: Data under update
Time Interval
Free: Content ‘X’
Content ‘X’?
Free Free
19
51. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
Lock: ’Resource 1’
Scenario 3: Data under update
Time Interval
Free: Content ‘X’
Content ‘X’?
Free Free
19
52. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
Lock: ’Resource 1’
Scenario 3: Data under update
Time Interval
Free: Content ‘X’
Content ‘X’?
GoTo: ’Resource 1’
Free Free
19
53. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
Lock: ’Resource 1’
Content ‘X’?
Scenario 3: Data under update
Time Interval
Free: Content ‘X’
Content ‘X’?
GoTo: ’Resource 1’
Free Free
19
54. Content Retrival in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A Lock
Resource 2
Member Table
Content ’X’ (stale)
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Content ‘X’?
Lock: ’Resource 1’
Content ‘X’?
Content ‘X’
Scenario 3: Data under update
Time Interval
Free: Content ‘X’
Content ‘X’?
GoTo: ’Resource 1’
Free Free
19
55. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
20
56. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
Resource 2: Retrieve updated Content ‘X’
20
57. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A
Free
Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
Resource 2: Retrieve updated Content ‘X’
20
58. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
Resource 2: Retrieve updated Content ‘X’
Lock
20
59. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
Resource 2: Retrieve updated Content ‘X’
Lock: Content ‘X’
Lock
20
60. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Free Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
Resource 2: Retrieve updated Content ‘X’
Lock: Content ‘X’
Lock
20
61. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
Resource 2: Retrieve updated Content ‘X’
Lock: Content ‘X’
Lock Lock
20
Resource 2
62. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
Resource 2: Retrieve updated Content ‘X’
Lock: Content ‘X’
Processing
Lock Lock
20
Resource 2
63. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
Resource 2: Retrieve updated Content ‘X’
Lock: Content ‘X’
Processing
Free Lock
20
Resource 2
64. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Tx
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
Resource 2: Retrieve updated Content ‘X’
Lock: Content ‘X’
Processing
Free: Content ‘X’
Lock Lock
20
Resource 2
65. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Tx1
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
Resource 2: Retrieve updated Content ‘X’
Lock: Content ‘X’
Processing
Free: Content ‘X’
Lock Free
20
Resource 2
66. Content Update in Group
Resource 1
Member Table
Content ’X’
Content ‘Y’
Leader A
Leader A
Free
Lock
Resource 2
Member Table
Content ’X’
Content ‘Q’
Leader A
Leader A Free
Leader A
Leader Table
Content ’X’
Content ‘Y’
Tx1
Ty
Content ‘Q’ Free
Lock
Tq
Resource 1
Resource 2Content ‘Z’ Leader B Free
Data Store
Data Store Table
Content ’X’
Content ‘Y’
Leader A
Leader B
Wi
WjContent ‘Z’
Content ‘Q’
Leader A
Leader A
Wi
Wi
Scenario: Update on Content ‘X’ by Resource 2
Resource 2: Retrieve updated Content ‘X’
Lock: Content ‘X’
Processing
Free: Content ‘X’
Content ‘X’
Lock Free
20
Resource 2
67. Requirements
1. Reduce unnecessary network traffic
Ø Communication model encourages data sharing
within a group and removes a single point-of-failure
2. Ensure consistent computation by avoiding
stale data copies
Ø Model ensures causal coherence on shared data
21
69. Evaluation
Evaluated on Icarus simulator*
Parameters:
1. 320 Edge and Fog nodes + Data Store
2. Fog node acts as group leader
3. 96*104 content items divided in 32 workloads
4. Resource cache size capacity is 10% of overall content size
*Lorenzo Saino, Ioannis Psaras, and George Pavlou. "ICARUS: a caching simulator for information centric networking (ICN)." Proceedings of the 7th International
ICST conference on Simulation Tools and Techniques. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), 2014. 23
70. Evaluation
Q1. Does resource grouping offer any benefits to edge
clouds?
Q2. If yes, what is the appropriate size of a group?
24
71. Q1. Does resource grouping offer any
benefits to edge clouds?
a) Effect on cache hit rate
0.02 0.04 0.06 0.08 0.1
Cache Size
0
0.2
0.4
0.6
0.8
1
CacheHitRate
4-group
4-no_group
32-group
32-no_group
25
72. Q1. Does resource grouping offer any
benefits to edge clouds?
a) Effect on cache hit rate
0.02 0.04 0.06 0.08 0.1
Cache Size
0
0.2
0.4
0.6
0.8
1
CacheHitRate
4-group
4-no_group
32-group
32-no_group
≈2 times increase in hit rate
25
73. Q1. Does resource grouping offer any
benefits to edge clouds?
b) Effect on latency
0.02 0.04 0.06 0.08 0.1
Cache Size
20
30
40
50
60
70
80
Latency(ms)
4-group
4-no_group
32-group
32-no_group
26
74. Q1. Does resource grouping offer any
benefits to edge clouds?
b) Effect on latency
0.02 0.04 0.06 0.08 0.1
Cache Size
20
30
40
50
60
70
80
Latency(ms)
4-group
4-no_group
32-group
32-no_group
45% decrease in latency
26
75. Q2. If yes, what is the appropriate size
of a group?
0 25 50 75 100 125 150
Number of Groups
0.2
0.4
0.6
0.8
1
CacheHitRate
4 workloads
8 workloads
16 workloads
32 workloads
0 25 50 75 100 125 150
Number of Groups
20
30
40
50
Latency(ms)
4 workloads
8 workloads
16 workloads
32 workloads
Maximum gains are achieved when
number of cache groups = number of workloads
27
76. Conclusion
1. Edge resource grouping strategy manages content in Edge caches
2. Strategy classifies content based on resource’s deployed
workloads and cached content
3. The 3-step iterative algorithm maps future deployments on
resources with required data locally cached
4. Our evaluations via simulation show
i. Direct correlation between grouping and increased system
performance
ii. Number of cache groups and number of assigned workloads
28
79. Industry 4.0 on Edge
Industry 4.0 proposes automation in
manufacturing
1. Robots such as Bosch APAS can
automate tasks and work along side
humans while ensuring safety
2. IoT sensor data is used in augmented
reality for collaborative support and
manufacturing
Requirement: Time-critical and fast data
processing
80. Industry 4.0 on Edge
Industry 4.0 proposes automation in
manufacturing
1. Robots such as Bosch APAS can
automate tasks and work along side
humans while ensuring safety
2. IoT sensor data is used in augmented
reality for collaborative support and
manufacturing
Requirement: Time-critical and fast data
processing
Solution: Implement industrial Edge clouds
Network
Datacenter
Edge
Servers
81. Grouping Classifier
1. Location: location of place while
constructing AR and 3D models
2. Relevance: laptop and cellphone
manufacturing tasks as casing
3. Time: sensor data generation and
‘freshness’ time
4. Warning signals: broadcast of
information-only or safety-related
signals
82. Q1. Does resource grouping offer any
benefits to edge clouds?
c) Effect of cache size
0.02 0.04 0.06 0.08 0.1
Cache Size
20
30
40
50
60
70
80
Latency(ms)
4-group
4-no_group
32-group
32-no_group
0.02 0.04 0.06 0.08 0.1
Cache Size
0
0.2
0.4
0.6
0.8
1
CacheHitRate
4-group
4-no_group
32-group
32-no_group
Gains decrease as we increase cache size!
1. Grouping works best when cache sizes are limited and cannot store all content
2. With larger caches, resources can locally store all content!
83. Q1. Does resource grouping offer any
benefits to edge clouds?
d) Effect of number of workloads
0.02 0.04 0.06 0.08 0.1
Cache Size
20
30
40
50
60
70
80
Latency(ms)
4-group
4-no_group
32-group
32-no_group
0.02 0.04 0.06 0.08 0.1
Cache Size
0
0.2
0.4
0.6
0.8
1
CacheHitRate
4-group
4-no_group
32-group
32-no_group
Gains decrease on increasing number of workloads!
Ø More workloads ≈ more unique content requests which cannot be satisfied by local
caches
Workloads is a uniform distribution of similar content requests