Download presentation
Presentation is loading. Please wait.
Published byRoy Kelley Modified over 9 years ago
1
SBSE Course 4
2
Overview: Design Translate requirements into a representation of software Focuses on –Data structures –Architecture –Interfaces –Algorithmic details Also include –Resource and task allocation in a distributed system
3
Applications: Design Multiprocessor scheduling Task and resource allocation in distributed systems Hardware/software co-design in embedded systems Protocol construction Architecture design
4
Design
5
Multiprocessor scheduling Context: multiprocessor system Goal: minimize total run time of the task Multiprocessor scheduling: static/dynamic –Consider communication –Message passing –Waiting / possible deadlocks MPS (s/d): a.k.a. Load Balancing
6
◙ A Multiprocessor Scheduling Scheme Using Problem-Space Genetic Algorithms Nodes: tasks Edges: communication Weights: cost of communication
7
Solution Discussion: possible approaches
8
◙ A Modified Genetic Algorithm for Task Scheduling in Multiprocessor Systems Topic: Multiprocessor scheduling Approach: Partitioned GA-s –Divide and conquer –Divide the problem into subproblems, solve them, then combine them Task graph is partitioned Results: better than the classical GA
9
◙ Efficient Scheduling of Arbitrary Task Graphs to Multiprocessors using A Parallel Genetic Algorithm Uses a parallel implementation of GA –Examples of approaches Parallel evaluation Parallel evolution/ island model
10
Discussion of techniques
11
Other articles Pareto-based Soft Real-Time Task Scheduling in Multiprocessor Systems –Discussion of Pareto: multi-objective optimization –Discussion of elitism
12
Task and resource allocation in distributed systems Data, functionality usually allocated to specific nodes Node may need resources it owns or shared resources Inter-node communication may cause delays and reliability problems
13
Hardware/software co-design in embedded systems Hardware and software (designers) must cooperate –Hardware/software co-design
14
Implementation
15
Automatic programming, N-version programming, search for compiler optimisations and re-engineering Review: GP techniques
16
◙ Automatic generation of object-oriented programs using genetic programming Generation of OO-programs –Memory zone allocated for “data” –Methods are supposed to learn to operate properly on the attributes Application –Evolved structures like stack, queue using primitive operations
17
◙ Automatic programming and program maintenance with genetic programming Turing programs are evolved my means of GP Once such program solves a problem, it is added to a library of reusable code snippets -> see modern ADF-s
18
◙ Generating Multiple Diverse Software Versions with Genetic Programming A variant for N-Version programming Start more GP processes, each with its specific settings, aiming to synthesize “new ideas”.
19
Steps 1. The design and implement fitness function by using software specification. 2. Decide, which GP system parameters will be varied. 3. Decide how parameters will vary. 4. Choose the parameter value combinations to use in GP runs. 5. Let GP system to run for each combination of parameter values. 6. Measure fitness for each generated GP program. Calculate the diversity. 7. Select the program combinations with lowest failure probability to the software fault tolerance structure.
20
Re-engineering A program becomes too old, to “cracky”, needs to be “refurbished”. ◙ Automatic re-engineering of software using genetic programming –Program parallelisation ◙ Genetic algorithm based restructuring of object-oriented designs using metrics –Restructure OO design
21
Search for compiler optimizations ◙ Optimizing for Reduced Code Space using Genetic Algorithms –Each optimization method is given a letter, the problem is to find which is the better sequence of optimizations to apply ◙ GAPS: A Compiler Framework for Genetic Algorithm (GA) Optimised Parallelisation
22
Lab tasks (optional) Parameter control in Genetic Algorithms: dwindling mutation rate Multi-objective optimization –As many ‘1001’-s as possible –As many ‘11101’-s as possible Smart bug (GP application) Textual notation for UML research –http://www.infoiasi.ro/~ogh/tep
23
Tasks Read the survey Skim over the articles Like one? Choose it! You are not supposed to like a 2-page article, unless you can implement the techniques described in it. Don’t like any? Find your own SBSE article on the net and talk to me about it.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.