Gul Agha
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Research Subjects
Research Interests
Gul Agha has a total of 211 co-authors. Here are the top co-authors by number of shared publications:
Koushik Sen
13 shared publicationsKirill Mechitov
University of Illinois at Urbana-Champaign
11 shared publicationsMahesh Viswanathan
8 shared publications- Koushik Sen
University of Illinois
7 shared publications Vijay Anand Korthikanti
7 shared publicationsYoungMin Kwon
6 shared publications
Latest Publications
- 12 January 2026
- Published by Springer Nature in Quantum Information Processing
- Vol. 25 (1) , 22
A finite state automaton for quantum computing
- 12 January 2026
- Published by Springer Nature in Quantum Information Processing
- Vol. 25 (1) , 22
A finite state automaton for quantum computing
- 25 September 2025
- Published by Springer Nature
- p. 307-327
Hamiltonian Formulation of a Finite-State Automaton
- 25 September 2025
- Published by Springer Nature
- p. 307-327
Hamiltonian Formulation of a Finite-State Automaton
- Open Access
- 10 June 2025
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Programming Languages
- Vol. 9 (PLDI) , 945-969
CRGC: Fault-Recovering Actor Garbage Collection in Pekko
Actors are lightweight reactive processes that communicate by asynchronous message-passing. Actors address common problems like concurrency control and fault tolerance, but resource management remains challenging: in all four of the most popular actor frameworks (Pekko, Akka, Erlang, and Elixir) programmers must explicitly kill actors to free up resources. To simplify resource management, researchers have devised actor garbage collectors (actor GCs) that monitor the application and detect when actors are safe to kill. However, existing actor GCs are impractical for distributed systems where the network is unreliable and nodes can fail. The simplest actor GCs do not collect cyclic garbage, whereas more sophisticated actor GCs are not fault-recovering : dropped messages and crashed nodes can cause actors to become garbage that never gets collected. We present Conflict-free Replicated Garbage Collection (CRGC): the first fault-recovering cyclic actor GC. In CRGC, actors and nodes record information locally and broadcast updates to the garbage collectors running on each node. CRGC does not require locks, explicit memory barriers, or any assumptions about message delivery order, except for reliable FIFO channels from actors to their local garbage collector. Moreover, CRGC is simple: we concisely present its operational semantics, which has been formalized in TLA + , and prove both soundness (non-garbage actors are never killed) and completeness (all garbage actors are eventually killed, under reasonable assumptions). We also present a preliminary implementation in Apache Pekko and measure its performance using two actor benchmark suites. Our results show the performance overhead of CRGC is competitive with simpler approaches like weighted reference counting, while also being much more powerful.
- 10 June 2025
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Programming Languages
- Vol. 9 (PLDI) , 945-969
Open AccessCRGC: Fault-Recovering Actor Garbage Collection in Pekko
Actors are lightweight reactive processes that communicate by asynchronous message-passing. Actors address common problems like concurrency control and fault tolerance, but resource management remains challenging: in all four of the most popular actor frameworks (Pekko, Akka, Erlang, and Elixir) programmers must explicitly kill actors to free up resources. To simplify resource management, researchers have devised actor garbage collectors (actor GCs) that monitor the application and detect when actors are safe to kill. However, existing actor GCs are impractical for distributed systems where the network is unreliable and nodes can fail. The simplest actor GCs do not collect cyclic garbage, whereas more sophisticated actor GCs are not fault-recovering : dropped messages and crashed nodes can cause actors to become garbage that never gets collected. We present Conflict-free Replicated Garbage Collection (CRGC): the first fault-recovering cyclic actor GC. In CRGC, actors and nodes record information locally and broadcast updates to the garbage collectors running on each node. CRGC does not require locks, explicit memory barriers, or any assumptions about message delivery order, except for reliable FIFO channels from actors to their local garbage collector. Moreover, CRGC is simple: we concisely present its operational semantics, which has been formalized in TLA + , and prove both soundness (non-garbage actors are never killed) and completeness (all garbage actors are eventually killed, under reasonable assumptions). We also present a preliminary implementation in Apache Pekko and measure its performance using two actor benchmark suites. Our results show the performance overhead of CRGC is competitive with simpler approaches like weighted reference counting, while also being much more powerful.
- Open Access
- 30 March 2025
- Published by Association for Computing Machinery (ACM)
- p. 59-75
CRAVE: Analyzing Cross-Resource Interaction to Improve Energy Efficiency in Systems-on-Chip
- 30 March 2025
- Published by Association for Computing Machinery (ACM)
- p. 59-75
Open AccessCRAVE: Analyzing Cross-Resource Interaction to Improve Energy Efficiency in Systems-on-Chip
- 15 September 2023
- Published by Springer Nature
- p. 65-81
A Bounded Model Checking Technique for Discrete-Time Nonlinear Systems
- 15 September 2023
- Published by Springer Nature
- p. 65-81
A Bounded Model Checking Technique for Discrete-Time Nonlinear Systems
- 25 July 2022
- Published by Springer Nature in Innovations in Systems and Software Engineering
- Vol. 19 (4) , 395-410
Eventual consensus in Synod: verification using a failure-aware actor model
- 25 July 2022
- Published by Springer Nature in Innovations in Systems and Software Engineering
- Vol. 19 (4) , 395-410
Eventual consensus in Synod: verification using a failure-aware actor model
- 23 September 2020
- Published by Taylor & Francis
- p. 201-213
Thin Middleware for Ubiquitous Computing
As Donald Norman put it in his popular book Invisible Computers [12], “a good technology is a disappearing technology.” A good technology seamlessly permeates into our lives in such a way that we use it without noticing its presence. It is invisible until it is not available. Ever since the invention of microprocessors, many computer researchers have strived to make computer technology a “good” technology.
- 23 September 2020
- Published by Taylor & Francis
- p. 201-213
Thin Middleware for Ubiquitous Computing
As Donald Norman put it in his popular book Invisible Computers [12], “a good technology is a disappearing technology.” A good technology seamlessly permeates into our lives in such a way that we use it without noticing its presence. It is invisible until it is not available. Ever since the invention of microprocessors, many computer researchers have strived to make computer technology a “good” technology.
- 1 January 2020
- Published by HICSS Conference Office
Introduction to Software Technology
- Open Access
Costless: Optimizing Cost of Serverless Computing through Function Fusion and Placement
Serverless computing has recently experienced significant adoption by several applications, especially Internet of Things (IoT) applications. In serverless computing, rather than deploying and managing dedicated virtual machines, users are able to deploy individual functions, and pay only for the time that their code is actually executing. However, since serverless platforms are relatively new, they have a completely different pricing model that depends on the memory, duration, and the number of executions of a sequence/workflow of functions. In this paper we present an algorithm that optimizes the price of serverless applications in AWS Lambda. We first describe the factors affecting price of serverless applications which include: (1) fusing a sequence of functions, (2) splitting functions across edge and cloud resources, and (3) allocating the memory for each function. We then present an efficient algorithm to explore different function fusion-placement solutions and find the solution that optimizes the application's price while keeping the latency under a certain threshold. Our results on image processing workflows show that the algorithm can find solutions optimizing the price by more than 35%-57% with only 5%-15% increase in latency. We also show that our algorithm can find non-trivial memory configurations that reduce both latency and price.
Open AccessCostless: Optimizing Cost of Serverless Computing through Function Fusion and Placement
Serverless computing has recently experienced significant adoption by several applications, especially Internet of Things (IoT) applications. In serverless computing, rather than deploying and managing dedicated virtual machines, users are able to deploy individual functions, and pay only for the time that their code is actually executing. However, since serverless platforms are relatively new, they have a completely different pricing model that depends on the memory, duration, and the number of executions of a sequence/workflow of functions. In this paper we present an algorithm that optimizes the price of serverless applications in AWS Lambda. We first describe the factors affecting price of serverless applications which include: (1) fusing a sequence of functions, (2) splitting functions across edge and cloud resources, and (3) allocating the memory for each function. We then present an efficient algorithm to explore different function fusion-placement solutions and find the solution that optimizes the application's price while keeping the latency under a certain threshold. Our results on image processing workflows show that the algorithm can find solutions optimizing the price by more than 35%-57% with only 5%-15% increase in latency. We also show that our algorithm can find non-trivial memory configurations that reduce both latency and price.