Demo Data from EDBT 2026 / reviewers in the wild / expert
Jack Li 0001
dblp:80/1484-1
· DBLP profile ↗
14ranked-venue papers
3as first author
0since 2021 · last 2017
0000-0001-6126-0701ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Applied, interdisciplinary, general and emerging computing · 7 · 2 first-authorSystems, architecture and hardware · 3Software engineering, systems software and programming languages · 2 · 1 first-authorComputer networks · 1Security and privacy · 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
2 papers |
Cloud and datacenter computing · 51% Parallel and multicore computing · 24% Distributed systems · 24% |
Topics — the 5 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Cloud and datacenter computing › cloud service models
infrastructure as a service |
0.2 | 1 | 2014 | Variations in Performance and Scalability: An Experimental Study in IaaS Clouds Using Multi-Tier Workloads · IEEE Trans. Serv. Comput. 2014 |
Parallel and multicore computing
data-parallel programming |
0.1 | 1 | 2012 | Optimizing Data Shuffling in Data-Parallel Computation by Understanding User-Defined Functions · NSDI 2012 |
Distributed systems › distributed data processing
data shuffling |
0.1 | 1 | 2012 | Optimizing Data Shuffling in Data-Parallel Computation by Understanding User-Defined Functions · NSDI 2012 |
Cloud and datacenter computing › virtualization › virtualization performance
hypervisor performance |
0.1 | 1 | 2014 | Variations in Performance and Scalability: An Experimental Study in IaaS Clouds Using Multi-Tier Workloads · IEEE Trans. Serv. Comput. 2014 |
Cloud and datacenter computing
virtualization |
0.1 | 1 | 2014 | Variations in Performance and Scalability: An Experimental Study in IaaS Clouds Using Multi-Tier Workloads · IEEE Trans. Serv. Comput. 2014 |
Methods — techniques the papers use, named apart from their topics
microbenchmarking · 0.2benchmarking · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | The Millibottleneck Theory of Performance Bugs, and Its Experimental VerificationabstractThe performance of n-tier web-facing applications often suffer from response time long-tail problem. With relatively low resource utilization (less than 50%) and the majority of requests returning within a few milliseconds, a non-negligible num-ber of normally short requests may take seconds to return. We propose the millibottleneck theory of performance bugs (that lead to long-tail problems). Several case studies have confirmed the millibottlenecks (that last a few tens to hundreds of milliseconds) as causal agents of long requests. A concrete example (garbage collection) illustrates the experimental verification of millibottlenecks. An open source fine-grain monitoring toolkit is being devel-oped to facilitate the experimental research on millibottlenecks. Calton Pu, Josh Kimball, Chien-An Lai, Jack Li 0001, Junhee Park, Qingyang Wang 0001, Deepal Jayasinghe, PengCheng Xiong, Simon Malkowski, Qinyi Wu, Gueyoung Jung, Younggyun Koh, Galen S. Swint |
ICDCS | 5 |
| 2017 | Limitations of Load Balancing Mechanisms for N-Tier Systems in the Presence of MillibottlenecksabstractThe scalability of n-tier systems relies on effective load balancing to distribute load among the servers of the same tier. We found that load balancing mechanisms (and some policies) in servers used in typical n-tier systems (e.g., Apache and Tomcat) have issues of instability when very long response time (VLRT) requests appear due to millibottlenecks, very short bottlenecks that last only tens to hundreds of milliseconds. Experiments with standard n-tier benchmarks show that during millibottlenecks, some load balancing policy/mechanism combinations make the mistake of sending new requests to the node(s) suffering from millibottlenecks, instead of the idle nodes as load balancers are supposed to do. Several of these mistakes are due to the implicit assumptions made by load balancing policies and mechanisms on the stability of system state. Our study shows that appropriate remedies at policy and mechanism levels can avoid these mistakes during millibottlenecks and remove the VLRT requests, thus improving the average response time by a factor of 12. Jack Li 0001, Josh Kimball, Junhee Park, Chien-An Lai, Calton Pu, Qingyang Wang 0001 |
ICDCS | 2 |
| 2016 | Enabling Elastic Stream Processing in Shared ClustersabstractDistributed data stream processing has become an increasingly popular computational framework due to many emerging applications which require real-time processing of data such as dynamic content delivery and security event analysis. These distributed data stream processing applications are often run on shared, multi-tenant clusters as companies try to consolidate from dedicated clusters for each application (batch and streaming) to a single cluster using a global cluster manager such as Hadoop YARN. In shared cluster environments, guaranteeing the quality of service constraints for throughput and response time for both stream processing applications and batch applications is a significant challenge. Stream processing applications often face an elastic demand where the input rate can vary drastically. The typical solution to solve workload elasticity is to guarantee enough resources to the application, but this solution is not possible when resources are being shared among multiple applications. In this paper, we present an approach for supporting elastic scaling of distributed data stream processing applications and efficiently scheduling and coordinating stream processing with batch processing in shared clusters. Our solution consists of a congestion detection monitor which detects bottlenecks in the streaming system and a global state manager that performs non-disruptive, stateful scaling of streaming applications. We implemented our solution using Storm, a popular stream processing framework, and tested our implementation on a Hadoop YARN cluster using a real-time security event processing workload. Our experimental results show that our solution improves stream processing application throughput by 49% over default Storm while decreasing average request response times by 58%. Jack Li 0001, Calton Pu, Yuan Chen 0001, Daniel Gmach, Dejan S. Milojicic |
CLOUD | 1 |
| 2016 | Performance Interference of Memory Thrashing in Virtualized Cloud Environments: A Study of Consolidated n-Tier ApplicationsabstractModern datacenters employ server virtualization and consolidation to reduce the cost of operation and to maximize profit. However, interference among consolidated virtual machines (VMs) has barred mission-critical applications due to unpredictable performance. Through extensive measurements of RUBBoS n-tier benchmark, we found a major source of performance unpredictability: the memory thrashing caused by VM consolidation can reduce the system throughput by 46% although memory was not over-committed. On a physical host with 4 consolidated VMs, we observed two distinct operational modes during a typical RUBBoS benchmark experiment. Over the first half of run-time session we found frequent CPU IOwait causing very long response time requests even though the system is under read-only CPU intensive workload, however, the latter half showed no such CPU abnormalities (IOwait). Using ElbaLens - a lightweight tracing tool, we conducted fine-grain analyses at time granularities as short as 50ms and found that the abnormal IOwait is caused by transient memory thrashing among consolidated VMs. The abnormal IOwait induces queue overflows that propagate through the entire n-tier system, resulting in very long response time requests due to frequent TCP retransmissions. We provide three practical techniques such as VM migration, memory reallocation, soft resource reallocation and show that they can mitigate the effects of performance interference among consolidated VMs. Junhee Park, Qingyang Wang 0001, Jack Li 0001, Chien-An Lai, Calton Pu |
CLOUD | 3 |
| 2015 | Improving Preemptive Scheduling with Application-Transparent Checkpointing in Shared ClustersabstractModern data center clusters are shifting from dedicated single framework clusters to shared clusters. In such shared environments, cluster schedulers typically utilize preemption by simply killing jobs in order to achieve resource priority and fairness during peak utilization. This can cause significant resource waste and delay job response time. Jack Li 0001, Calton Pu, Yuan Chen 0001, Vanish Talwar, Dejan S. Milojicic |
Middleware | 1 |
| 2014 | IO Performance Interference among Consolidated n-Tier Applications: Sharing Is Better Than Isolation for DisksabstractThe performance unpredictability associated with migrating applications into cloud computing infrastructures has impeded this migration. For example, CPU contention between co-located applications has been shown to exhibit counter-intuitive behavior. In this paper, we investigate IO performance interference through the experimental study of consolidated n-tier applications leveraging the same disk. Surprisingly, we found that specifying a specific disk allocation, e.g., limiting the number of Input/Output Operations Per Second (IOPs) per VM, results in significantly lower performance than fully sharing disk across VMs. Moreover, we observe severe performance interference among VMs can not be totally eliminated even with a sharing strategy (e.g., response times for constant workloads still increase over 1,100%). By using a micro-benchmark (Filebench) and an n-tier application benchmark systems (RUBBoS), we demonstrate the existence of disk contention in consolidated environments, and how performance loss occurs when co-located database systems in order to maintain database consistency flush their logs from memory to disk. Potential solutions to these isolation issues are (1) to increase the log buffer size to amortize the disk IO cost (2) to decrease the number of write threads to alleviate disk contention. We validate these methods experimentally and find a 64% and 57% reduction in response time (or more generally, a reduction in performance interference) for constant and increasing workloads respectively. Chien-An Lai, Qingyang Wang 0001, Josh Kimball, Jack Li 0001, Junhee Park, Calton Pu |
IEEE CLOUD | 4 |
| 2014 | The Impact of Software Resource Allocation on Consolidated n-Tier ApplicationsabstractConsolidating several under-utilized user applications together to achieve higher utilization of hardware resources is important for cloud vendors to reduce cost and maximize profit. In this paper, we study the impact of tuning software resources (e.g., server thread pool size or connection pool size) on n-tier web application performance in a consolidated cloud environment. By measuring CPU utilizations and performance of two consolidated n-tier web application benchmark systems running RUBBoS, we found significant differences depending on the amount of soft resources allocated. When the two systems have different soft resource allocations and are fully utilized, the application with more software resources may steal up to 8% CPU from the co-resident application. Further analysis shows that the CPU stealing is due to more threads being scheduled for the system with higher software resources. By limiting the number of runnable active threads for the consolidated VMs, we were able to mitigate the performance interference. More generally, our results show that careful software resource allocation is a significant factor when deploying and tuning n-tier application performance in clouds. Jack Li 0001, Qingyang Wang 0001, Chien-An Lai, Junhee Park, Daisaku Yokoyama, Calton Pu |
IEEE CLOUD | 1 |
| 2014 | Variations in Performance and Scalability: An Experimental Study in IaaS Clouds Using Multi-Tier WorkloadsabstractThe increasing popularity of clouds drives researchers to find answers to a large variety of new and challenging questions. Through extensive experimental measurements, we show variance in performance and scalability of clouds for two non-trivial scenarios. In the first scenario, we target the public Infrastructure as a Service (IaaS) clouds, and study the case when a multi-tier application is migrated from a traditional datacenter to one of the three IaaS clouds. To validate our findings in the first scenario, we conduct similar study with three private clouds built using three mainstream hypervisors. We used the RUBBoS benchmark application and compared its performance and scalability when hosted in Amazon EC2, Open Cirrus, and Emulab. Our results show that a best-performing configuration in one cloud can become the worst-performing configuration in another cloud. Subsequently, we identified several system level bottlenecks such as high context switching and network driver processing overheads that degraded the performance. We experimentally evaluate concrete alternative approaches as practical solutions to address these problems. We then built the three private clouds using a commercial hypervisor (CVM), Xen, and KVM respectively and evaluated performance characteristics using both RUBBoS and Cloudstone benchmark applications. The three clouds show significant performance variations; for instance, Xen outperforms CVM by 75 percent on the read-write RUBBoS workload and CVM outperforms Xen by over 10 percent on the Cloudstone workload. These observed problems were confirmed at a finer granularity through micro-benchmark experiments that measure component performance directly. Deepal Jayasinghe, Simon Malkowski, Jack Li 0001, Qingyang Wang 0001, Zhikui Wang, Calton Pu |
IEEE Trans. Serv. Comput. | 3 |
| 2013 | An Experimental Study of Rapidly Alternating Bottlenecks in n-Tier ApplicationsabstractIdentifying the location of performance bottlenecks is a non-trivial challenge when scaling n-tier applications in computing clouds. Specifically, we observed that an n-tier application may experience significant performance loss when bottlenecks alternate rapidly between component servers. Such rapidly alternating bottlenecks arise naturally and often from resource dependencies in an n-tier system and bursty workloads. These rapidly alternating bottlenecks are difficult to detect because the saturation in each participating server may have a very short lifespan (e.g., milliseconds) compared to current system monitoring tools and practices with sampling at intervals of seconds or minutes. Using passive network tracing at fine-granularity (e.g., aggregate at every 50ms), we are able to correlate throughput (i.e., request service rate) and load (i.e., number of concurrent requests) in each server of an n-tier system. Our experimental results show conclusive evidence of rapidly alternating bottlenecks caused by system software (JVM garbage collection) and middleware (VM collocation). Qingyang Wang 0001, Yasuhiko Kanemasa, Jack Li 0001, Deepal Jayasinghe, Toshihiro Shimizu, Masazumi Matsubara, Motoyuki Kawaba, Calton Pu |
IEEE CLOUD | 3 |
| 2013 | Detecting Transient Bottlenecks in n-Tier Applications through Fine-Grained AnalysisabstractIdentifying the location of performance bottlenecks is a non-trivial challenge when scaling n-tier applications in computing clouds. Specifically, we observed that an n-tier application may experience significant performance loss when there are transient bottlenecks in component servers. Such transient bottlenecks arise frequently at high resource utilization and often result from transient events (e.g., JVM garbage collection) in an n-tier system and bursty workloads. Because of their short lifespan (e.g., milliseconds), these transient bottlenecks are difficult to detect using current system monitoring tools with sampling at intervals of seconds or minutes. We describe a novel transient bottleneck detection method that correlates throughput (i.e., request service rate) and load (i.e., number of concurrent requests) of each server in an n-tier system at fine time granularity. Both throughput and load can be measured through passive network tracing at millisecond-level time granularity. Using correlation analysis, we can identify the transient bottlenecks at time granularities as short as 50ms. We validate our method experimentally through two case studies on transient bottlenecks caused by factors at the system software layer (e.g., JVM garbage collection) and architecture layer (e.g., Intel SpeedStep). Qingyang Wang 0001, Yasuhiko Kanemasa, Jack Li 0001, Deepal Jayasinghe, Toshihiro Shimizu, Masazumi Matsubara, Motoyuki Kawaba, Calton Pu |
ICDCS | 3 |
| 2012 | Expertus: A Generator Approach to Automate Performance Testing in IaaS CloudsabstractCloud computing is an emerging technology paradigm that revolutionizes the computing landscape by providing on-demand delivery of software, platform, and infrastructure over the Internet. Yet, architecting, deploying, and configuring enterprise applications to run well on modern clouds remains a challenge due to associated complexities and non-trivial implications. The natural and presumably unbiased approach to these questions is thorough testing before moving applications to production settings. However, thorough testing of enterprise applications on modern clouds is cumbersome and error-prone due to a large number of relevant scenarios and difficulties in testing process. We address some of these challenges through Expertus---a flexible code generation framework for automated performance testing of distributed applications in Infrastructure as a Service (IaaS) clouds. Expertus uses a multi-pass compiler approach and leverages template-driven code generation to modularly incorporate different software applications on IaaS clouds. Expertus automatically handles complex configuration dependencies of software applications and significantly reduces human errors associated with manual approaches for software configuration and testing. To date, Expertus has been used to study three distributed applications on five IaaS clouds with over 10,000 different hardware, software, and virtualization configurations. The flexibility and extensibility of Expertus and our own experience on using it shows that new clouds, applications, and software packages can easily be incorporated. Deepal Jayasinghe, Galen S. Swint, Simon Malkowski, Jack Li 0001, Qingyang Wang 0001, Junhee Park, Calton Pu |
IEEE CLOUD | 4 |
| 2012 | Optimizing Data Shuffling in Data-Parallel Computation by Understanding User-Defined Functions
Hucheng Zhou, Rishan Chen, Xuepeng Fan, Haoxiang Lin, Jack Li 0001, Wei Lin 0016, Jingren Zhou 0001, Lidong Zhou |
NSDI | 7 |
| 2012 | Response Time Reliability in Cloud Environments: An Empirical Study of n-Tier Applications at High Resource UtilizationabstractWhen running mission-critical web-facing applications (e.g., electronic commerce) in cloud environments, predictable response time, e.g., specified as service level agreements (SLA), is a major performance reliability requirement. Through extensive measurements of n-tier application benchmarks in a cloud environment, we study three factors that significantly impact the application response time predictability: bursty workloads (typical of web-facing applications), soft resource management strategies (e.g., global thread pool or local thread pool), and bursts in system software consumption of hardware resources (e.g., Java Virtual Machine garbage collection). Using a set of profit-based performance criteria derived from typical SLAs, we show that response time reliability is brittle, with large response time variations (order of several seconds) depending on each one of those factors. For example, for the same workload and hardware platform, modest increases in workload burstiness may result in profit drops of more than 50%. Our results show that profitbased performance criteria may contribute significantly to the successful delimitation of performance unreliability boundaries and thus support effective management of clouds. Qingyang Wang 0001, Yasuhiko Kanemasa, Jack Li 0001, Deepal Jayasinghe, Motoyuki Kawaba, Calton Pu |
SRDS | 3 |
| 2011 | Variations in Performance and Scalability When Migrating n-Tier Applications to Different CloudsabstractThe increasing popularity of computing clouds continues to drive both industry and research to provide answers to a large variety of new and challenging questions. We aim to answer some of these questions by evaluating performance and scalability when an n-tier application is migrated from a traditional datacenter environment to an IaaS cloud. We used a representative n-tier macro-benchmark (RUBBoS) and compared its performance and scalability in three different test beds: Amazon EC2, Open Cirrus (an open scientific research cloud), and Emulab (academic research test bed). Interestingly, we found that the best-performing configuration in Emulab can become the worst-performing configuration in EC2. Subsequently, we identified the bottleneck components, high context switch overhead and network driver processing overhead, to be at the system level. These overhead problems were confirmed at a finer granularity through micro-benchmark experiments that measure component performance directly. We describe concrete alternative approaches as practical solutions for resolving these problems. Deepal Jayasinghe, Simon Malkowski, Qingyang Wang 0001, Jack Li 0001, PengCheng Xiong, Calton Pu |
IEEE CLOUD | 4 |