Walter Lee

dblp:64/797 · DBLP profile ↗
← Back
12ranked-venue papers
3as first author
0since 2021 · last 2018
0000-0001-5082-1411ORCID · corroborated

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

Systems, architecture and hardware · 10 · 2 first-authorSoftware engineering, systems software and programming languages · 3 · 1 first-authorHuman-computer interaction and ubiquitous 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
8 papers
Processor architecture and microarchitecture · 53% Interconnection networks and networks-on-chip · 34% Hardware accelerators and domain-specific architectures · 5%
Software engineering, system software, and programming languages
5 papers
Compilers and program optimization · 87% Operating systems · 13%

Topics — the 22 heaviest of 24, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Interconnection networks and networks-on-chip › interprocessor communication
operand transport network
0.132005
Scalar Operand Networks · IEEE Trans. Parallel Distributed Syst. 2005
Evaluation of the Raw Microprocessor: An Exposed-Wire-Delay Architecture for ILP and Streams · ISCA 2004
Scalar Operand Networks: On-Chip Interconnect for ILP in Partitioned Architecture · HPCA 2003
Processor architecture and microarchitecture
instruction-level parallelism
0.142004
Evaluation of the Raw Microprocessor: An Exposed-Wire-Delay Architecture for ILP and Streams · ISCA 2004
Scalar Operand Networks: On-Chip Interconnect for ILP in Partitioned Architecture · HPCA 2003
Space-Time Scheduling of Instruction-Level Parallelism on a Raw Machine · ASPLOS 1998
Interconnection networks and networks-on-chip
on-chip interconnect
0.122005
Scalar Operand Networks · IEEE Trans. Parallel Distributed Syst. 2005
Scalar Operand Networks: On-Chip Interconnect for ILP in Partitioned Architecture · HPCA 2003
Processor architecture and microarchitecture › dataflow architecture
scalar operand network
0.122005
Scalar Operand Networks · IEEE Trans. Parallel Distributed Syst. 2005
Scalar Operand Networks: On-Chip Interconnect for ILP in Partitioned Architecture · HPCA 2003
Compilers and program optimization
instruction scheduling
0.122002
Convergent scheduling · MICRO 2002
Space-Time Scheduling of Instruction-Level Parallelism on a Raw Machine · ASPLOS 1998
Processor architecture and microarchitecture
tiled architecture
0.122004
Evaluation of the Raw Microprocessor: An Exposed-Wire-Delay Architecture for ILP and Streams · ISCA 2004
Maps: A Compiler-Managed Memory System for Raw Machines · ISCA 1999
Processor architecture and microarchitecture › clustered architecture
cluster assignment
0.012002
Convergent scheduling · MICRO 2002
Hardware accelerators and domain-specific architectures
spatial architecture
0.012002
Convergent scheduling · MICRO 2002
Compilers and program optimization
memory optimization
0.012001
Compiler Support for Scalable and Efficient Memory Systems · IEEE Trans. Computers 2001
Memory systems
cache design
0.012001
Compiler Support for Scalable and Efficient Memory Systems · IEEE Trans. Computers 2001
Compilers and program optimization › compiler optimization
compiler-directed memory management
0.011999
Maps: A Compiler-Managed Memory System for Raw Machines · ISCA 1999
Compilers and program optimization › instruction scheduling
software pipelining
0.011998
Space-Time Scheduling of Instruction-Level Parallelism on a Raw Machine · ASPLOS 1998
Operating systems › resource management › memory management
virtual memory
0.011998
Exploiting Two-Case Delivery for Fast Protected Messaging · HPCA 1998
Interconnection networks and networks-on-chip
network interface
0.011998
Exploiting Two-Case Delivery for Fast Protected Messaging · HPCA 1998
Processor architecture and microarchitecture › pipelining
bypass network
0.012005
Scalar Operand Networks · IEEE Trans. Parallel Distributed Syst. 2005
Processor architecture and microarchitecture
superscalar processor
0.012005
Scalar Operand Networks · IEEE Trans. Parallel Distributed Syst. 2005
Performance modeling and evaluation › simulation › architectural simulation
cycle-accurate simulation
0.012004
Evaluation of the Raw Microprocessor: An Exposed-Wire-Delay Architecture for ILP and Streams · ISCA 2004
Processor architecture and microarchitecture
partitioned architecture
0.012003
Scalar Operand Networks: On-Chip Interconnect for ILP in Partitioned Architecture · HPCA 2003
Processor architecture and microarchitecture › register file
partitioned register file
0.012003
Scalar Operand Networks: On-Chip Interconnect for ILP in Partitioned Architecture · HPCA 2003
High-performance computing
distributed memory systems
0.011999
Maps: A Compiler-Managed Memory System for Raw Machines · ISCA 1999
Interconnection networks and networks-on-chip › network topology › mesh network
mesh topology
0.011998
Space-Time Scheduling of Instruction-Level Parallelism on a Raw Machine · ASPLOS 1998
Parallel and multicore computing
multicomputer
0.011998
Exploiting Two-Case Delivery for Fast Protected Messaging · HPCA 1998

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

