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

Daniel Lo

dblp:08/7863 · DBLP profile ↗
← Back
14ranked-venue papers
5as first author
1since 2021 · last 2024
0009-0002-6504-9078ORCID · corroborated

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

Systems, architecture and hardware · 12 · 5 first-authorSoftware engineering, systems software and programming languages · 2 · 1 since 2021Artificial intelligence and machine learning · 1Applied, interdisciplinary, general and emerging computing · 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
11 papers
Electronic design automation · 24% Embedded and real-time systems · 20% Hardware accelerators and domain-specific architectures · 18%
Artificial intelligence
2 papers
Efficient and distributed learning · 82% Deep learning architectures and training · 18%

Topics — the 20 heaviest of 27, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Electronic design automation
hardware description language
0.812024
Wavefront Threading Enables Effective High-Level Synthesis · Proc. ACM Program. Lang. 2024
Electronic design automation
high-level synthesis
0.812024
Wavefront Threading Enables Effective High-Level Synthesis · Proc. ACM Program. Lang. 2024
Integrated circuit design › digital system design
register-transfer level design
0.812024
Wavefront Threading Enables Effective High-Level Synthesis · Proc. ACM Program. Lang. 2024
Machine learning › Efficient and distributed learning
model compression
0.412020
Pushing the Limits of Narrow Precision Inferencing at Cloud Scale with Microsoft Floating Point · NeurIPS 2020
Hardware accelerators and domain-specific architectures
machine learning accelerator
0.412020
Pushing the Limits of Narrow Precision Inferencing at Cloud Scale with Microsoft Floating Point · NeurIPS 2020
Embedded and real-time systems
real-time scheduling
0.422015
Prediction-guided performance-energy trade-off for interactive applications · MICRO 2015
Worst-case execution time analysis for parallel run-time monitoring · DAC 2012
Embedded and real-time systems
worst-case execution time analysis
0.422015
Improving worst-case cache performance through selective bypassing and register-indexed cache · DAC 2015
Worst-case execution time analysis for parallel run-time monitoring · DAC 2012
Hardware accelerators and domain-specific architectures › machine learning accelerator › neural network accelerator
FPGA-based neural network accelerator
0.312018
A Configurable Cloud-Scale DNN Processor for Real-Time AI · ISCA 2018
Hardware accelerators and domain-specific architectures › machine learning accelerator › neural network accelerator
neural processing unit
0.312018
A Configurable Cloud-Scale DNN Processor for Real-Time AI · ISCA 2018
Embedded and real-time systems
runtime monitoring
0.322015
Run-time monitoring with adjustable overhead using dataflow-guided filtering · HPCA 2015
Flexible and Efficient Instruction-Grained Run-Time Monitoring Using On-Chip Reconfigurable Fabric · MICRO 2010
Cloud and datacenter computing › datacenter architecture
datacenter acceleration
0.212016
Agile Co-Design for a Reconfigurable Datacenter · FPGA 2016
Reconfigurable computing and FPGAs
FPGA accelerator
0.212016
A cloud-scale acceleration architecture · MICRO 2016
Memory systems
cache
0.212015
Improving worst-case cache performance through selective bypassing and register-indexed cache · DAC 2015
Embedded and real-time systems › worst-case execution time analysis
cache analysis
0.212015
Improving worst-case cache performance through selective bypassing and register-indexed cache · DAC 2015
Energy-efficient computing › power management
dynamic voltage and frequency scaling
0.212015
Prediction-guided performance-energy trade-off for interactive applications · MICRO 2015
Systems and software security › information flow tracking
dynamic information flow tracking
0.122010
Implementing dynamic information flow tracking on microprocessors with integrated FPGA fabric (abstract only) · FPGA 2010
Flexible and Efficient Instruction-Grained Run-Time Monitoring Using On-Chip Reconfigurable Fabric · MICRO 2010
Processor architecture and microarchitecture › general-purpose processor architecture
hybrid processor
0.112010
Flexible and Efficient Instruction-Grained Run-Time Monitoring Using On-Chip Reconfigurable Fabric · MICRO 2010
Reconfigurable computing and FPGAs
datacenter FPGA deployment
0.112016
Agile Co-Design for a Reconfigurable Datacenter · FPGA 2016
Memory systems
cache design
0.112015
Improving worst-case cache performance through selective bypassing and register-indexed cache · DAC 2015
Systems and software security › program analysis
runtime monitoring
0.012012
Worst-case execution time analysis for parallel run-time monitoring · DAC 2012

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

