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.

Pin Zhou

dblp:96/4192 · DBLP profile ↗
← Back
17ranked-venue papers
5as first author
1since 2021 · last 2025
0000-0002-5047-3637ORCID · corroborated

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

Systems, architecture and hardware · 14 · 4 first-authorSecurity and privacy · 4 · 1 first-authorSoftware engineering, systems software and programming languages · 3 · 2 first-authorArtificial intelligence and machine learning · 1 · 1 since 2021

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
6 papers
Processor architecture and microarchitecture · 52% Performance modeling and evaluation · 18% Memory systems · 15%
Software engineering, system software, and programming languages
6 papers
Program analysis · 36% Concurrent programming · 26% Operating systems · 17%
Network and information security
1 paper
Systems and software security · 100%

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

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
debugging support
0.232007
HARD: Hardware-Assisted Lockset-based Race Detection · HPCA 2007
Efficient and flexible architectural support for dynamic monitoring · ACM Trans. Archit. Code Optim. 2005
iWatcher: Efficient Architectural Support for Software Debugging · ISCA 2004
Program analysis › static analysis › bug detection
dynamic bug detection
0.122006
PathExpander: Architectural Support for Increasing the Path Coverage of Dynamic Bug Detection · MICRO 2006
iWatcher: Efficient Architectural Support for Software Debugging · ISCA 2004
Concurrent programming › concurrency bug detection
data race detection
0.112007
HARD: Hardware-Assisted Lockset-based Race Detection · HPCA 2007
Concurrent programming › concurrency bug detection › data race detection
hardware-assisted race detection
0.112007
HARD: Hardware-Assisted Lockset-based Race Detection · HPCA 2007
Processor architecture and microarchitecture › debugging support
race detection hardware
0.112007
HARD: Hardware-Assisted Lockset-based Race Detection · HPCA 2007
Program analysis › static analysis
bug detection
0.122005
iWatcher: Efficient Architectural Support for Software Debugging · ISCA 2004
Efficient and flexible architectural support for dynamic monitoring · ACM Trans. Archit. Code Optim. 2005
Software testing › test coverage
path coverage
0.112006
PathExpander: Architectural Support for Increasing the Path Coverage of Dynamic Bug Detection · MICRO 2006
Performance modeling and evaluation › performance monitoring
hardware-assisted monitoring
0.112005
Efficient and flexible architectural support for dynamic monitoring · ACM Trans. Archit. Code Optim. 2005
Systems and software security › memory safety
memory error detection
0.012004
AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants · MICRO 2004
Systems and software security
memory safety
0.012004
AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants · MICRO 2004
Debugging and program repair
fault localization
0.012004
AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants · MICRO 2004
Operating systems › resource management › memory management
memory allocation
0.012004
Dynamic tracking of page miss ratio curve for memory management · ASPLOS 2004
Operating systems › resource management › memory management
virtual memory
0.012004
Dynamic tracking of page miss ratio curve for memory management · ASPLOS 2004
Performance modeling and evaluation › performance monitoring
hardware monitoring
0.012004
iWatcher: Efficient Architectural Support for Software Debugging · ISCA 2004
Memory systems › memory access
memory access monitoring
0.012004
iWatcher: Efficient Architectural Support for Software Debugging · ISCA 2004
Energy-efficient computing › power management › device power management
memory and disk power management
0.012004
Performance directed energy management for main memory and disks · ASPLOS 2004
Memory systems
memory management
0.012004
Dynamic tracking of page miss ratio curve for memory management · ASPLOS 2004
Parallel and multicore computing › speculative parallelization
thread-level speculation
0.022005
Efficient and flexible architectural support for dynamic monitoring · ACM Trans. Archit. Code Optim. 2005
iWatcher: Efficient Architectural Support for Software Debugging · ISCA 2004
Program analysis
dynamic analysis
0.012007
HARD: Hardware-Assisted Lockset-based Race Detection · HPCA 2007
Processor architecture and microarchitecture
speculative execution
0.012006
PathExpander: Architectural Support for Increasing the Path Coverage of Dynamic Bug Detection · MICRO 2006
Energy-efficient computing › power management
memory power management
0.012004
Dynamic tracking of page miss ratio curve for memory management · ASPLOS 2004
Performance modeling and evaluation
workload characterization
0.012004
Performance directed energy management for main memory and disks · ASPLOS 2004

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

