# Charles E. Leiserson

American computer scientist, (1953 - ), Oslo, Norway

## Charles E. Leiserson's AcademicInfluence.com Rankings

## Download Badge

Computer Science

## Charles E. Leiserson's Degrees

- PhD Computer Science Carnegie Mellon University

## Similar Degrees You Can Earn

## Why Is Charles E. Leiserson Influential?

(Suggest an Edit or Addition)According to Wikipedia, Charles Eric Leiserson is a computer scientist, specializing in the theory of parallel computing and distributed computing, and particularly practical applications thereof. As part of this effort, he developed the Cilk multithreaded language. He invented the fat-tree interconnection network, a hardware-universal interconnection network used in many supercomputers, including the Connection Machine CM5, for which he was network architect. He helped pioneer the development of VLSI theory, including the retiming method of digital optimization with James B. Saxe and systolic arrays with H. T. Kung. He conceived of the notion of cache-oblivious algorithms, which are algorithms that have no tuning parameters for cache size or cache-line length, but nevertheless use cache near-optimally. He developed the Cilk language for multithreaded programming, which uses a provably good work-stealing algorithm for scheduling. Leiserson coauthored the standard algorithms textbook Introduction to Algorithms together with Thomas H. Cormen, Ronald L. Rivest, and Clifford Stein.

## Charles E. Leiserson's Published Works

### Published Works