modulo unrolling · 0.1equivalence-class unification · 0.1taxonomy development · 0.1performance modeling · 0.1static promotion · 0.0software synchronization · 0.0cycle-accurate simulation · 0.0emulation · 0.0point-to-point interconnect · 0.0deadlock avoidance · 0.0simulation · 0.0
YearPublicationVenuePosition
2018 Toward a National Agenda for Broadening Participation of African Americans in Engineering & Computer Science: A Methodological Overview of Phase II
abstract
This “work in progress” showcases the methodological processes underway in Phase II of a three-part study. In its entirety, the study aims to (1) critically assess and evaluate the current research-to-practice cycle as it relates to participation and success of African Americans in engineering and computer science, and (2) set a national agenda for broadening the participation of African Americans in these two fields. Phase II of this study consists of semi-structured interviews with approximately 60 subject-matter experts from the fields of K-12 education, undergraduate education, graduate education, and the engineering and computing workforce. This paper discusses the following processes: a) participant recruitment, screening, and selection, as well as, b) protocol development and piloting. Insights about our methodological approaches might be useful to others developing research designs intended to capture the perspectives of various stakeholders associated with similarly complex and multifaceted issues.
Chanee D. Hawkins Ash, Walter Lee, Jeremi S. London, Teirra Holloman, Gilbert Jew, Atota Halkiyo, Bevlee A. Watford
FIE2
2005 Scalar Operand Networks
abstract
The bypass paths and multiported register files in microprocessors serve as an implicit interconnect to communicate operand values among pipeline stages and multiple ALUs. Previous superscalar designs implemented this interconnect using centralized structures that do not scale with increasing ILP demands. In search of scalability, recent microprocessor designs in industry and academia exhibit a trend toward distributed resources such as partitioned register files, banked caches, multiple independent compute pipelines, and even multiple program counters. Some of these partitioned microprocessor designs have begun to implement bypassing and operand transport using point-to-point interconnects. We call interconnects optimized for scalar data transport, whether centralized or distributed, scalar operand networks. Although these networks share many of the challenges of multiprocessor networks such as scalability and deadlock avoidance, they have many unique requirements, including ultra-low latency (a few cycles versus tens of cycles) and ultra-fast operation-operand matching. This work discusses the unique properties of scalar operand networks (SONs), examines alternative ways of implementing them, and introduces the AsTrO taxonomy to distinguish between them. It discusses the design of two alternative networks in the context of the Raw microprocessor, and presents timing, area, and energy statistics for a real implementation. The paper also presents a 5-tuple performance model for SONs and analyzes their performance sensitivity to network properties for ILP workloads.
Michael B. Taylor, Walter Lee, Saman P. Amarasinghe, Anant Agarwal
IEEE Trans. Parallel Distributed Syst.2
2004 Evaluation of the Raw Microprocessor: An Exposed-Wire-Delay Architecture for ILP and Streams
abstract
This paper evaluates the Raw microprocessor. Raw addresses the challenge of building a general-purpose architecture that performs well on a larger class of stream and embedded computing applications than existing microprocessors, while still running existing ILP-based sequential programs with reasonable performance in the face of increasing wire delays. Raw approaches this challenge by implementing plenty of on-chip resources - including logic, wires, and pins - in a tiled arrangement, and exposing them through a new ISA, so that the software can take advantage of these resources for parallel applications. Raw supports both ILP and streams by routing operands between architecturally-exposed functional units over a point-to-point scalar operand network. This network offers low latency for scalar data transport. Raw manages the effect of wire delays by exposing the interconnect and using software to orchestrate both scalar and stream data transport. We have implemented a prototype Raw microprocessor in IBM's 180 nm, 6-layer copper, CMOS 7SF standard-cell ASIC process. We have also implemented ILP and stream compilers. Our evaluation attempts to determine the extent to which Raw succeeds in meeting its goal of serving as a more versatile, general-purpose processor. Central to achieving this goal is Raw's ability to exploit all forms of parallelism, including ILP, DLP, TLP, and Stream parallelism. Specifically, we evaluate the performance of Raw on a diverse set of codes including traditional sequential programs, streaming applications, server workloads and bit-level embedded computation. Our experimental methodology makes use of a cycle-accurate simulator validated against our real hardware. Compared to a 180nm Pentium-III, using commodity PC memory system components, Raw performs within a factor of 2/spl times/ for sequential applications with a very low degree of ILP, about 2/spl times/ to 9/spl times/ better for higher levels of ILP, and 10/spl times/-100/spl times/ better when highly parallel applications are coded in a stream language or optimized by hand. The paper also proposes a new versatility metric and uses it to discuss the generality of Raw.
Michael B. Taylor, Walter Lee, Jason E. Miller, David Wentzlaff, Ian Bratt, Ben Greenwald, Henry Hoffmann, Paul R. Johnson, Jason Sungtae Kim, James Psota, Arvind Saraf, Nathan Shnidman, Volker Strumpen, Matthew I. Frank, Saman P. Amarasinghe, Anant Agarwal
ISCA2
2003 Scalar Operand Networks: On-Chip Interconnect for ILP in Partitioned Architecture
abstract
The bypass paths and multiported register files in microprocessors serve as an implicit interconnect to communicate operand values among pipeline stages and multiple ALU. Previous superscalar designs implemented this interconnect using centralized structures that do not scale with increasing ILP demands. In search of scalability, recent microprocessor designs in industry and academia exhibit a trend towards distributed resources such as partitioned register files, banked caches, multiple independent compute pipelines, and even multiple program counters. Some of these partitioned microprocessor designs have begun to implement bypassing and operand transport using point-to-point interconnects rather than centralized networks. We call interconnects optimized for scalar data transport, whether centralized or distributed, scalar operand networks. Although these networks share many of the challenges of multiprocessor networks such as scalability and deadlock avoidance, they have many unique requirements, including ultra-low latencies (a few cycles versus tens of cycles) and ultra-fast operation-operand matching. This paper discusses the unique properties of scalar operand networks, examines alternative ways of implementing them, and describes in detail the implementation of one such network in the Raw microprocessor. The paper analyzes the performance of these networks for ILP workloads and the sensitivity of overall ILP performance to network properties.
Michael B. Taylor, Walter Lee, Saman P. Amarasinghe, Anant Agarwal
HPCA2
2002 Convergent scheduling
abstract
Convergent scheduling is a general framework for cluster assignment and instruction scheduling on spatial architectures. A convergent scheduler is composed of independent passes, each implementing a heuristic that addresses a particular problem or constraint. The passes share a simple, common interface that provides spatial and temporal preference for each instruction. Preferences are not absolute; instead, the interface allows a pass to express the confidence of its preferences, as well as preferences for multiple space and time slots. A pass operates by modifying these preferences. By applying a series of passes that address all the relevant constraints, the convergent scheduler can produce a schedule that satisfies all the important constraints. Because all passes are independent and need to understand only one interface to interact with each other, convergent scheduling simplifies the problem of handling multiple constraints and co-developing different heuristics. We have applied convergent scheduling to two spatial architectures: the Raw processor and a clustered VLIW machine. It is able to successfully handle traditional constraints such as parallelism, load balancing, and communication minimization, as well as constraints due to preplaced instructions, which are instructions with predetermined cluster assignment. Convergent scheduling is able to obtain an average performance improvement of 21% over the existing space-time scheduler of the Raw processor, and an improvement of 14% over state-of-the-art assignment and scheduling techniques on a clustered VLIW architecture.
Walter Lee, Diego Puppin, Shane Swenson, Saman P. Amarasinghe
MICRO1
2001 Compiler Support for Scalable and Efficient Memory Systems
abstract
Technological trends require that future scalable microprocessors be decentralized. Applying these trends toward memory systems shows that the size of the cache accessible in a single cycle will decrease in a future generation of chips. Thus, a bank-exposed memory system comprised of small, decentralized cache banks must eventually replace that of a monolithic cache. This paper considers how to effectively use such a memory system for sequential programs. This paper presents Maps, the software technology central to bank-exposed architectures, which are architectures with bank-exposed memory systems. Maps solves the problem of bank disambiguation-that of determining at compile-time which bank a memory reference is accessing. Bank disambiguation is important because it enables the compile-time optimization for data locality, where data can be placed close to the computation that requires it. Two methods for bank disambiguation are presented: equivalence-class unification and modulo unrolling. Experimental results are presented using a compiler for the MIT Raw machine, a bank-exposed architecture that relies on the compiler to 1) manage its memory and 2) orchestrate its instruction level parallelism and communication. Results on Raw using sequential codes demonstrate that using bank disambiguation improves performance, by a factor of 3 to 5 over using ILP alone.
Rajeev Barua, Walter Lee, Saman P. Amarasinghe, Anant Agarwal
IEEE Trans. Computers2
1999 Parallelizing Applications into Silicon
abstract
The next decade of computing will be dominated by embedded systems, information appliances and application-specific computers. In order to build these systems, designers will need high-level compilation and CAD tools that generate architectures that effectively meet the needs of each application. In this paper we present a novel compilation system that allows sequential programs, written in C or FORTRAN, to be compiled directly into custom silicon or reconfigurable architectures. This capability is also interesting because trends in computer architecture are moving towards more reconfigurable hardware-like substrates, such as FPGA based systems. Our system works by successfully combining two resource-efficient computing disciplines: Small Memories and Virtual Wires. For a given application, the compiler first analyzes the memory access patterns of pointers and arrays in the program and constructs a partitioned memory system made up of many small memories. The computation is implemented by active computing elements that are spatially distributed within the memory array. A space-time scheduler assigns instructions to the computing elements in a way that maximizes locality and minimizes physical communication distance. It also generates an efficient static schedule for the interconnect. Finally, specialized hardware for the resulting schedule of memory accesses, wires, and computation is generated as a multi-process state machine in synthesizable Verilog. With this system, implemented as a set of SUIF compiler passes, we have successfully compiled programs into hardware and achieve specialization performance enhancements by up to an order of magnitude versus a single general purpose processor. We also achieve additional parallelization speedups similar to those obtainable using a tightly-interconnected multiprocessor.
Jonathan Babb, Martin C. Rinard, Csaba Andras Moritz, Walter Lee, Matthew I. Frank, Rajeev Barua, Saman P. Amarasinghe
FCCM4
1999 Maps: A Compiler-Managed Memory System for Raw Machines
abstract
This paper describes Maps, a compiler managed memory system for Raw architectures. Traditional processors for sequential programs maintain the abstraction of a unified memory by using a single centralized memory system. This implementation leads to the infamous "Von Neumann bottleneck," with machine performance limited by the large memory latency and limited memory bandwidth. A Raw architecture addresses this problem by taking advantage of the rapidly increasing transistor budget to move much of its memory on chip. To remove the bottleneck and complexity associated with centralized memory, Raw distributes the memory with its processing elements. Unified memory semantics are implemented jointly by the hardware and the compiler. The hardware provides a clean compiler interface to its two inter-tile interconnects: a fast, statically schedulable network and a traditional dynamic network. Maps then uses these communication mechanisms to orchestrate the memory accesses for low latency and parallelism while enforcing proper dependence. It optimizes for speed in two ways: by finding accesses that can be scheduled on the static interconnect through static promotion, and by minimizing dependence sequentialization for the remaining accesses. Static promotion is performed using equivalence class unification and module unrolling: memory dependences are enforced through explicit synchronization and software serial ordering. We have implemented Maps based on the SUIF infrastructure. This paper demonstrates that the exclusive use of static promotion yields roughly 20-fold speedup on 32 tiles for our regular applications and about 5-fold speedup on 16 or more tiles for our irregular applications. The paper also shows that selective use of dynamic accesses can be a useful complement to the mostly static memory system.
Rajeev Barua, Walter Lee, Saman P. Amarasinghe, Anant Agarwal
ISCA2
1998 Space-Time Scheduling of Instruction-Level Parallelism on a Raw Machine
abstract
Increasing demand for both greater parallelism and faster clocks dictate that future generation architectures will need to decentralize their resources and eliminate primitives that require single cycle global communication. A Raw microprocessor distributes all of its resources, including instruction streams, register files, memory ports, and ALUs, over a pipelined two-dimensional mesh interconnect, and exposes them fully to the compiler. Because communication in Raw machines is distributed, compiling for instruction-level parallelism (ILP) requires both spatial instruction partitioning as well as traditional temporal instruction scheduling. In addition, the compiler must explicitly manage all communication through the interconnect, including the global synchronization required at branch points. This paper describes RAWCC, the compiler we have developed for compiling general-purpose sequential programs to the distributed Raw architecture. We present performance results that demonstrate that although Raw machines provide no mechanisms for global communication the Raw compiler can schedule to achieve speedups that scale with the number of available functional units.
Walter Lee, Rajeev Barua, Matthew I. Frank, Devabhaktuni Srikrishna, Jonathan Babb, Vivek Sarkar, Saman P. Amarasinghe
ASPLOS1
1998 Memory bank disambiguation using modulo unrolling for Raw machines
abstract
We present modulo unrolling, a code transformation technique for enabling array references to be accessed through the fast static network on a Raw machine. A Raw machine comprises of a mesh of simple, replicated tiles connected by an interconnect which supports fast, static near-neighbor communication. Like all other resources, memory is distributed across the tiles. Management of the memory can be performed by well known techniques which generate the requisite communication code on distributed address-space architectures. On the other hand, the fast, static network provides the compiler with a simple interface to optimize such communication. This paper addresses the problem of taking advantage of such static communication for memory accesses. The requirement for static memory communication is the compile-time knowledge of the exact communication required for each memory reference. This knowledge, in turn, can be obtained if a memory reference refers exclusively to memory residing on a single processing tile. We introduce modulo unrolling as a technique which allows the static communication of a large class of array accesses. We show how this technique achieves the goal of static communication by using a relatively small unroll factor. For a set of dense matrix scientific applications, we are able to access all the array references on the static network, enabling scalable speedups on the Raw machine.
Rajeev Barua, Walter Lee, Saman P. Amarasinghe, Anant Agarwal
HiPC2
1998 Exploiting Two-Case Delivery for Fast Protected Messaging
abstract
We propose and evaluate two complementary techniques to protect and virtualize a tightly-coupled network interface in a multicomputer. The techniques allow efficient, direct application access to network hardware in a multiprogrammed environment while gaining most of the benefits of a memory-based network interface. First, two-case delivery allows an application to receive a message directly from the network hardware in ordinary circumstances, but provides buffering transparently when required for protection. Second, virtual buffering stores messages in virtual memory on demand, providing the convenience of effectively unlimited buffer capacity while keeping actual physical memory consumption low. The evaluation is based on workloads of real and synthetic applications running on a simulator and partly on emulated hardware. The results show that the direct path is also the common path, justifying the use of software buffering. Further results show that physical buffering requirements remain low in our applications despite the use of unacknowledged messages and despite adverse scheduling conditions.
Kenneth Mackenzie, John Kubiatowicz, Matthew I. Frank, Walter Lee, Victor Lee, Anant Agarwal, M. Frans Kaashoek
HPCA4
1997 Implications of I/O for Gang Scheduled Workloads
Walter Lee, Matthew I. Frank, Victor Lee, Kenneth Mackenzie, Larry Rudolph
JSSPP1