Assignment 1A: Review of two research papers Lorenzo Addazi Master in Software Engineering lai15004@student.mdh.se Paper 1 “Worst-Case Execution Time Analysis for Dynamic Branch Predictors” Ian Bate and Ralf Reutemann The paper in analysis is well-organised with respect to the recommended guidelines as regards the content structuring in scientific articles, and allows the reader to have a seamless reading experience. Indeed, starting from the background introduction, then passing through the method formal definition and its consequent evaluation, and eventually concluding with the final observations, the concepts are presented in an intuitive order that allows the reader to constantly maintain the focus on the content of the paper, as well as to define more complex concepts as the simple composition of the previous ones, therefore facilitating their comprehension. Despite being simple and not containing any symbol or cryptic expression, the title is not really informative about the actual contribution of the paper. Indeed, its vagueness allows the reader to understand the domain area, as well as the paper to be easily found in a possible related research, but it fails in giving a precise insight about the specific problem it aims to cope with and the kind of solution it offers. The “Abstract” section provides a concise introduction to the application domain the paper in analysis is related to, as well as to the problem the proposed method aims to cope with. Furthermore, it gives an insight about the proposed solution, how this is built upon existing methods in the literature, and how this could then be applied on an example in order to obtain some useful information. The concepts are presented in a clear and concise fashion, also avoiding both references and acronyms. The “Introduction” section begins with a well-organised description of the background area, which then gradually flows into a concise statement of the problem which the paper aims to cope with. The importance of solving this problem is clearly stated, and supported using the verifiable results obtained from a referenced existing solution. Although the proposed solution is clearly defined as improving upon existing work, which is correctly referenced for further details, this section does not really provide an overview of all the relevant related works. The summary of contributions is concise and essential, it does not make any forward reference and provides a reasonable argumentation whenever presenting short opinions. Finally, the “Introduction” section ends with a brief summary of the organization of the remaining sections. It is worth noting that, although no explicit reference for further details is given to the reader both as regards the background area and all the relevant related works in this section, the two following sections are completely dedicated to each of them respectively. A possible reason of this organisation choice could be found in that it allows to only present the most important information first, while keeping the remaining part only for those really interested, therefore facilitating the comprehension. The main contribution of this paper is distributed between three sections. In detail, the first two sections describe the actual approach and a further extension respectively, whereas the third one evaluates them by means of a simulator. The proposed approach is firstly introduced by means of a comparison with the existing solution it relies on, then followed by a brief description of the additional elements. Once given a general idea of the method, the section continues with its formal definition and analysis. The approach extension is then introduced starting from the background differences with respect to the previous situation. The description then proceeds with a formal definition of the additional concepts emerged. In the third section, finally, the approach is evaluated and compared to other existing solutions by means of some simulation examples. The evaluation is easily reproducible by the reader as both the simulator and its different configurations used are explicitly listed. The results obtained from the evaluation are then analysed with respect to different factors and illustrated to the reader by means of clear and essential plotted images. Throughout the sections, the reader is able to eventually verify or reproduce the presented facts thanks to both external and internal references. The conclusions section provides a brief summary of the paper in analysis, then followed by an interpretation of the obtained results in terms of its positive and negative aspects, and finally concluded with few suggestions as regards possible future work directions. The references section is complete, since it covers all the external references used within the paper, and is correct, since it complies with the IEEE reference rules as required by the conference it has been submitted to. The language used in the paper in analysis is clear and fluid. The structure of the paragraphs allows the reader to easily understand which is the main topic discussed, the absence of artificial breaks avoids to move his attention out from the main logical reasoning of the paper. Paper 2 “Improving Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffers” Norman P. Jouppi The article in analysis is not well structured. Indeed, by referring to the recommended guidelines as regards the content structuring in scientific articles, it is possible to note how some sections are literally broken down and distributed in the others, or even missing entirely. This unusual organisation forces the reader to make an additional effort while reading the article, therefore increasing the risk of confusion and making less likely to already have a clear idea about the presented concepts after the first reading. A possible example is given by the results obtained from the benchmark evaluation of the proposed techniques. Indeed, instead of having a single dedicated section, this information has to be sought between either the method formalisation sections or the “Conclusions” section. The title is direct, essential and does not make use of any symbol or cryptic expression. As such, it successfully gives a clear idea about the application domain of the paper, as well as its given contribution. Furthermore, it makes the article most likely to be found in a possible research about its related domain. Starting from the very beginning of the “Abstract” section, both the problem and the kind of solution proposed to deal with it are clearly stated. As regards the results obtained, each of the proposed techniques is briefly described as regards its main characteristics as well as the improvement obtained from its application. Finally, the section concludes providing a concise example of combination of the presented techniques, along with an insight about the results obtained from its evaluation on a set of benchmarks. The abstract section does not really try to convince the reader about the importance of the contribution given by the paper, though, but rather just to review its content. The “Introduction” section does not provide a clear description of the background area, nor it provides any external reference for further details about it, but rather weaves it with a generic definition of the problem. Moreover, the problem definition itself is almost entirely backed up by personal opinions expressed as wellassessed and unverifiable facts. The summary of the contributions given by the paper is vague and incomplete. Indeed, there is no reference about the results obtained from the investigation. Concluding the section, there is a summary of the organisation of the paper. Despite being clear as regards the structural organisation of the remaining sections, as well as the logical connection among each other, it references to technical results and concepts which are only presented in the subsequent sections. Finally, there is not any reference to possible relevant related works. The main contribution of this paper is distributed among three different sections. The “Baseline Design” section describes in detail the benchmark configuration, which is later used to evaluate each of the proposed methods, as well as a baseline system designed using conventional caching techniques, which is both used in order to compare the proposed methods with the state-of-the-art and to introduce the performance issues motivating the contribution of the paper. The “Reducing Conflict Misses: Miss Caching and Victim Caching” section and the “Reducing Capacity and Compulsory Misses” section, instead, share a common clear content layout, and are both completely dedicated to the description, evaluation and analysis of the proposed caching techniques. In detail, each technique is first explained, along with a brief background introduction, then evaluated using the previously presented benchmark, and finally analysed with respect to different perspectives, as well as to the benchmark results. The first part of the “Conclusions” section provides a well-organised review of the presented techniques. In addition to a brief summary of the main characteristics, each of them is analysed with respect to the results obtained from the benchmark evaluation. Following, the benchmark results produced by the proposed combination of the presented techniques are analysed, and then compared to those produced by the baseline system introduced at the beginning of the article. Finally, the section concludes presenting a set of possible future work directions starting from a brief discussion about the limitations of the contribution given by the paper. The “References” section is not complete, since it does not cover all the previous work and unexplained acronyms referenced throughout the article, and it is not correct, since it does not always comply with the IEEE reference rules as required by the conference it has been submitted to. The structure of the paragraphs and the presence of artificial breaks does not always allow to understand which is the main topic. Finally, the language used is too informal and makes use of improper punctuation in some parts of the paper.