- Introduction to Algorithms (1990) (13102)
- Introduction to Algorithms, 2nd edition. (2001) (3835)
- Introduction to Algorithms, Second Edition (2001) (2902)
- Introduction to Algorithms, third edition (2009) (2806)
- Cilk: an efficient multithreaded runtime system (1995) (2094)
- The implementation of the Cilk-5 multithreaded language (1998) (1443)
- Fat-trees: Universal networks for hardware-efficient supercomputing (1985) (1442)
- Cache-oblivious algorithms (1999) (1079)
- Systolic Arrays for (VLSI). (1978) (962)
- Introduction to Algorithms, 3rd Edition (2009) (834)
- Retiming synchronous circuitry (1988) (580)
- Unbounded transactional memory (2005) (554)
- Optimizing synchronous systems (1981) (510)
- The Network Architecture of the Connection Machine CM-5 (1996) (494)
- A comparison of sorting algorithms for the connection machine CM-2 (1991) (392)
- The Cilk++ concurrency platform (2009) (386)
- The pochoir stencil compiler (2011) (346)
- Parallel sparse matrix-vector and matrix-transpose-vector multiplication using compressed sparse blocks (2009) (345)
- Optimizing Synchronous Circuitry by Retiming (Preliminary Version) (1983) (335)
- Area-Efficient Graph Layouts (for VLSI) (1980) (291)
- Wafer-scale integration of systolic arrays (1982) (289)
- Area-Efficient VLSI Computation (1983) (233)
- The Design and Analysis of Computer Algorithms (1990) (230)
- Space-efficient scheduling of multithreaded computations (1993) (229)
- The network architecture of the Connection Machine CM-5 (extended abstract) (1992) (204)
- A work-efficient parallel breadth-first search algorithm (or how to cope with the nondeterminism of reducers) (2010) (177)
- Reducers and other Cilk++ hyperobjects (2009) (168)
- Efficient Detection of Determinacy Races in Cilk Programs (1997) (160)
- Anti-Money Laundering in Bitcoin: Experimenting with Graph Convolutional Networks for Financial Forensics (2019) (157)
- Systolic Priority Queues (1979) (153)
- There’s plenty of room at the Top: What will drive computer performance after Moore’s law? (2020) (142)
- Area-efficient graph layouts (1980) (141)
- Detecting data races in Cilk programs that use locks (1998) (139)
- An analysis of dag-consistent distributed shared-memory algorithms (1996) (135)
- Randomized routing on fat-tress (1985) (130)
- Adversarial contention resolution for simple channels (2005) (123)
- Algorithms for routing and testing routability of planar VLSI layouts (1985) (120)
- The Cilkview scalability analyzer (2010) (116)
- DAG-consistent distributed shared memory (1996) (108)
- Adaptive work stealing with parallelism feedback (2007) (96)
- Introduction to algorithms. Chapter 16. 2nd Edition (2001) (84)
- Adaptive Scheduling with Parallelism Feedback (2006) (80)
- Standards for graph algorithm primitives (2014) (80)
- How to assemble tree machines (1984) (77)
- Executing task graphs using work-stealing (2010) (75)
- Ordering heuristics for parallel graph coloring (2014) (74)
- Introduction to Algorithms -3/Ed. (2012) (74)
- Optimizing two-phase, level-clocked circuitry (1997) (70)
- On-the-fly maintenance of series-parallel relationships in fork-join multithreaded programs (2004) (62)
- Tapir: Embedding Fork-Join Parallelism into LLVM's Intermediate Representation (2017) (61)
- An Experimental Analysis of Parallel Sorting Algorithms (1998) (61)
- Scalable Graph Learning for Anti-Money Laundering: A First Look (2018) (59)
- On-the-Fly Pipeline Parallelism (2015) (58)
- Programming with exceptions in JCilk (2006) (56)
- Efficient out-of-core algorithms for linear relaxation using blocking covers (1993) (56)
- Deterministic parallel random-number generation for dynamic-multithreading platforms (2012) (55)
- Using de Bruijn Sequences to Index a 1 in a Computer Word (1998) (52)
- Orderings for Parallel Sparse Symmetric Factorization (1987) (51)
- An application of number theory to the organization of raster-graphics memory (1982) (49)
- Provably Efficient Online Nonclairvoyant Adaptive Scheduling (2007) (48)
- Using memory mapping to support cactus stacks in work-stealing runtime systems (2010) (45)
- A Mixed-Integer Linear Programming Problem which is Efficiently Solvable (1988) (42)
- The Cilkprof Scalability Profiler (2015) (39)
- A Layout for the Shuffle-Exchange Network. (1980) (37)
- VLSI theory and parallel supercomputing (1989) (36)
- The organization of permutation architectures with bussed interconnections (1987) (34)
- Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformations (2016) (31)
- Communication-efficient parallel algorithms for distributed random-access machines (1988) (31)
- An empirical evaluation of work stealing with parallelism feedback (2006) (31)
- Programming Parallel Applications In Cilk (1997) (31)
- Optimal Retiming of Multi-Phase, Level-Clocked Circuits (1991) (31)
- Provably Efficient Two-Level Adaptive Scheduling (2006) (30)
- Memory models for open-nested transactions (2006) (30)
- Model-based Learning of Interaction Strategies in Multi-agent Systems (1997) (26)
- Communication-Efficient Parallel Graph Algorithms (1986) (24)
- AUTOGEN: automatic discovery of cache-oblivious parallel recursive algorithms for solving dynamic programs (2016) (24)
- Executing Dynamic Data-Graph Computations Deterministically Using Chromatic Scheduling (2016) (24)
- A TIMING ANALYSIS OF LEVEL-CLOCKED CIRCUITRY (1990) (22)
- A consistency architecture for hierarchical shared caches (2008) (21)
- A Survey of Algorithms for Integrating Wafer-Scale Systolic Arrays. (1986) (20)
- Adaptive work-stealing with parallelism feedback (2008) (20)
- The JCilk Language for Multithreaded Computing (2005) (19)
- Coding Stencil Computations Using the Pochoir Stencil-Specification Language (2011) (19)
- Programming Irregular Parallel Applications in Cilk (1997) (18)
- Acknowledgments We Thank (1998) (18)
- Max-flow Min-cut Theorem (1998) (18)
- The CSI Framework for Compiler-Inserted Program Instrumentation (2017) (18)
- Helper locks for fork-join parallel programming (2010) (17)
- Cache-conscious scheduling of streaming applications (2012) (17)
- A compact layout for the three-dimensional tree of meshes (1988) (17)
- Brief Announcement: Open Cilk (2018) (16)
- Efficient Evaluation of Large Polynomials (2010) (16)
- Randomized Routing on Fat-Trees (Preliminary Version) (1985) (16)
- Lifelong learning: Science professors need leadership training (2015) (16)
- How to assemble tree machines (Extended Abstract) (1982) (14)
- A Minicourse on Multithreaded Programming (1998) (13)
- Memory-mapping support for reducer hyperobjects (2012) (12)
- Tapir: Embedding Recursive Fork-join Parallelism into LLVM's Intermediate Representation (2019) (12)
- High-Performance Architectures For Adaptive Filtering Based On The Gram-Schmidt Algorithm (1984) (11)
- Autogen: Automatic Discovery of Efficient Recursive Divide-8-Conquer Algorithms for Solving Dynamic Programming Problems (2017) (10)
- Accelerating Training and Inference of Graph Neural Networks with Fast Sampling and Pipelining (2021) (10)
- On the efficiency of localized work stealing (2015) (10)
- Advanced Research In VLSI (1986) (9)
- On-the-fly pipeline parallelism (2013) (9)
- Parallel computation of the minimal elements of a poset (2010) (7)
- Community Climate System Model (CCSM) (2011) (7)
- PARAD: A Work-Efficient Parallel Algorithm for Reverse-Mode Automatic Differentiation (2021) (7)
- Executing dynamic data-graph computations deterministically using chromatic scheduling (2014) (7)
- Wafer-Scale Integration of Systolic Arrays (1985) (7)
- Cache-Oblivious and Cache-Aware Algorithms (2005) (7)
- Race Detectors for Cilk and Cilk++ Programs (2011) (7)
- Work Stealing with Parallelism Feedback (2008) (7)
- A Hyperconcentrator Swith for Routing Bit-Serial Messages (1990) (6)
- Wafer-Scale Integration of Systolic Arrays (Extended Abstract) (1982) (5)
- Upper Bounds on Number of Steals in Rooted Trees (2015) (5)
- 04301 Abstracts Collection - Cache-Oblivious and Cache-Aware Algorithms (2004) (5)
- Transactions Everywhere (2003) (5)
- The Networks of the Connection Machine CM-5 (1992) (5)
- A Minicourse on Dynamic Multithreaded Algorithms (2005) (4)
- Autotuning divide‐and‐conquer stencil computations (2017) (4)
- A Space-Efficient Algorithm for Finding the Connected Components of Rectangles in the Plane. (1987) (4)
- Practical Schemes for Fat-Tree Network Construction (1991) (4)
- Tapir (2017) (4)
- Executing Dynamic Task Graphs Using Work-Stealing (2010) (4)
- A simple deterministic algorithm for guaranteeing the forward progress of transactions (2015) (3)
- Building Blocks and Excluded Sums (2005) (3)
- Number 18 (2019) (3)
- Hardware Transactional Memory (2004) (3)
- Adversarial analyses of window backoff strategies (2004) (3)
- Provably Efficient Adaptive Scheduling for Parallel Jobs (2007) (3)
- A Hyperconcentrator Switch for Routing Bit-Serial Messages (Extended Abstract), (1986) (2)
- 6.172 Performance Engineering of Software Systems, Fall 2009 (2009) (2)
- The Resurgence of Software Performance Engineering (2018) (2)
- Programming with Exceptions in JCilk 1 (2010) (2)
- Cache-Oblivious and Cache-Aware Algorithms, 18.07. - 23.07.2004 (2005) (2)
- There’s plenty of room at the top (2019) (2)
- Floors and Ceilings in Divide-and-Conquer Recurrences (2021) (2)
- Parallel Algorithms for the Circuit Value Update Problem (1995) (2)
- Rewriting Logic (2011) (2)
- The CSI Framework for Compiler-Inserted Program Instrumentation (2017) (1)
- Planet-in-a-Bottle: A Numerical Fluid-Laboratory System (2007) (1)
- Proceedings of the fourth MIT conference on Advanced research in VLSI (1986) (1)
- Cluster File Systems (2011) (1)
- Optimixing Synchronous Systems. (1982) (1)
- Proceedings of the MIT Student Workshop on VLSI and Parallel Systems (1992) (1)
- A New Competitive Analysis of Randomized Caching (2000) (1)
- The JCilk Language for Multithreaded Computing [ Extended Abstract ] (2007) (1)
- Work-Efficient Parallel Algorithms for Accurate Floating-Point Prefix Sums (2020) (1)
- Autogen (2017) (1)
- Recent Results in VLSI CAD at MIT (1986) (1)
- Critical Sections (2011) (1)
- Community Ice Code (CICE) (2011) (1)
- Configurable, Highly Parallel Computer (2011) (1)
- An Analyzer for Message Sequence Charts 15 Lemma 4.1 the Timed M S C M Is Timing Inconsistent I the Graph G M 5 an Msc Analysis Tool 4 Mscs with Timing Constraints (0)
- Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures (1995) (0)
- Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures (1994) (0)
- The Cilkprof Scalability Proﬁler (2015) (0)
- Comparison Results on Fu and Register Counts Accurately Handle Don't-care Conditions in High-level Designs and Application for Reducing Initialized Registers Chou Et Al.: Accurately Handle Don't-care Conditions in High-level Designs and Application for Reducing Initialized Registers 647 (0)
- Memory-mapping support for reducer hyperobjects Citation (2012) (0)
- Design and Analysis of Dynamic Multithreaded Algorithms (2004) (0)
- 6 Related Work Pbe from Computation Traces 7 Concluding Remarks (1995) (0)
- Systolic Prio rity Qu eues 201 (2012) (0)
- Cache-Oblivious and Cache-Aware Algorithms Dagstuhl Seminar (2005) (0)
- An Analyzer for Message Sequence Charts 15 Acknowledgements: We Thank 5 an Msc Analysis Tool 4 Mscs with Timing Constraints (1996) (0)
- Design and Analysis of Algorithms for Shared-Memory Multiprocessors (Abstract) (1999) (0)
- Butterfly Network Analysis and The Beneˇ s Network (2004) (0)
- A Model for Synchronous Systems 3 . The Systolic Conversion Theorem 4 (2011) (0)
- Selected Solutions Introduction to Algorithms (2022) (0)
- Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures (1997) (0)
- 16. Greedy-Algorithmen (2017) (0)
- Administrivia; Introduction; Analysis of Algorithms, Insertion Sort, Mergesort (2005) (0)
- Session details: Keynote Address 1 (2015) (0)
- Educate engineering and science faculty in leadership skills (2015) (0)
- Dynamic Multithreaded Algorithms (2005) (0)
- 1 Serial Breadth-First Search (2010) (0)
- Binary GCD Algorithm (2011) (0)
- 00 MIT / LCS / TM-379 THE ORGANIZATION OF PERMUTATION ARCHITECTURES WITH BUSSED INTERCONNECTIONS DTIC (0)
- 2015 in ten cartoons (2015) (0)
- Problem Set 4 Solutions (2001) (0)
- Upper Bounds on Number of Steals in Rooted Trees (2015) (0)
- 6.046J Introduction to Algorithms (SMA 5503), Fall 2004 (2004) (0)
- Cognitive Sorting (2019) (0)
- Scheduling Adaptively Parallel Jobs Scheduling Adaptively Parallel Jobs (1998) (0)
- Peachy Parallel Assignments (EduHPC 2022) (2022) (0)
- Proof: Theorem 3 and Lemmas 1 and 2 Remain Valid (1996) (0)
- Dynamic with Dictionary Technique for Arabic Text Compression (2016) (0)
- US 6 , 282 , 546 B 1 Page 3 “ A Unix Network Protocol Security Study : Network Infor mation Service ' (2017) (0)
- Gram -Schmidt algorithm (2017) (0)
- A Coherent VLSI Design Environment (1985) (0)
- Advanced research in VLSI : proceedings of the Fourth MIT conference, April 7-9, 1986 (1986) (0)
- Can Multithreaded Programming Save Massively Parallel Computing? (1996) (0)
- External-Memory Search Trees with Fast Insertions by Jelani Nelson (2007) (0)
- A New Competitive Analysis of Randomized Caching (Extended Abstract) (2000) (0)
- Erratum to a compact layout for the three-dimensional tree of meshes (1988) (0)
- Algorithmic Analysis of Multithreaded Algorithms (Abstract) (1997) (0)
- Lab 5: Backtracking Search (2010) (0)
- Community Climate Model (CCM) (2011) (0)
- Problem Set 7 Solutions (2001) (0)
- The CSI Framework for Compiler-Inserted Program Instrumentation (2019) (0)
- 6.046J / 18.410J Introduction to Algorithms, Fall 2001 (2001) (0)
- Multidimensional Included and Excluded Sums (2021) (0)
- 5. an Eecient Algorithm for the Opening and Closing Filters (2000) (0)
- Communication-efficient parallel graph algorithms. Technical report (1986) (0)
- Session details: Session 3: brief announcements (2013) (0)
- 5. Discussion 4. Fast Multipole Algorithm Figure 2. Initial Code for N-body Calculation 3. Refinement Prototyping Parallel Algorithms (1992) (0)
- User Manual for the Pochoir Stencil Compiler (2011) (0)

This paper list is powered by the following services:

## Other Resources About Charles E. Leiserson

## What Schools Are Affiliated With Charles E. Leiserson?

Charles E. Leiserson is affiliated with the following schools:

## What Are Charles E. Leiserson's Academic Contributions?

Charles E. Leiserson is most known for their academic work in the field of computer science. They are also known for their academic work in the fields of

Charles E. Leiserson has made the following academic contributions: