Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
In computer architecture, speedup is a number that measures the relative performance of two systems processing the same problem. More technically, it is the improvement in speed of execution of a task executed on two similar architectures with different resources. The notion of speedup was established by Amdahl's law, which was particularly focused on parallel processing. However, speedup can be used more generally to show the effect on performance after any resource enhancement. Speedup can be defined for two different types of quantities: latency and throughput. Latency of an architecture is the reciprocal of the execution speed of a task: where v is the execution speed of the task; T is the execution time of the task; W is the execution workload of the task. Throughput of an architecture is the execution rate of a task: where ρ is the execution density (e.g., the number of stages in an instruction pipeline for a pipelined architecture); A is the execution capacity (e.g., the number of processors for a parallel architecture). Latency is often measured in seconds per unit of execution workload. Throughput is often measured in units of execution workload per second. Another unit of throughput is instructions per cycle (IPC) and its reciprocal, cycles per instruction (CPI), is another unit of latency. Speedup is dimensionless and defined differently for each type of quantity so that it is a consistent metric. Speedup in latency is defined by the following formula: where Slatency is the speedup in latency of the architecture 2 with respect to the architecture 1; L1 is the latency of the architecture 1; L2 is the latency of the architecture 2. Speedup in latency can be predicted from Amdahl's law or Gustafson's law. Speedup in throughput is defined by the formula: where Sthroughput is the speedup in throughput of the architecture 2 with respect to the architecture 1; Q1 is the throughput of the architecture 1; Q2 is the throughput of the architecture 2. We are testing the effectiveness of a branch predictor on the execution of a program.
Jean-Paul Richard Kneib, Markus Rexroth
Ursula Röthlisberger, Martin Peter Bircher
David Atienza Alonso, Marina Zapater Sancho, Giovanni Ansaloni, Rafael Medina Morillas, Yasir Mahmood Qureshi, Joshua Alexander Harrison Klein