bloom filter · 0.2thread-level speculation · 0.2bitwise logic operations · 0.1sandbox execution · 0.1hardware-assisted checking · 0.1simulation · 0.1program counter invariants · 0.1hardware performance monitor · 0.1check look-aside buffer · 0.1OS-level tracking · 0.1optimization-based threshold-free control · 0.0
YearPublicationVenuePosition
2025 Strategic analysis of an ad-supported content platform's subsidy policy: The perspective of the producer's pricing strategies
Pin Zhou
Decis. Support Syst.3
2016 Finding Consistency in an Inconsistent World: Towards Deep Semantic Understanding of Scale-out Distributed Databases
Neville Carvalho, Hyojun Kim, Maohua Lu, Prasenjit Sarkar, Rohit Shekhar, Tarun Thakur, Pin Zhou, Remzi H. Arpaci-Dusseau
HotStorage7
2015 Improving Reliability with Dynamic Syndrome Allocation in Intelligent Software Defined Data Centers
abstract
We propose new algorithms for implementing a software-defined data center (SDDC) to improve the dependability of storage systems without the addition of new hardware. We define the construction of a system that can predict its future resource requirements and act on these predictions to allocate overprovisioned resources to improve reliability. We introduce algorithms for implementing a smart SDDC (SSDDC) that characterizes user I/O transactions (writes and deletes), and use these models to predict the level of overprovisioning within a system, overbooking excess resources to improve reliability, while mitigating the impact on quality of service. We compare several implementations of our methods experimentally, and discuss methods for improving the fault-tolerance of our S2DDC, present experimental results showcasing our ability to improve system reliability showing the decrease in expected annual block loss due to disk failures and latent sector errors, and highlight the benefit of dependence based usage models in estimating overprovisioning.
Ulya Bayram, Dwight Divine, Pin Zhou, Eric William Davis
DSN3
2014 Taming IO Spikes in Enterprise and Campus VM Deployment
abstract
Enterprises and campuses have widely employed virtualization to improve resource utilization and save capital costs. The virtualized storage infrastructure usually comprises a pool of storage nodes (disks, RAID groups and storage servers), each consolidating a number of virtual machines (VMs). The IO workload on each storage node is highly bursty where a few overloaded periods, namely IO spikes, incur lags and greatly affect VM performance. In this paper, we design VMpart, a system that automatically reconfigures VM deployment to remove IO spikes from a deployed VM environment. Firstly, VMpart collects IO parameters and identifies IO spikes for deployed VMs during production periods. Secondly, during the maintenance phase, VMpart divides every VM based on its disk partitions and reconfigures the system with a fine-grained optimized partition deployment for better load balancing. We set up a representative VM environment with desktop and server VMs used in enterprises and campuses to evaluate VMpart. Our experiments show that the optimized deployment reduces the average booting time of desktop VMs during boot storm from 9% to 28%, improves server VM throughput by more than 60% and reduces VM storage migration time by about 57%.
Mingyuan Xia 0001, Pin Zhou, David Pease, Xue (Steve) Liu
SYSTOR2
2013 SMIO: I/O similarity aware virtual machine management invirtual desktop environments
abstract
Virtual desktop environments (VDEs) typically employ shared storage with the goal to benefit from the I/O optimizations therein. However, the Virtual Machine (VM) management that enables VDEs is typically agnostic of VM I/O characteristics. Thus, the opportunities for I/O reduction techniques, e.g., deduplication, which improve storage scalability and efficiency are constrained. We present SMIO, a VM management system that detects VM I/O similarities, and places the VMs such that the effectiveness of I/O reduction techniques is enhanced--as much as 4.9× compared to the standard approach.
Sushil Mantri, Pin Zhou, Ali Raza Butt
ICS3
2013 Building intelligence for software defined data centers: modeling usage patterns
abstract
As both the amount of data to be stored and the rate of data production grows, data center designers and operators face the challenge of planning and managing systems whose characteristics, workloads, and performance, availability, and reliability goals change rapidly. As we move towards software-defined data centers (SDDCs) the ability to reconfigure and adapt our solutions is increasing, but to take full advantage of that increase we must design smarter, more intelligent systems that are aware of how they are being used and able to deliver accurate predictions of their characteristics, workloads, and goals. In this paper we propose a novel algorithm for use in an intelligent, user-aware SDDC which performs run-time analysis of user storage system activity in a manner that has a minimal impact on performance and provides accurate estimations of future user activity.
Eric William Davis, Pin Zhou, Dwight Divine
SYSTOR2
2011 Modeling the Fault Tolerance Consequences of Deduplication
abstract
Modern storage systems are employing data deduplication with increasing frequency. Often the storage systems on which these techniques are deployed contain important data, and utilize fault-tolerant hardware and software to improve the reliability of the system and reduce data loss. We suggest that data deduplication introduces inter-file relationships that may have a negative impact on the fault tolerance of such systems by creating dependencies that can increase the severity of data loss events. We present a framework composed of data analysis methods and a model of data deduplication that is useful in studying the reliability impact of data deduplication. The framework is useful for determining a deduplication strategy that is estimated to satisfy a set of reliability constraints supplied by a user.
Eric William Davis, William H. Sanders, Pin Zhou, NagaPramod Mandagere, Sandeep Uttamchandani, Mark L. Yakushev
SRDS3
2010 GAUL: Gestalt Analysis of Unstructured Logs for Diagnosing Recurring Problems in Large Enterprise Storage Systems
abstract
We present GAUL, a system to automate the whole log comparison between a new problem and the ones diagnosed in the past to identify recurring problems. GAUL uses a fuzzy match algorithm based on the contextual overlap between log lines and efficiently implements this using scalable index/search. The accuracy and efficiency of the comparison is further improved by leveraging problem set information and noise tolerance techniques. We evaluate GAUL using 4339 customer problems that occurred in all field deployments of an enterprise storage system over the course of a year. Our results show that with human-filtered logs, GAUL can identify the correct problem set 66% of the time among the top10 matches, which is 15% more accurate than the VSM system that uses cosine similarity and 19% more accurate than the ERRCMP system that uses error codes for log comparison. With unfiltered logs, the top10 match accuracy of GAUL is 40%, which is 22% more accurate than VSM and 26% more accurate than ERRCMP.
Pin Zhou, Binny S. Gill, Wendy Belluomini, Avani Wildani
SRDS1
2009 Evaluating the impact of Undetected Disk Errors in RAID systems
abstract
Despite the reliability of modern disks, recent studies have made it clear that a new class of faults, UndetectedDisk Errors (UDEs) also known as silent data corruption events, become a real challenge as storage capacity scales. While RAID systems have proven effective in protecting data from traditional disk failures, silent data corruption events remain a significant problem unaddressed by RAID. We present a fault model for UDEs, and a hybrid framework for simulating UDEs in large-scale systems. The framework combines a multi-resolution discrete event simulator with numerical solvers. Our implementation enables us to model arbitrary storage systems and workloads and estimate the rate of undetected data corruptions. We present results for several systems and workloads, from gigascale to petascale. These results indicate that corruption from UDEs is a significant problem in the absence of protection schemes and that such schemes dramatically decrease the rate of undetected data corruption.
Eric William Davis, Wendy Belluomini, Veera Deenadhayalan, James Lee Hafner, K. K. Rao, Pin Zhou
DSN6
2007 HARD: Hardware-Assisted Lockset-based Race Detection
abstract
The emergence of multicore architectures will lead to an increase in the use of multithreaded applications that are prone to synchronization bugs, such as data races. Software solutions for detecting data races generally incur large overheads. Hardware support for race detection can significantly reduce that overhead. However, all existing hardware proposals for race detection are based on the happens-before algorithm which is sensitive to thread interleaving and cannot detect races that are not exposed during the monitored run. The lockset algorithm addresses this limitation. Unfortunately, due to the challenging issues such as storing the lockset information and performing complex set operations, so far it has been implemented only in software with 10-30 times performance hit. This paper proposes the first hardware implementation (called HARD) of the lockset algorithm to exploit the race detection capability of this algorithm with minimal overhead. HARD efficiently stores lock sets in hardware bloom filters and converts the expensive set operations into fast bitwise logic operations with negligible overhead. We evaluate HARD using six SPLASH-2 applications with 60 randomly injected bugs. Our results show that HARD can detect 54 out of 60 tested bugs, 20% more than happens-before, with only 0.1-2.6% of execution overhead. We also show our hardware design is cost-effective by comparing with the ideal lockset implementation, which would require a large amount of hardware resources
Pin Zhou, Radu Teodorescu
HPCA1
2006 PathExpander: Architectural Support for Increasing the Path Coverage of Dynamic Bug Detection
abstract
Dynamic software bug detection tools are commonly used because they leverage run-time information. However, they suffer from a fundamental limitation, the path coverage problem: they detect bugs only in taken paths but not in non-taken paths. In other words, they require bugs to be exposed in the monitored execution. This paper makes one of the first attempts to address this fundamental problem with a simple hardware extension. First, we propose PathExpander, a novel design that dynamically increases the code path coverage of dynamic bug detection tools with no programmer involvement. As a program executes, PathExpander selectively executes non-taken paths in a sandbox without side effects. This enables dynamic bug detection tools to find bugs that are present in these non-taken paths and would otherwise not be detected. Second, we propose a simple hardware extension to control the huge overhead in its pure software implementation to a moderate level. To further minimize overhead, PathExpander provides an optimization option to execute non-taken paths on idle cores in chip multi-processor architectures that support speculative execution. To evaluate PathExpander, we use three dynamic bug detection methods: dynamic software-only checker (CCured), dynamic hardware-assisted checker (iWatcher) and assertions; and conduct side-by-side comparison with PathExpander's counterpart software implementation. Our experiments with seven buggy programs using general inputs that do not expose the tested bugs show that PathExpander is able to help these tools detect 21 (out of 38) tested bugs that are otherwise missed. This is because PathExpander increases the code coverage of each test case from 40% to 65% on average, based on the branch coverage metric. When applications are tested with multiple inputs, the cumulative coverage also significantly improves by 19%. We also show that PathExpander introduces modest false positives (4 on average) and overhead (less than 9.9%). The 3-4 orders of magnitude lower overhead compared with pure-software implementation further justifies the hardware design in PathExpander
Shan Lu 0001, Pin Zhou, Wei Liu 0014, Yuanyuan Zhou 0001, Josep Torrellas
MICRO2
2005 Efficient and flexible architectural support for dynamic monitoring
abstract
Recent impressive performance improvements in computer architecture have not led to significant gains in the case of debugging. Software debugging often relies on inserting run-time software checks. In many cases, however, it is hard to find the root cause of a bug. Moreover, program execution typically slows down significantly, often by 10--100 times.To address this problem, this paper introduces the intelligent watcher (iWatcher) , a novel architectural scheme to monitor dynamic execution automatically, flexibly, and with minimal overhead. iWatcher associates program-specified monitoring functions with memory locations. When any such location is accessed, the monitoring function is automatically triggered with low overhead. To further reduce overhead and support rollback, iWatcher can optionally leverage thread-level speculation (TLS). The iWatcher architecture can be used to detect various bugs, including buffer overflow, accessing freed locations, memory leaks, stack-smashing and value-invariant violations. To evaluate iWatcher, we use seven applications with various real and injected bugs. Our results show that iWatcher detects many more software bugs than Valgrind, a well-known open-source bug detector. Moreover, iWatcher only induces a 0.1--179% execution overhead, which is orders of magnitude less than Valgrind. Our sensitivity study shows that even with 20% of the dynamic loads monitored in a program, iWatcher adds only 72--182% overhead. Finally, TLS is effective at reducing overheads for programs with substantial monitoring.
Yuanyuan Zhou 0001, Pin Zhou, Feng Qin 0003, Wei Liu 0014, Josep Torrellas
ACM Trans. Archit. Code Optim.2
2004 Performance directed energy management for main memory and disks
abstract
Much research has been conducted on energy management for memory and disks. Most studies use control algorithms that dynamically transition devices to low power modes after they are idle for a certain threshold period of time. The control algorithms used in the past have two major limitations. First, they require painstaking, application-dependent manual tuning of their thresholds to achieve energy savings without significantly degrading performance. Second, they do not provide performance guarantees. In one case, they slowed down an application by 835.This paper addresses these two limitations for both memory and disks, making memory/disk energy-saving schemes practical enough to use in real systems. Specifically, we make three contributions: (1) We propose a technique that provides a performance guarantee for control algorithms. We show that our method works well for all tested cases, even with previously proposed algorithms that are not performance-aware. (2) We propose a new control algorithm, Performance-directed Dynamic (PD), that dynamically adjusts its thresholds periodically, based on available slack and recent workload characteristics. For memory, PD consumes the least energy, when compared to previous hand-tuned algorithms combined with a performance guarantee. However, for disks, PD is too complex and its self-tuning is unable to beat previous hand-tuned algorithms. (3) To improve on PD, we propose a simple, optimization-based, threshold-free control algorithm, Performance-directed Static (PS). PS periodically assigns a static configuration by solving an optimization problem that incorporates information about the available slack and recent traffic variability to different chips/disks. We find that PS is the best or close to the best across all performanceguaranteed disk algorithms, including hand-tuned versions.
Zhenmin Li, Francis M. David, Pin Zhou, Yuanyuan Zhou 0001, Sarita V. Adve
ASPLOS4
2004 Dynamic tracking of page miss ratio curve for memory management
abstract
Memory can be efficiently utilized if the dynamic memory demands of applications can be determined and analyzed at run-time. The page miss ratio curve(MRC), i.e. page miss rate vs. memory size curve, is a good performance-directed metric to serve this purpose. However, dynamically tracking MRC at run time is challenging in systems with virtual memory because not every memory reference passes through the operating system (OS).This paper proposes two methods to dynamically track MRC of applications at run time. The first method is using a hardware MRC monitor that can track MRC at fine time granularity. Our simulation results show that this monitor has negligible performance and energy overheads. The second method is an OS-only implementation that can track MRC at coarse time granularity. Our implementation results on Linux show that it adds only 7--10% overhead.We have also used the dynamic MRC to guide both memory allocation for multiprogramming systems and memory energy management. Our real system experiments on Linux with applications including Apache Web Server show that the MRC-directed memory allocation can speed up the applications' execution/response time by up to a factor of 5.86 and reduce the number of page faults by up to 63.1%. Our execution-driven simulation results with SPEC2000 benchmarks show that the MRC-directed memory energy management can improve the Energy * Delay metric by 27--58% over previously proposed static and dynamic schemes.
Pin Zhou, Vivek Pandey, Jagadeesan Sundaresan, Anand Raghuraman
ASPLOS1
2004 iWatcher: Efficient Architectural Support for Software Debugging
abstract
Recent impressive performance improvements in computer architecture have not led to significant gains in ease of debugging. Software debugging often relies on inserting run-time software checks. In many cases, however, it is hard to find the root cause of a bug. Moreover, program execution typically slows down significantly, often by 10-100 times. To address this problem, this paper introduces the Intelligent Watcher (iWatcher), novel architectural support to monitor dynamic execution with minimal overhead, automatically, and flexibly. iWatcher associates program-specified monitoring functions with memory locations. When any such location is accessed, the monitoring function is automatically triggered with low overhead. To further reduce overhead and support rollback, iWatcher can leverage Thread-Level Speculation (TLS). To test iWatcher, we use applications with various bugs. Our results show that iWatcher detects many more software bugs than Valgrind, a well-known open-source bug detector. Moreover, iWatcher only induces a 4-80% execution overhead, which is orders of magnitude less than Valgrind. Even with 20% of the dynamic loads monitored in a program, iWatcher adds only 66-174% overhead. Finally, TLS is effective at reducing overheads for programs with substantial monitoring.
Pin Zhou, Feng Qin 0003, Wei Liu 0014, Yuanyuan Zhou 0001, Josep Torrellas
ISCA1
2004 AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants
abstract
This paper makes two contributions to architectural support for software debugging. First, it proposes a novel statistics-based, on-the-fly bug detection method called PC-based invariant detection. The idea is based on the observation that, in most programs, a given memory location is typically accessed by only a few instructions. Therefore, by capturing the invariant of the set of PCs that normally access a given variable, we can detect accesses by outlier instructions, which are often caused by memory corruption, buffer overflow, stack smashing or other memory-related bugs. Since this method is statistics-based, it can detect bugs that do not violate any programming rules and that, therefore, are likely to be missed by many existing tools. The second contribution is a novel architectural extension called the Check Look-aside Buffer (CLB). The CLB uses a Bloom filter to reduce monitoring overheads in the recently-proposed iWatcher architectural framework for software debugging. The CLB significantly reduces the overhead of PC-based invariant debugging. We demonstrate a PC-based invariant detection tool called AccMon that leverages architectural, run-time system and compiler support. Our experimental results with seven buggy applications and a total of ten bugs, show that AccMon can detect all ten bugs with few false alarms (0 for five applications and 2-8 for two applications) and with low overhead (0.24-2.88 times). Several existing tools evaluated, including Purify, CCured and value-based invariant detection tools, fail to detect some of the bugs. In addition, Purify's overhead is one order of magnitude higher than AccMon's. Finally, we show that the CLB is very effective at reducing overhead.
Pin Zhou, Wei Liu 0014, Long Fei, Shan Lu 0001, Feng Qin 0003, Yuanyuan Zhou 0001, Samuel P. Midkiff, Josep Torrellas
MICRO1
2003 Fragmentation based D-MAC Protocol in Wireless Ad Hoc Network
abstract
Directional antennas have been recently suggested to be used in wireless ad hoc networks to reduce interference outside the antenna direction and to increase spatial reuse of wireless channels. Several MAC schemes that exploit directional antennas have been proposed, among which the two D-MAC schemes proposed in [5] may have received the most attention. In this paper, we carefully analyze how the second D-MAC scheme proposed in [5] operates in the hidden/exposed terminal scenarios and show that it not only introduces new collisions, but also reduces spatial reuse to some extent. To remedy these problems, we propose an enhanced version of the second D-MAC scheme, called fragmentation based D-MAC (FD-MAC), to reduce collision, to achieve better spatial reuse (than the second D-MAC scheme), and to improve fairness. Through ns-2 simulation, we demonstrate the effectiveness of FD-MAC, and in particular, we show that in complex scenarios such as multihop forwarding and mesh topologies, FD-MAC significantly outperforms DCF with RTS/CTS and the two D-MAC schemes, both in terms of throughput and fairness.
Zhenmin Li, Pin Zhou, Jennifer C. Hou
ICDCS2