Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Sami Yehia

dblp:16/5435 · DBLP profile ↗
← Back
12ranked-venue papers
3as first author
0since 2021 · last 2013
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 12 · 3 first-authorSoftware engineering, systems software and programming languages · 2 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
6 papers
Processor architecture and microarchitecture · 36% Embedded and real-time systems · 17% Memory systems · 11%
Software engineering, system software, and programming languages
3 papers
Compilers and program optimization · 100%

Topics — the 19 heaviest of 23, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Embedded and real-time systems › critical systems
mission-critical systems
0.212013
On the convergence of mainstream and mission-critical markets · DAC 2013
Processor architecture and microarchitecture
multithreading
0.112012
On the evaluation of the impact of shared resources in multithreaded COTS processors in time-critical environments · ACM Trans. Archit. Code Optim. 2012
Electronic design automation › timing analysis
real-time timing analysis
0.112012
On the evaluation of the impact of shared resources in multithreaded COTS processors in time-critical environments · ACM Trans. Archit. Code Optim. 2012
Processor architecture and microarchitecture
resource contention
0.112012
On the evaluation of the impact of shared resources in multithreaded COTS processors in time-critical environments · ACM Trans. Archit. Code Optim. 2012
Reconfigurable computing and FPGAs
coarse-grained reconfigurable architecture
0.112009
Reconciling specialization and flexibility through compound circuits · HPCA 2009
Processor architecture and microarchitecture › binary translation
dynamic binary translation
0.112007
Liquid SIMD: Abstracting SIMD Hardware using Lightweight Dynamic Mapping · HPCA 2007
Processor architecture and microarchitecture
instruction set architecture
0.112007
Liquid SIMD: Abstracting SIMD Hardware using Lightweight Dynamic Mapping · HPCA 2007
Memory systems
cache coherence
0.112005
System-wide performance monitors and their application to the optimization of coherent memory accesses · PPoPP 2005
Memory systems › cache coherence
coherence traffic reduction
0.112005
System-wide performance monitors and their application to the optimization of coherent memory accesses · PPoPP 2005
Memory systems › cache coherence
false sharing
0.112005
System-wide performance monitors and their application to the optimization of coherent memory accesses · PPoPP 2005
Performance modeling and evaluation › performance monitoring
hardware performance counters
0.112005
System-wide performance monitors and their application to the optimization of coherent memory accesses · PPoPP 2005
Performance modeling and evaluation
performance monitoring
0.112005
System-wide performance monitors and their application to the optimization of coherent memory accesses · PPoPP 2005
Embedded and real-time systems › real-time embedded systems
avionics and automotive systems
0.012013
On the convergence of mainstream and mission-critical markets · DAC 2013
Processor architecture and microarchitecture › microprocessor design › processor core design
functional units
0.012004
From Sequences of Dependent Instructions to Functions: An Approach for Improving Performance without ILP or Speculation · ISCA 2004
Processor architecture and microarchitecture
instruction-level parallelism
0.012004
From Sequences of Dependent Instructions to Functions: An Approach for Improving Performance without ILP or Speculation · ISCA 2004
Performance modeling and evaluation
benchmarking
0.012012
On the evaluation of the impact of shared resources in multithreaded COTS processors in time-critical environments · ACM Trans. Archit. Code Optim. 2012
Compilers and program optimization
compiler infrastructure
0.012007
Liquid SIMD: Abstracting SIMD Hardware using Lightweight Dynamic Mapping · HPCA 2007
Compilers and program optimization › code generation
SIMD code generation
0.012007
Liquid SIMD: Abstracting SIMD Hardware using Lightweight Dynamic Mapping · HPCA 2007
Compilers and program optimization › dynamic optimization
profile-guided optimization
0.012005
System-wide performance monitors and their application to the optimization of coherent memory accesses · PPoPP 2005

Methods — techniques the papers use, named apart from their topics

