ASYNCHRONOUS AND DETERMINISTIC OBJECTS - PowerPoint PPT Presentation

About This Presentation
Title:

ASYNCHRONOUS AND DETERMINISTIC OBJECTS

Description:

Determinism properties. Denis CAROMEL, Ludovic HENRIO, Bernard Paul SERPETTE ... Some concurrent extensions, not our way to determinism -calculus ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 51
Provided by: hen48
Category:

less

Transcript and Presenter's Notes

Title: ASYNCHRONOUS AND DETERMINISTIC OBJECTS


1
ASYNCHRONOUS AND DETERMINISTIC OBJECTS
Denis CAROMEL, Ludovic HENRIO, Bernard Paul
SERPETTE
  • ASP Asynchronous Sequential Processes
  • Distributed objects
  • Asynchronous method calls
  • Futures and Wait-by-necessity
  • Determinism properties

I3S - INRIA - Univ Nice Sophia-Antipolis
2
Context
  • V-calculus
  • Objects, not concurrent
  • Some concurrent extensions, not our way to
    determinism
  • ?-calculus
  • Communications, channel based, not object
    structured
  • Linear(ized) channels(pobl), no implicit
    synchronization
  • Process Networks
  • Processes, channel based, not object oriented
  • Determinism, no implicit synchronization

Context
3
Contents
  • 1 - ASP Principles
  • 2 - Syntax and Semantics
  • 3 - Confluence and Determinacy
  • 4 - Conclusion

4
Structure
Active(a)
1- ASP Principles
5
Sending Requests ( REQUEST )
a
b
foo
beta.foo(b)
resultbeta.foo(b)
1- ASP Principles
6
Sending Requests ( REQUEST )
a
b
foo
beta.foo(b)
resultbeta.foo(b)
1- ASP Principles
7
Serving Requests ( SERVE )
a
b
Serve(foo)...
foo
beta.foo(b)
bar
Serve(foo)...
1- ASP Principles
8
Serving Requests ( SERVE )
a
b
Serve(foo)
beta.foo(b)
bar
Serve(foo)...
1- ASP Principles
9
End of Service ( ENDSERVICE )
a
b
value
...
foo
1- ASP Principles
10
End of Service ( ENDSERVICE )
a
b
...
foo
1- ASP Principles
11
Sending Results ( REPLY )
a
b
foo
1- ASP Principles
12
Sending Results ( REPLY )
a
b
foo
1- ASP Principles
13
Wait by Necessity
a
b
delta.send(result)
d
1- ASP Principles
14
Wait by Necessity
a
b
delta.send(result)
result.bar()
d
1- ASP Principles
15
Wait by Necessity
a
b
delta.send(result)
result.bar()
d
1- ASP Principles
16
Wait by Necessity
a
b
Futures updates can occur at any time
result.bar()
d
1- ASP Principles
17
Contents
  • 1 - ASP Principles
  • 2 - Syntax and Semantics
  • 3 - Confluence and Determinacy
  • 4 - Conclusion

18
ASP Syntax source terms
  • Imperative V-calculus
  • ASP parallelism primitives

2- Syntax and Semantics
19
Local
Creating Activity
Sending request
Receiving replies
2- Syntax and Semantics
20
Contents
  • 1 - ASP Principles
  • 2 - Syntax and Semantics
  • 3 - Confluence and Determinacy
  • 4 - Conclusion

21
Compatibility
Serves the oldest request on foo OR bar
bar
d
. Serve(foo,bar) Serve(foo,gee)
foo
gee
3- Confluence and Determinacy
22
Confluence
  • Potential services

Execution characterized by the order of Request
Senders
Compatibility ? Confluence
3- Confluence and Determinacy
23
Deterministic Object Networks
g
b
d
foo,bar , foo,gee
bar,gee , foo
gee bar
bar gee
3- Confluence and Determinacy
24
Static DON
a
d
f
foo,bar , gee
gee, f,g
foo,bar , gee
f,g
g
g
g
foo
f
foo,bar , gee
foo, bar
bar
e
f
b
bar , gee
gee, f,g
gee, f,g
gee
3- Confluence and Determinacy
25
Contents
  • 1 - ASP Principles
  • 2 - Syntax and Semantics
  • 3 - Confluence and Determinacy
  • 4 - Conclusion

26
Conclusion
  • An Asynchronous Object Calculus
  • Structured asynchronous activities
  • Structured communications with futures
  • Data-driven synchronization
  • ASP ? Confluence and Determinacy
  • Future updates can occur at any time
  • Execution characterized by the order of request
    senders
  • Determinacy of programs communicating over trees,

Thank You Any Question?
4- Conclusion
27
Perspectives
  • Approximation of confluence property
  • Static analysis
  • Generalization of confluence property
  • Functional behavior
  • Scheduling of requests
  • Extensions of ASP
  • Group communication
  • Component calculus
  • Mobility and other features

28
Related Work
  • Futures and Wait by Necessity
  • MultiLisp by Halstead
  • Wait-By-Necessity by Caromel
  • Determinism
  • pobl by Jones, Linearized channels
  • Process Networks by Kahn and MacQueen
  • Objects and concurrency
  • Obliq, Gordon-Hankin-Lassen
  • Actors
  • ?-calculus, blue calculus, join-calculus

29
Intermediate Structures
  • Terms
  • Configuration
  • Request queue
  • Futures list
  • Store

30
Static DON versus Process Networks
a
d
f
foo,bar , gee
gee, f,g
foo,bar , gee
f,g
g
put
g
g
foo
f
foo,bar , gee
foo, bar
bar
e
f
b
get
bar , gee
gee, f,g
gee, f,g
gee
31
Activity Creation ( NEWACT )
a
Active(a)
b
newactActive(a)
32
Objects Topology
b
a
g
d
33
Equivalence Modulo Futures Updates
a
f1
b
g
f2
f3
34
More Futures
a
d
...
result.bar()
b
g
35
More Futures
a
d
result.bar()
b
g
36
More Futures
a
d
result.bar()
b
g
37
More Futures
a
d
result.bar()
b
g
38
More Futures
a
d
Futures updates can occur at any time
result.bar()
b
g
39
Concurrent Constraint Programming
  • Constraint programming, different notion of store
  • Shared memory
  • No internal state in the store (functional agents)
  • Data-driven / constraint driven synchronization
  • Blocking Ask
  • Determinate case

40
Activity Creation ( NEWACT )
a
Active(a,s)
newactActive(a,s)
41
Activity Creation ( NEWACT )
a
Active(a,s)
newactActive(a,s)
42
Equivalence Modulo Futures Updates
a
f1
b
g
f2
f3
43
Equivalence Modulo Futures Updates
a
a
f2
f1
b
g
b
g
f2
f3
44
Store Partitioning
45
Request Service ( SERVE )
b
Serve(foo)
bar
foo
Serve(foo)...
46
Request Service ( SERVE )
b
Serve(foo)
bar
foo
...
Serve(foo)...
47
Objectives
  • Model of the following features
  • Object orientation (activities, communications)
  • Asynchronous communications with futures
  • Service policy
  • Confluence and determinacy
  • Identify sources of non-determinism
  • Characterize equivalent executions
  • Give general properties
  • Find some properties easy to verify

48
End Of Service ( ENDSERVICE )
b
value
foo
bar
...
49
End Of Service ( ENDSERVICE )
b
value
bar
foo
...
50
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com