quantization · 0.9microsoft floating point · 0.9high-level synthesis · 0.8execution model · 0.8synthesis specialization · 0.7distributed microarchitecture · 0.7SIMD ISA · 0.7deployment · 0.5measurement · 0.2hardware-software co-design · 0.2agile development · 0.2mixed-integer linear programming · 0.1RTL prototyping · 0.1
YearPublicationVenuePosition
2024 Wavefront Threading Enables Effective High-Level Synthesis
abstract
Digital systems are growing in importance and computing hardware is growing more heterogeneous. Hardware design, however, remains laborious and expensive, in part due to the limitations of conventional hardware description languages (HDLs) like VHDL and Verilog. A longstanding research goal has been programming hardware like software, with high-level languages that can generate efficient hardware designs. This paper describes Kanagawa, a language that takes a new approach to combine the programmer productivity benefits of traditional High-Level Synthesis (HLS) approaches with the expressibility and hardware efficiency of Register-Transfer Level (RTL) design. The language’s concise syntax, matched with a hardware design-friendly execution model, permits a relatively simple toolchain to map high-level code into efficient hardware implementations.
Blake Pelton, Adam Sapek, Kenneth Eguro, Daniel Lo, Alessandro Forin, Matt Humphrey, Jinwen Xi, Rajas Karandikar, Johannes de Fine Licht, Evgeny Babin, Adrian M. Caulfield, Doug Burger
Proc. ACM Program. Lang.4
2020 Pushing the Limits of Narrow Precision Inferencing at Cloud Scale with Microsoft Floating Point
abstract
In this paper, we explore the limits of Microsoft Floating Point (MSFP), a new class of datatypes developed for production cloud-scale inferencing on custom hardware. Through the co-evolution of hardware design and algorithms, MSFP achieves accuracy comparable to or better than industry standards Bfloat16 and INT8 at 3x and 4x lower cost, respectively. MSFP incurs negligible impact to accuracy (<1%), requires no changes to the model topology, and is integrated with a mature cloud production pipeline. MSFP supports various classes of deep learning models including CNNs, RNNs, and Transformers without modification. Finally, we characterize the accuracy and implementation of MSFP and demonstrate its efficacy on a number of production scenarios, including models that power major online scenarios such as web search, question-answering, and image classification.
Bita Darvish Rouhani, Daniel Lo, Ritchie Zhao, Jeremy Fowers, Kalin Ovtcharov, Anna Vinogradsky, Sarah Massengill, Lita Yang, Ray Bittner, Alessandro Forin, Haishan Zhu, Taesik Na, Prerak Patel, Shuai Che, Lok Chand Koppaka, Subhojit Som, Kaustav Das, Saurabh Tiwary, Steven K. Reinhardt, Sitaram Lanka, Eric S. Chung, Doug Burger
NeurIPS2
2018 A Configurable Cloud-Scale DNN Processor for Real-Time AI
abstract
Interactive AI-powered services require low-latency evaluation of deep neural network (DNN) models-aka ""real-time AI"". The growing demand for computationally expensive, state-of-the-art DNNs, coupled with diminishing performance gains of general-purpose architectures, has fueled an explosion of specialized Neural Processing Units (NPUs). NPUs for interactive services should satisfy two requirements: (1) execution of DNN models with low latency, high throughput, and high efficiency, and (2) flexibility to accommodate evolving state-of-the-art models (e.g., RNNs, CNNs, MLPs) without costly silicon updates. This paper describes the NPU architecture for Project Brainwave, a production-scale system for real-time AI. The Brainwave NPU achieves more than an order of magnitude improvement in latency and throughput over state-of-the-art GPUs on large RNNs at a batch size of 1. The NPU attains this performance using a single-threaded SIMD ISA paired with a distributed microarchitecture capable of dispatching over 7M operations from a single instruction. The spatially distributed microarchitecture, scaled up to 96,000 multiply-accumulate units, is supported by hierarchical instruction decoders and schedulers coupled with thousands of independently addressable high-bandwidth on-chip memories, and can transparently exploit many levels of fine-grain SIMD parallelism. When targeting an FPGA, microarchitectural parameters such as native datapaths and numerical precision can be "synthesis specialized" to models at compile time, enabling atypically high FPGA performance competitive with hardened NPUs. When running on an Intel Stratix 10 280 FPGA, the Brainwave NPU achieves performance ranging from ten to over thirty-five teraflops, with no batching, on large, memory-intensive RNNs.
Jeremy Fowers, Kalin Ovtcharov, Michael Papamichael, Todd Massengill, Daniel Lo, Shlomi Alkalay, Michael Haselman, Logan Adams, Mahdi Ghandi, Stephen Heil, Prerak Patel, Adam Sapek, Gabriel Weisz, Lisa Woods, Sitaram Lanka, Steven K. Reinhardt, Adrian M. Caulfield, Eric S. Chung, Doug Burger
ISCA6
2016 Agile Co-Design for a Reconfigurable Datacenter
abstract
In 2015, a team of software and hardware developers at Microsoft shipped the world?s first commercial search engine accelerated using FPGAs in the datacenter. During the sprint to production, new algorithms in the Bing ranking service were ported into FPGAs and deployed to a production bed within several weeks of conception, leading to significant gains in latency and throughput. The fast turnaround time of new features demanded by an agile software culture would not have been possible without a disciplined and effective approach to co-design in the datacenter. This talk will describe some of the learnings and best practices developed from this unique experience.
Shlomi Alkalay, Hari Angepat, Adrian M. Caulfield, Eric S. Chung, Oren Firestein, Michael Haselman, Stephen Heil, Kyle Holohan, Matt Humphrey, Tamás Juhász, Puneet Kaur, Sitaram Lanka, Daniel Lo, Todd Massengill, Kalin Ovtcharov, Michael Papamichael, Andrew Putnam, Raja Seera, Rimon Tadros, Jason Thong, Lisa Woods, Derek Chiou, Doug Burger
FPGA13
2016 Prediction-Guided Performance-Energy Trade-off with Continuous Run-Time Adaptation
abstract
Recent work has demonstrated that prediction-guided DVFS control can significantly improve the energy efficiency of interactive applications with little to no impact on user experience when running in isolation. In this work, we propose to add an on-line learning capability to the execution-time predictor, which enables the predictor to automatically adapt to changes in the environment such as interference from other applications and be easily applied across diverse platforms. This paper introduces several techniques to address the overhead of performing on-line learning, including incremental training based on QR decomposition and explicit change detection for fast adaptation. In addition to the DVFS control, we show that the proposed prediction model can be used to intelligently select a core in a heterogeneous system. Experimental results on the ARM big.LITTLE platform show that our DVFS controller and core scheduler can effectively remove deadline misses even under significant interference from competing processes while consuming far lower energy compared to traditional schemes.
Taejoon Song, Daniel Lo, G. Edward Suh
ISLPED2
2016 A cloud-scale acceleration architecture
abstract
Hyperscale datacenter providers have struggled to balance the growing need for specialized hardware (efficiency) with the economic benefits of homogeneity (manageability). In this paper we propose a new cloud architecture that uses reconfigurable logic to accelerate both network plane functions and applications. This Configurable Cloud architecture places a layer of reconfigurable logic (FPGAs) between the network switches and the servers, enabling network flows to be programmably transformed at line rate, enabling acceleration of local applications running on the server, and enabling the FPGAs to communicate directly, at datacenter scale, to harvest remote FPGAs unused by their local servers. We deployed this design over a production server bed, and show how it can be used for both service acceleration (Web search ranking) and network acceleration (encryption of data in transit at high-speeds). This architecture is much more scalable than prior work which used secondary rack-scale networks for inter-FPGA communication. By coupling to the network plane, direct FPGA-to-FPGA messages can be achieved at comparable latency to previous work, without the secondary network. Additionally, the scale of direct inter-FPGA messaging is much larger. The average round-trip latencies observed in our measurements among 24, 1000, and 250,000 machines are under 3, 9, and 20 microseconds, respectively. The Configurable Cloud architecture has been deployed at hyperscale in Microsoft's production datacenters worldwide.
Adrian M. Caulfield, Eric S. Chung, Andrew Putnam, Hari Angepat, Jeremy Fowers, Michael Haselman, Stephen Heil, Matt Humphrey, Puneet Kaur, Joo-Young Kim 0001, Daniel Lo, Todd Massengill, Kalin Ovtcharov, Michael Papamichael, Lisa Woods, Sitaram Lanka, Derek Chiou, Doug Burger
MICRO11
2015 Improving worst-case cache performance through selective bypassing and register-indexed cache
abstract
Worst-case execution time (WCET) analysis is a critical part of designing real-time systems that require strict timing guarantees. Data caches have traditionally been challenging to analyze in the context of WCET due to the unpredictability of memory access patterns. In this paper, we present a novel register-indexed cache structure that is designed to be amenable to static analysis. This is based on the idea that absolute addresses may not be known, but by using relative addresses, analysis may be able to guarantee a number of hits in the cache. In addition, we observe that keeping unpredictable memory accesses in caches can increase or decrease WCET depending on the application. Thus, we explore selectively bypassing caches in order to provide lower WCET. Our experimental results show reductions in WCET of up to 35% over the state-of-the-art static analysis.
Mohamed Ismail, Daniel Lo, G. Edward Suh
DAC2
2015 Run-time monitoring with adjustable overhead using dataflow-guided filtering
abstract
Recent studies have proposed various parallel runtime monitoring techniques to improve the reliability, security, and debugging capabilities of computer systems. However, these run-time monitors can introduce large performance and energy overheads, especially for flexible systems that support a range of monitors. In this paper, we introduce a hardware dataflow tracking engine that enables adjustable overhead through partial monitoring. This allows a trade-off to be made between monitoring coverage and overhead. This dataflow engine can also be extended to filter out monitoring operations associated with null metadata in order to reduce overhead. Given this architecture, we investigate how the dropping decisions should be made for partial monitoring and show that there exist interesting policy decisions depending on the target application of partial monitoring. Our experimental results show that overhead can be reduced significantly by trading off coverage. For example, for monitoring techniques with average overheads of 2–6x, the proposed architecture is able to reduce overhead to 1.5x while still achieving 14–85% average coverage.
Daniel Lo, Tao Chen 0045, Mohamed Ismail, G. Edward Suh
HPCA1
2015 Prediction-guided performance-energy trade-off for interactive applications
abstract
Many modern mobile and desktop applications involve real-time interactions with users. For these interactive applications, tasks must complete in a reasonable amount of time in order to provide a responsive user experience. Conversely, completing a task faster than the limits of human perception does not improve the user experience. Thus, for energy efficiency, tasks should be run just fast enough to meet the response-time requirement instead of wasting energy by running faster. In this paper, we present a predictive DVFS controller that predicts the execution time of a job before it executes in order to appropriately set the DVFS level to just meet user response-time deadlines. Our results show 56% energy savings compared to running tasks at the maximum frequency with almost no deadline misses. This is 27% more energy savings than the default Linux interactive power governor, which also shows 2% deadline misses on average.
Daniel Lo, Taejoon Song, G. Edward Suh
MICRO1
2014 Slack-aware opportunistic monitoring for real-time systems
abstract
Recent studies have shown that run-time monitoring is a promising approach for improving the security and reliability of computer systems. In this paper, we present a framework and architecture for applying run-time monitoring to hard real-time systems. In this framework, monitoring is only performed when enough dynamic slack exists in order to ensure that the monitoring does not impact the timing guarantees of tasks. If the slack is insufficient, a dropping operation is run which minimizes the timing impact on the task while ensuring that no false positives occur. We present a novel hardware architecture that can perform this dropping operation in a single cycle, matching the throughput of the task being monitored. Thus, run-time monitoring is able to be applied opportunistically, with no impact on the worst-case execution time of tasks. Our experimental results for three different monitoring techniques verify that timing is never violated and that false positives never occur. In addition, on average, 15-66% of monitoring coverage is achieved with no impact on the worst-case execution times of tasks depending on the monitoring technique. With an FPGA-based monitor, this average coverage of monitoring ranged from 62-86% depending on the monitoring technique.
Daniel Lo, Mohamed Ismail, Tao Chen 0045, G. Edward Suh
RTAS1
2012 Worst-case execution time analysis for parallel run-time monitoring
abstract
The increasing safety-critical role of real-time systems requires increased attention to their security and reliability. Several recent studies have shown that parallel run-time monitoring of programs can significantly improve the security and reliability of computing systems. However, these techniques cannot be applied to real-time systems without first estimating their impact on worst-case execution time (WCET). In this paper, we present a method for determining the impact of parallel monitoring on WCET using a mixed integer linear programming (MILP) formulation. We use our method to estimate the WCET for seven benchmark programs and two possible monitoring techniques. This estimate is compared against observed execution times from simulation and an upper bound based on sequential monitoring. The results show that our method estimates a WCET within 71% of worst-case observed execution times and up to 74% lower than the sequential bound.
Daniel Lo, G. Edward Suh
DAC1
2011 FlexCache: Field Extensible Cache Controller Architecture Using On-chip Reconfigurable Fabric
abstract
In today's microprocessors, the cache architecture is highly optimized for one particular design and cannot be changed after fabrication. While allowing efficient implementations in dedicated logic, this inflexibility also implies that new techniques cannot be deployed in the field. This paper presents Flex Cache, a flexible cache architecture that uses on-chip reconfigurable fabric to enable new extensions to be added in the field after fabrication. We evaluate the flexibility and efficiency of the architecture through an RTL prototype implementation of the cache along with example extensions such as cache performance counters, side-channel protection, prefetching, various replacement policies and computation acceleration. The results show that various types of extensions can be realized on Flex Cache with minimal impact on performance, power, and area.
Daniel Lo, Greg Malysa, G. Edward Suh
FPL1
2010 Implementing dynamic information flow tracking on microprocessors with integrated FPGA fabric (abstract only)
abstract
Today, incorporating a new hardware feature into a modern microprocessor is a highly time consuming and expensive process due to long design cycles and high costs of design and verification. To address this challenge, this paper proposes a hybrid processor architecture where an on-chip reconfigurable fabric (FPGA) is tightly coupled with a processing core. A new hardware feature for fine-grained run-time monitoring can be implemented on the FPGA fabric without requiring a re-design or a fabrication of a chip. To evaluate this FPGA co-processing approach, we implemented Dynamic Information Flow Tracking (DIFT), which is arguably one of the most powerful security features against software attacks, on the FPGA fabric. The synthesis and performance emulation results demonstrate that DIFT on the FPGA fabric adds relatively small area and power consumption to a modern microprocessor while providing the performance that is close to the performance of a custom hardware DIFT implementation.
Skyler Schneider, Daniel Y. Deng, Daniel Lo, Greg Malysa, G. Edward Suh
FPGA3
2010 Flexible and Efficient Instruction-Grained Run-Time Monitoring Using On-Chip Reconfigurable Fabric
abstract
This paper proposes Flex Core, a hybrid processor architecture where an on-chip reconfigurable fabric (FPGA) is tightly coupled with the main processing core. Flex Core provides an efficient platform that can support a broad range of run-time monitoring and bookkeeping techniques. Unlike using custom hardware, which is more efficient but often extremely difficult and expensive to incorporate into a modern microprocessor, the Flex Core architecture allows parallel monitoring and bookkeeping functions to be dynamically added to the processing core and adapt to application needs even after the chip has been fabricated. At the same time, Flex Core is far more efficient than software implementations because its fine-grained reconfigurable architecture closely matches bit level operations of typical monitoring schemes and allows monitoring schemes to operate in parallel to the monitored core. In fact, our experimental results show that monitoring on Flex Core can almost match the performance of full ASIC implementations. To evaluate the Flex Core architecture, we implemented an RTL prototype along with several extensions including uninitialized memory read checking, dynamic information flow tracking, array bound checking, and soft error checking. The prototypes demonstrate that the architecture can support a range of monitoring extensions with different characteristics in an efficient manner. Flex Core takes moderate silicon area and results in far better performance and energy efficiency than software.
Daniel Y. Deng, Daniel Lo, Greg Malysa, Skyler Schneider, G. Edward Suh
MICRO2