lightweight dynamic mapping · 0.1dynamic translation · 0.1benchmark-based slowdown quantification · 0.1performance monitors · 0.1two-level combinational circuits · 0.1circuit-level parallelism · 0.1
YearPublicationVenuePosition
2013 On the convergence of mainstream and mission-critical markets
abstract
The computing market has been dominated during the last two decades by the well-known convergence of the high-performance computing market and the mobile market. In this paper we witness a new type of convergence between the mission-critical market (such as avionic or automotive) and the mainstream consumer electronics market. Such convergence is fuelled by the common needs of both markets for more reliability, support for mission-critical functionalities and the challenge of harnessing the unsustainable increases in safety margins to guarantee either correctness or timing. In this position paper, we present a description of this new convergence, as well as the main challenges and opportunities that it brings to computing industry.
Sylvain Girbal, Miquel Moretó, Arnaud Grasset, Jaume Abella 0001, Eduardo Quiñones, Francisco J. Cazorla, Sami Yehia
DAC7
2013 Topic 4: High-Performance Architectures and Compilers - (Introduction)
Denis Barthou, Wolfgang Karl, Ramón Doallo, Evelyn Duesterwald, Sami Yehia
Euro-Par5
2012 On the evaluation of the impact of shared resources in multithreaded COTS processors in time-critical environments
abstract
Commercial Off-The-Shelf (COTS) processors are now commonly used in real-time embedded systems. The characteristics of these processors fulfill system requirements in terms of time-to-market, low cost, and high performance-per-watt ratio. However, multithreaded (MT) processors are still not widely used in real-time systems because the timing analysis is too complex. In MT processors, simultaneously-running tasks share and compete for processor resources, so the timing analysis has to estimate the possible impact that the inter-task interferences have on the execution time of the applications. In this paper, we propose a method that quantifies the slowdown that simultaneously-running tasks may experience due to collision in shared processor resources. To that end, we designed benchmarks that stress specific processor resources and we used them to (1) estimate the upper limit of a slowdown that simultaneously-running tasks may experience because of collision in different shared processor resources, and (2) quantify the sensitivity of time-critical applications to collision in these resources. We used the presented method to determine if a given MT processor is a good candidate for systems with timing requirements. We also present a case study in which the method is used to analyze three multithreaded architectures exhibiting different configurations of resource sharing. Finally, we show that measuring the slowdown that real applications experience when simultaneously-running with resource-stressing benchmarks is an important step in measurement-based timing analysis. This information is a base for incremental verification of MT COTS architectures.
Petar Radojkovic, Sylvain Girbal, Arnaud Grasset, Eduardo Quiñones, Sami Yehia, Francisco J. Cazorla
ACM Trans. Archit. Code Optim.5
2011 Exploiting structural redundancy of SIMD accelerators for their built-in self-testing/diagnosis and reconfiguration
abstract
Process scaling has given designers billions of transistors to work with. As feature sizes near the atomic scale, extensive variation and wear-out inevitably make margining uneconomical or impossible. In this context, new design approaches are required. The inherent regularity and redundancy of SIMD architectures make them suitable to address the challenges posed by new semiconductor technologies at the architecture level. This paper proposes a built-in self-test/self-diagnosis procedure for a SIMD processor. Concurrent BIST operations are carried out after reset at each PE, thus resulting in scalable test application time with processor size. The key principle consists of exploiting the inherent structural redundancy of the SIMD architecture in a cooperative way, thus strongly reducing the testing framework latency and area overhead. Once the faults are detected, a reconfiguration technique is then proposed in order to preserve correct operation. Testing of single stuck-at faults is performed at-speed in 240 cycles regardless of the accelerator size, with a hardware overhead of less than 10%. Finally, the fault-tolerant tile integrating both BIST, reconfiguration logic and spare PE requires a 25% of total area overhead.
Alessandro Strano, Davide Bertozzi, Arnaud Grasset, Sami Yehia
ASAP4
2011 Towards improved survivability in safety-critical systems
abstract
Performance demand of Critical Real-Time Embedded (CRTE) systems implementing safety-related system features grows at an exponential rate. Only modern semiconductor technologies can satisfy CRTE systems performance needs efficiently. However, those technologies lead to high failure rates, thus lowering survivability of chips to unacceptable levels for CRTE systems. This paper presents SESACS architecture (Surviving Errors in SAfety-Critical Systems), a paradigm shift in the design of CRTE systems. SESACS is a new system design methodology consisting of three main components: (i) a multicore hardware/firmware platform capable of detecting and diagnosing hardware faults of any type with minimal impact on the worst-case execution time (WCET), recovering quickly from errors, and properly reconfiguring the system so that the resulting system exhibits a predictable and analyzable degradation in WCET; (ii) a set of analysis methods and tools to prove the timing correctness of the reconfigured system; and (iii) a white-box methodology and tools to prove the functional safety of the system and compliance with industry standards. This new design paradigm will deliver huge benefits to the embedded systems industry for several decades by enabling the use of more cost-effective multicore hardware platforms built on top of modern semiconductor technologies, thereby enabling higher performance, and reducing weight and power dissipation. This new paradigm will further extend the life of embedded systems, therefore, reducing warranty and early replacement costs.
Jaume Abella 0001, Francisco J. Cazorla, Eduardo Quiñones, Arnaud Grasset, Sami Yehia, Philippe Bonnot 0001, Dimitris Gizopoulos, Riccardo Mariani, Guillem Bernat
IOLTS5
2010 A memory interface for multi-purpose multi-stream accelerators
abstract
Power and programming challenges make heterogeneous multi-cores composed of cores and ASICs an attractive alternative to homogeneous multi-cores. Recently, multi-purpose loop-based generated accelerators have emerged as an especially attractive accelerator option. They have several assets: short design time (automatic generation), flexibility (multi-purpose) but low configuration and routing overhead (unlike FPGAs), computational performance (operations are directly mapped to hardware), and a focus on memory throughput by leveraging loop constructs. However, with multiple streams, the memory behavior of such accelerators can become at least as complex as that of superscalar processors, while they still need to retain the memory ordering predictability and throughput efficiency of DMAs. In this article, we show how to design a memory interface for multi-purpose accelerators which combines the ordering predictability of DMAs, retains key efficiency features of memory systems for complex processors, and requires only a fraction of their cost by leveraging the properties of streams references. We evaluate the approach with a synthesizable version of the memory interface for an example 9-task generated loop-based accelerator
Sylvain Girbal, Olivier Temam, Sami Yehia, Hugues Berry
CASES3
2009 Reconciling specialization and flexibility through compound circuits
abstract
While parallelism and multi-cores are receiving much attention as a major scalability path, customization is another, orthogonal and complementary, scalability path which can target not easily parallelizable programs or program sections. The key assets of customization are cost and power efficiency. The key limitation of customization is flexibility. However, we argue that there is no perfect balance between efficiency and flexibility, each system vendor may want to strike a different such balance. In this article, we present a method for achieving any desired balance between flexibility and efficiency by automatically combining any set of individual customization circuits into a larger compound circuit. This circuit is significantly more cost efficient than the simple union of all target circuits, and is configurable to behave as any of the target circuits, while avoiding the routing and configuration cost overhead of FPGAs. The more individual circuits are included, the larger the number of applications which can potentially benefit from this compound customization circuit, realizing flexibility at a minimal cost. Moreover, we observe that the compound circuit cost does not increase in proportion to the number of target applications, due to the wide range of common data-flow and control-flow patterns in programs. Currently, the target individual circuits correspond to loops, like most accelerators in embedded systems, but the aggregation method can accommodate circuits of any size. Using the UTDSP benchmarks and accelerators coupled with an embedded PowerPC405 processor, we show that this approach can yield an average performance improvement of 2.97, while the corresponding synthesized aggregate accelerator is 3 time smaller than the sum of individual accelerators for each target benchmark.
Sami Yehia, Sylvain Girbal, Hugues Berry, Olivier Temam
HPCA1
2007 Liquid SIMD: Abstracting SIMD Hardware using Lightweight Dynamic Mapping
abstract
Microprocessor designers commonly utilize SIMD accelerators and their associated instruction set extensions to provide substantial performance gains at a relatively low cost for media applications. One of the most difficult problems with using SIMD accelerators is forward migration to newer generations. With larger hardware budgets and more demands for performance, SIMD accelerators evolve with both larger data widths and increased functionality with each new generation. However, this causes difficult problems in terms of binary compatibility, software migration costs, and expensive redesign of the instruction set architecture. In this work, we propose Liquid SIMD to decouple the instruction set architecture from the SIMD accelerator. SIMD instructions are expressed using a processor's baseline scalar instruction set, and light-weight dynamic translation maps the representation onto a broad family of SIMD accelerators. Liquid SIMD effectively bypasses the problems inherent to instruction set modification and binary compatibility across accelerator generations. We provide a detailed description of changes to a compilation framework and processor pipeline needed to support this abstraction. Additionally, we show that the hardware overhead of dynamic optimization is modest, hardware changes do not affect cycle time of the processor, and the performance impact of abstracting the SIMD accelerator is negligible. We conclude that using dynamic techniques to map instructions onto SIMD accelerators is an effective way to improve computation efficiency, without the overhead associated with modifying the instruction set
Nathan Clark, Amir Hormati, Sami Yehia, Scott A. Mahlke, Krisztián Flautner
HPCA3
2006 Scalable subgraph mapping for acyclic computation accelerators
abstract
Computer architects are constantly faced with the need to improve performance and increase the efficiency of computation in their designs. To this end, it is increasingly common to see acyclic com-putation accelerators appear in embedded processor designs. One major problem with adding accelerators to a design is that it is difficult to generate high-quality code utilizing them. Hand-written assembly code is typical, and if compiler support does exist, it is implemented using only greedy algorithms. In this work, we investigate more thorough techniques for compiling to processors with acyclic accelerators. Where as greedy solutions only explore one possible solution, the techniques presented in this paper explore the entire design space, when possible. Intelligent pruning methods are employed to ensure compilation is both tractable and scalable. Overall, our new compilation algorithms produce code that performs on average 10%, and up to 32% better than standard greedy methods. These algorithms also run in less than one second for more than 98% of basic blocks tested.
Nathan Clark, Amir Hormati, Scott A. Mahlke, Sami Yehia
CASES4
2005 Exploring the design space of LUT-based transparent accelerators
abstract
Instruction set customization accelerates the performance of applications by compressing the length of critical dependence paths and reducing the demands on processor resources. With instruction set customization, specialized accelerators are added to a conventional processor to atomically execute dataflow subgraphs. Accelerators that are exploited without explicit changes to the instruction set architecture of the processor are said to be transparent. Transparent acceleration relies on a light-weight hardware engine to dynamically generate control signals for the accelerator, using subgraphs delineated by a compiler. The design of transparent subgraph accelerators is challenging, as critical subgraphs need to be supported efficiently while maintaining area and timing constraints. Additionally, more complex accelerators require more sophisticated control generation engines. These factors must be carefully balanced. In this work, we investigate the design of subgraph accelerators using configurable lookup table structures. These designs provide an effective paradigm to execute a wide range of subgraphs involving arithmetic and logic operations. We describe why lookup table designs are effective, how they fit into a transparent acceleration framework, and evaluate the effectiveness of a wide range of de-signs using both simulation and logic synthesis.
Sami Yehia, Nathan Clark, Scott A. Mahlke, Krisztián Flautner
CASES1
2005 System-wide performance monitors and their application to the optimization of coherent memory accesses
abstract
Inspired by recent advances in microprocessor performance monitors, this paper shows how a shared-memory multiprocessor chipset and interconnect can be equipped with performance monitors that associate performance events with the PCs of the individual instructions causing these events. Such monitors greatly simplify performance debugging of shared-memory programs---for example, they make finding pairs of instructions in false sharing straightforward. These monitors also enable precise feedback-directed compiler optimizations and, as a second contribution, we show how they can guide the code generator to use the version of the load instruction that makes the best use of the coherence protocol. Experiments show up to almost 10% coherence traffic reduction on SPLASH2 applications.
Jean-Francois Collard, Norman P. Jouppi, Sami Yehia
PPoPP3
2004 From Sequences of Dependent Instructions to Functions: An Approach for Improving Performance without ILP or Speculation
abstract
In this article, we present an approach for improving the performance of sequences of dependent instructions. We observe that many sequences of instructions can be interpreted as functions. Unlike sequences of instructions, functions can be translated into very fast but exponentially costly two-level combinational circuits. We present an approach that exploits this principle, speeds up programs thanks to circuit-level parallelism/redundancy, but avoids the exponential costs. We analyze the potential of this approach, and then we propose an implementation that consists of a superscalar processor with a large specific functional unit associated with specific back-end transformations. The performance of the SpecInt2000 benchmarks and selected programs from the Olden and MiBench benchmark suites improves on average from 2.4% to 12% depending on the latency of the functional units, and up to 39.6%; more precisely, the performance of optimized code sections improves on average from 3.5% to 19%, and up to 49%.
Sami Yehia, Olivier Temam
ISCA1