|
|
səhifə | 2/2 | tarix | 05.01.2022 | ölçüsü | 445 b. | | #68137 |
| Principles of dynamic adaptation Modification of the executed code Goal: better fit to allocated resources
Dynamic adaptation Three key questions: - When should the component adapt?
- How should the component be modified?
- Where can the reaction be executed?
Dynamic adaptation When should the component adapt? - Upon reception of an event from a monitor
- According to the policy
-
Dynamic adaptation How should the component be modified? - Executing special code
- Following directives of the policy
-
Dynamic adaptation Where can the reaction be executed? - At the next adaptation point
- Approximated prediction of the next point
- Based on control flow graph
-
Dynamic adaptation
Mixing parallelism and adaptation
Mixing parallelism and adaptation Introduction of global adaptation points - All the processes at the same state
- Need to coordinate all the processes
Example: SPMD code - Adaptation point between each phase
Mixing parallelism and adaptation Need for a distributed algorithm for the parallel coordinator - Only consider globally reachable points
- In the future of all the processes
- Make an agreement of all the processes
- Choose the same point for all the processes
Mixing parallelism and adaptation Need to control the non-determinism - Due to parallelism
- Dynamically insert synchronization statements
- Due to unpredictable conditional instructions
- Force the result of the conditions if possible
- Example: insertion of empty iterations in loops
- Otherwise postpone the decision-making
Experiment - Iterative SPMD code
- Adaptation points between each iteration
- Increase of the number of processors
Results - Negligible time in adaptation points
- Gain thanks to the adaptation
- Expected to scale well
Related domains - Notions equivalent to global adaptation points
- Need to execute some “special code” at the next “special point”
- Particular use of adaptation mechanisms
- User interface instead of monitors
Related domains - Consider dynamic environment
- Need for a global “consistent” state
- In the past for fault tolerance
- In the future for dynamic adaptation
- Relation to dynamic adaptation
- An application?
- A complementary feature?
Work done Design of the overall architecture - Identification of functional “boxes”
Distributed algorithm for the coordinator - Automated instrumentation by static behavioral reification
- Simple negotiation protocol
Demonstration prototype - Ad-hoc mechanisms
- Proof of concept
Future work Generalizing the approach - Generic definition of global adaptation points
- Limits of the “same state” definition
- Case of non-SPMD codes
- Expression of the adaptation policy
- Limits of explicit event-based rules
- Need for more sophisticated (intelligent?) policies
- Smoothing measures of resource availability
- Balancing instabilities
Future work Collaborative adaptation of components - Control side-effects
- Common policy at the level of:
- A group of components
- A composite
- The whole application
- Consider full Grid applications
- Not only their components
Dynamic adaptation of parallel codes Toward self-adaptable components for the Grid
Dostları ilə paylaş: |
|
|