Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente | ||
magistraleinformaticanetworking:spd:13-14-projectproposals [14/07/2014 alle 11:07 (10 anni fa)] Massimo Coppola Added reference sequential code |
magistraleinformaticanetworking:spd:13-14-projectproposals [29/07/2014 alle 14:49 (10 anni fa)] (versione attuale) Massimo Coppola [SPD Project Proposals for academic year 2013-2014] |
||
---|---|---|---|
Linea 1: | Linea 1: | ||
===== SPD Project Proposals for academic year 2013-2014 ===== | ===== SPD Project Proposals for academic year 2013-2014 ===== | ||
- | This SPD project for the current academic year can be selected by any of the students. As explained during the course, the project development and test is still an individual work. The description of the project and the support code can also be dowloaded as an RTF file {{: | + | This SPD project for the current academic year can be selected by any of the students. As explained during the course, the project development and test is still an individual work. |
+ | |||
+ | **The description of the project and the support code can also be dowloaded as an RTF file {{: | ||
+ | |||
+ | **Note (29/ | ||
==== Rules ==== | ==== Rules ==== | ||
Linea 43: | Linea 47: | ||
http:// | http:// | ||
- | Other Bibliography on the problem: | + | //Other Bibliography on the problem// |
Rodolfo Toledo, Eric Tanter, José Piquer, Denis Caromel, Mario Leyton, "Using Reflexd For A Grid Solution To The N-Queens Problem: A Case Study", | Rodolfo Toledo, Eric Tanter, José Piquer, Denis Caromel, Mario Leyton, "Using Reflexd For A Grid Solution To The N-Queens Problem: A Case Study", | ||
Linea 266: | Linea 270: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | ==== Additional explanations ==== | ||
+ | The following should be obvious but it was asked recently. | ||
+ | |||
+ | - Students may optimize or replace the sequential code, but are not strictly required to do that. On the one hand, a strongly optimized sequential code will dwarven the parallel speedup of your solution, and spending most of your time in this will not address the key issue and will not raise your evaluation. On the other hand, depending on the parallel solution and technology, some optimizations may be unavoidable in order to achieve a good speedup or obey the limits of your computing platform (memory size and/or bandwidth, parallelism degree, acceptable computation time, degree of software lockout or computation/ | ||
+ | - The problem is naturally divided in three stages, from an abstract point of view. It is up to the student to decide if a different decomposition of the work is actually more suited to their technology. The student is expected to be able to explain and discuss his/her choices and motivate them, both in the case they match the abstract problem description and in the case they depart from it. The key question to ask yourself should sound like "would it be possible, sticking to the same platform and framework, to enhance the parallelisation of the problem by changing the parallel structure adopted?" | ||
+ | - Unique solutions (also called fundamental solutions) are those which remain after we identify those which happen to be mirrored or rotated of each other. Of course you can choose a representative in each equivalence class in the set of solutionns, then you can only store that representative in the dictionary structure of stage 2 of the problem. Choosing wisely what is the representative and how to find it greatly simplifies the implementation. | ||
+ | - Explaining you choices in terms of measured features of the evolving code DOES give extra point. That is, tracing code behaviour in different conditions and for specific subproblems in terms of observable features like memory size, number of recursive calls, achieved load balancing and so on will help you achieve a better solution and be able to analyze it. |