Demo Data from EDBT 2026 / reviewers in the wild / expert
Ehsan Totoni
dblp:31/9081
· DBLP profile ↗
13ranked-venue papers
7as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 7 · 5 first-authorSoftware engineering, systems software and programming languages · 5 · 2 first-authorTheory of computation · 1
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
5 papers |
Parallel and multicore computing · 32% Hardware accelerators and domain-specific architectures · 22% Energy-efficient computing · 20% | |
| Software engineering, system software, and programming languages
1 paper |
Programming languages and type systems · 100% |
Topics — the 13 heaviest of 15, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
domain-specific languages |
0.2 | 1 | 2016 | Latte: a language, compiler, and runtime for elegant and efficient deep neural networks · PLDI 2016 |
Hardware accelerators and domain-specific architectures
machine learning accelerator |
0.2 | 1 | 2016 | Latte: a language, compiler, and runtime for elegant and efficient deep neural networks · PLDI 2016 |
Energy-efficient computing › power management › memory power management
cache energy reduction |
0.2 | 1 | 2014 | Using an Adaptive HPC Runtime System to Reconfigure the Cache Hierarchy · SC 2014 |
Parallel and multicore computing
parallel programming models |
0.2 | 1 | 2014 | Parallel Programming with Migratable Objects: Charm++ in Practice · SC 2014 |
Parallel and multicore computing › parallel programming runtimes
runtime systems and scheduling |
0.2 | 1 | 2014 | Parallel Programming with Migratable Objects: Charm++ in Practice · SC 2014 |
Hardware accelerators and domain-specific architectures › vision accelerator
object detection accelerator |
0.2 | 1 | 2013 | Easy, fast, and energy-efficient object detection on heterogeneous on-chip architectures · ACM Trans. Archit. Code Optim. 2013 |
GPUs and heterogeneous computing › heterogeneous programming models
OpenCL |
0.2 | 1 | 2013 | Easy, fast, and energy-efficient object detection on heterogeneous on-chip architectures · ACM Trans. Archit. Code Optim. 2013 |
Energy-efficient computing › thermal management
cooling energy reduction |
0.1 | 1 | 2012 | "Cool" Load Balancing for High Performance Computing Data Centers · IEEE Trans. Computers 2012 |
Parallel and multicore computing
load balancing |
0.1 | 1 | 2012 | "Cool" Load Balancing for High Performance Computing Data Centers · IEEE Trans. Computers 2012 |
High-performance computing
performance optimization at scale |
0.1 | 1 | 2012 | "Cool" Load Balancing for High Performance Computing Data Centers · IEEE Trans. Computers 2012 |
High-performance computing › supercomputing
petascale computing |
0.1 | 1 | 2014 | Parallel Programming with Migratable Objects: Charm++ in Practice · SC 2014 |
Embedded and real-time systems
runtime adaptation |
0.1 | 1 | 2014 | Using an Adaptive HPC Runtime System to Reconfigure the Cache Hierarchy · SC 2014 |
High-performance computing
supercomputing |
0.1 | 1 | 2014 | Parallel Programming with Migratable Objects: Charm++ in Practice · SC 2014 |
Methods — techniques the papers use, named apart from their topics
instruction selection · 0.5domain-specific optimization · 0.5migratable objects · 0.2formal language theory · 0.2cycle-level simulation · 0.2adaptive runtime · 0.2SPMD · 0.2software pipelining · 0.2kernel mapping · 0.2dynamic voltage and frequency scaling · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Parallelizing Julia with a Non-Invasive DSLabstractComputational scientists often prototype software using productivity languages that offer high-level programming abstractions. When higher performance is needed, they are obliged to rewrite their code in a lower-level efficiency language. Different solutions have been proposed to address this trade-off between productivity and efficiency. One promising approach is to create embedded domain-specific languages that sacrifice generality for productivity and performance, but practical experience with DSLs points to some road blocks preventing widespread adoption. This paper proposes a non-invasive domain-specific language that makes as few visible changes to the host programming model as possible. We present ParallelAccelerator, a library and compiler for high-level, high-performance scientific computing in Julia. ParallelAccelerator's programming model is aligned with existing Julia programming idioms. Our compiler exposes the implicit parallelism in high-level array-style programs and compiles them to fast, parallel native code. Programs can also run in "library-only" mode, letting users benefit from the full Julia environment and libraries. Our results show encouraging performance improvements with very few changes to source code required. In particular, few to no additional type annotations are necessary. Todd A. Anderson 0001, Hai Liu 0012, Lindsey Kuper, Ehsan Totoni, Jan Vitek, Tatiana Shpeisman |
ECOOP | 4 |
| 2017 | A Case Against Tiny Tasks in Iterative AnalyticsabstractBig data systems such as Spark are built around the idea of splitting an iterative parallel program into tiny tasks with other aspects of system design built around this basic design principle. Unfortunately, in spite of immense engineering effort, tiny tasks have unavoidably large overheads. We use the example of logistic regression -- a common machine learning primitive -- to compare the performance of Spark to different designs that converge to a hand-coded parallel MPI-based implementation. We conclude that Spark leaves orders of magnitude performance on the table, due to its insistence on setting the granularity of a task to a single iteration. We counter a common argument for the tiny task approach --namely better resilience to faults -- by demonstrating that optimum job checkpoint intervals are far longer than the duration of the tiny tasks favored in Spark's design. We propose an alternative approach that relies on an auto-parallelizing compiler tightly integrated with the MPI runtime, illustrating the opposite end of the spectrum where task granularities are as large as possible. Ehsan Totoni, Subramanya Dulloor, Amitabha Roy 0002 |
HotOS | 1 |
| 2017 | HPAT: high performance analytics with scripting ease-of-useabstractBig data analytics requires high programmer productivity and high performance simultaneously on large-scale clusters. However, current big data analytics frameworks (e.g. Apache Spark) have prohibitive runtime overheads since they are library-based. We introduce a novel auto-parallelizing compiler approach that exploits the characteristics of the data analytics domain such as the map/reduce parallel pattern and is robust, unlike previous auto-parallelization methods. Using this approach, we build High Performance Analytics Toolkit (HPAT), which parallelizes high-level scripting (Julia) programs automatically, generates efficient MPI/C++ code, and provides resiliency. Furthermore, it provides automatic optimizations for scripting programs, such as fusion of array operations. Thus, HPAT is 369X to 2033X faster than Spark on the Cori supercomputer and 20X to 256X times on Amazon AWS. Ehsan Totoni, Todd A. Anderson 0001, Tatiana Shpeisman |
ICS | 1 |
| 2016 | Latte: a language, compiler, and runtime for elegant and efficient deep neural networksabstractDeep neural networks (DNNs) have undergone a surge in popularity with consistent advances in the state of the art for tasks including image recognition, natural language processing, and speech recognition. The computationally expensive nature of these networks has led to the proliferation of implementations that sacrifice abstraction for high performance. In this paper, we present Latte, a domain-specific language for DNNs that provides a natural abstraction for specifying new layers without sacrificing performance. Users of Latte express DNNs as ensembles of neurons with connections between them. The Latte compiler synthesizes a program based on the user specification, applies a suite of domain-specific and general optimizations, and emits efficient machine code for heterogeneous architectures. Latte also includes a communication runtime for distributed memory data-parallelism. Using networks described using Latte, we demonstrate 3-6x speedup over Caffe (C++/MKL) on the three state-of-the-art ImageNet models executing on an Intel Xeon E5-2699 v3 x86 CPU. Leonard Truong, Rajkishore Barik, Ehsan Totoni, Hai Liu 0012, Chick Markley, Armando Fox, Tatiana Shpeisman |
PLDI | 3 |
| 2014 | Evaluation of a Feature Tracking Vision Application on a Heterogeneous ChipabstractConsumers of personal devices such as desktops, tablets, or smart phones run applications based on image or video processing, as they enable a natural computer-user interaction. The challenge with these computationally demanding applications is to execute them efficiently. One way to address this problem is to use on-chip heterogeneous systems, where tasks can execute in the device where they run more efficiently. In this paper, we discuss the optimization of a feature tracking application, written in OpenCL, when running on an on-chip heterogeneous platform. Our results show that OpenCL can facilitate programming of these heterogeneous systems because it provides a unified programming paradigm and at the same time can deliver significant performance improvements. We show that, after optimization, our feature tracking application runs 3.2, 2.6, and 4.3 times faster and consumes 2.2, 3.1, and 2.7 times less energy when running on the multicore, the GPU, or both the CPU and the GPU of an Intel i7, respectively. Ruben Gran Tejero, August Shi, Ehsan Totoni, María Jesús Garzarán |
SBAC-PAD | 3 |
| 2014 | Parallel Programming with Migratable Objects: Charm++ in PracticeabstractThe advent of petascale computing has introduced new challenges (e.g. Heterogeneity, system failure) for programming scalable parallel applications. Increased complexity and dynamism in science and engineering applications of today have further exacerbated the situation. Addressing these challenges requires more emphasis on concepts that were previously of secondary importance, including migratability, adaptivity, and runtime system introspection. In this paper, we leverage our experience with these concepts to demonstrate their applicability and efficacy for real world applications. Using the CHARM++ parallel programming framework, we present details on how these concepts can lead to development of applications that scale irrespective of the rough landscape of supercomputing technology. Empirical evaluation presented in this paper spans many miniapplications and real applications executed on modern supercomputers including Blue Gene/Q, Cray XE6, and Stampede. Bilge Acun, Abhishek Gupta 0002, Akhil Langer, Harshitha Menon, Eric Mikida, Xiang Ni, Michael P. Robson, Yanhua Sun, Ehsan Totoni, Lukasz Wesolowski, Laxmikant V. Kalé |
SC | 10 |
| 2014 | Using an Adaptive HPC Runtime System to Reconfigure the Cache HierarchyabstractThe cache hierarchy often consumes a large portion of a processor's energy. To save energy in HPC environments, this paper proposes software-controlled reconfiguration of the cache hierarchy with an adaptive runtime system. Our approach addresses the two major limitations associated with other methods that reconfigure the caches: predicting the application's future and finding the best cache hierarchy configuration. Our approach uses formal language theory to express the application's pattern and help predict its future. Furthermore, it uses the prevalent Single Program Multiple Data (SPMD) model of HPC codes to find the best configuration in parallel quickly. Our experiments using cycle-level simulations indicate that 67% of the cache energy can be saved with only a 2.4% performance penalty on average. Moreover, we demonstrate that, for some applications, switching to a software-controlled reconfigurable streaming buffer configuration can improve performance by up to 30% and save 75% of the cache energy. Ehsan Totoni, Josep Torrellas, Laxmikant V. Kalé |
SC | 1 |
| 2014 | Structure-adaptive parallel solution of sparse triangular linear systems
Ehsan Totoni, Michael T. Heath, Laxmikant V. Kalé |
Parallel Comput. | 1 |
| 2013 | Easy, fast, and energy-efficient object detection on heterogeneous on-chip architecturesabstractWe optimize a visual object detection application (that uses Vision Video Library kernels) and show that OpenCL is a unified programming paradigm that can provide high performance when running on the Ivy Bridge heterogeneous on-chip architecture. We evaluate different mapping techniques and show that running each kernel where it fits the best and using software pipelining can provide 1.91 times higher performance and 42% better energy efficiency. We also show how to trade accuracy for energy at runtime. Overall, our application can perform accurate object detection at 40 frames per second (fps) in an energy-efficient manner. Ehsan Totoni, Mert Dikmen, María Jesús Garzarán |
ACM Trans. Archit. Code Optim. | 1 |
| 2012 | Comparing the power and performance of Intel's SCC to state-of-the-art CPUs and GPUsabstractPower dissipation and energy consumption are becoming increasingly important architectural design constraints in different types of computers, from embedded systems to large-scale supercomputers. To continue the scaling of performance, it is essential that we build parallel processor chips that make the best use of exponentially increasing numbers of transistors within the power and energy budgets. Intel SCC is an appealing option for future many-core architectures. In this paper, we use various scalable applications to quantitatively compare and analyze the performance, power consumption and energy efficiency of different cutting-edge platforms that differ in architectural build. These platforms include the Intel Single-Chip Cloud Computer (SCC) many-core, the Intel Core i7 general-purpose multi-core, the Intel Atom low-power processor, and the Nvidia ION2 GPGPU. Our results show that the GPGPU has outstanding results in performance, power consumption and energy efficiency for many applications, but it requires significant programming effort and is not general enough to show the same level of efficiency for all the applications. The “light-weight” many-core presents an opportunity for better performance per watt over the “heavy-weight” multi-core, although the multi-core is still very effective for some sophisticated applications. In addition, the low-power processor is not necessarily energy-efficient, since the runtime delay effect can be greater than the power savings. Ehsan Totoni, Babak Behzad, Swapnil Ghike, Josep Torrellas |
ISPASS | 1 |
| 2012 | "Cool" Load Balancing for High Performance Computing Data CentersabstractAs we move to exascale machines, both peak power demand and total energy consumption have become prominent challenges. A significant portion of that power and energy consumption is devoted to cooling, which we strive to minimize in this work. We propose a scheme based on a combination of limiting processor temperatures using dynamic voltage and frequency scaling (DVFS) and frequency-aware load balancing that reduces cooling energy consumption and prevents hot spot formation. Our approach is particularly designed for parallel applications, which are typically tightly coupled, and tries to minimize the timing penalty associated with temperature control. This paper describes results from experiments using five different Charm++ and MPI applications with a range of power and utilization profiles. They were run on a 32-node (128-core) cluster with a dedicated air conditioning unit. The scheme is assessed based on three metrics: the ability to control processors' temperature and hence avoid hot spots, minimization of timing penalty, and cooling energy savings. Our results show cooling energy savings of up to 63 percent, with a timing penalty of only 2-23 percent. Osman Sarood, Phil Miller, Ehsan Totoni, Laxmikant V. Kalé |
IEEE Trans. Computers | 3 |
| 2011 | Simulation-Based Performance Analysis and Tuning for a Two-Level Directly Connected SystemabstractHardware and software co-design is becoming increasingly important due to complexities in supercomputing architectures. Simulating applications before there is access to the real hardware can assist machine architects in making better design decisions that can optimize application performance. At the same time, the application and runtime can be optimized and tuned beforehand. BigSim is a simulation-based performance prediction framework designed for these purposes. It can be used to perform packet-level network simulations of parallel applications using existing parallel machines. In this paper, we demonstrate the utility of BigSim in analyzing and optimizing parallel application performance for future systems based on the PERCS network. We present simulation studies using benchmarks and real applications expected to run on future supercomputers. Future petascale systems will have more than 100,000 cores, and we present simulations at that scale. Ehsan Totoni, Abhinav Bhatele, Eric J. Bohm, Celso L. Mendes, Ryan M. Mokos, Gengbin Zheng, Laxmikant V. Kalé |
ICPADS | 1 |
| 2010 | High-throughput stream categorization and intrusion detection on GPUabstractWe present a design and implementation of a high-throughput deep packet inspection performing both stream categorization and intrusion detection on GPU platform using CUDA. This implementation is capable of matching 64 ethernet packet streams against 25 given regular expressions at 524 Mb/s rate on a computer system with GeForce GTX 295 graphic card. Mohammad Hassan Khabbazian, Hassan Eslami, Ehsan Totoni, AmadReza Khadem |
MEMOCODE | 3 |