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.

Paruj Ratanaworabhan

dblp:44/3427 · DBLP profile ↗
← Back
11ranked-venue papers
6as first author
0since 2021 · last 2012
—ORCID · none

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

Systems, architecture and hardware · 5 · 3 first-authorDatabases, data management, data science and information retrieval · 4 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 4 · 1 first-authorSecurity and privacy · 1 · 1 first-authorSoftware engineering, systems software and programming languages · 1 · 1 first-author

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.

Software engineering, system software, and programming languages
3 papers
Concurrent programming · 91% Program analysis · 9%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Storage systems · 65% Performance modeling and evaluation · 16% Processor architecture and microarchitecture · 12%
Network and information security
1 paper
Systems and software security · 100%

Topics — the 15 heaviest of 16, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Concurrent programming › concurrency bugs
data races
0.112012
Efficient Runtime Detection and Toleration of Asymmetric Races · IEEE Trans. Computers 2012
Systems and software security › exploitation › injection attacks
code injection attack
0.112009
NOZZLE: A Defense Against Heap-spraying Code Injection Attacks · USENIX Security Symposium 2009
Systems and software security
exploitation
0.112009
NOZZLE: A Defense Against Heap-spraying Code Injection Attacks · USENIX Security Symposium 2009
Systems and software security
memory safety
0.112009
NOZZLE: A Defense Against Heap-spraying Code Injection Attacks · USENIX Security Symposium 2009
Concurrent programming
concurrency bugs
0.112009
Detecting and tolerating asymmetric races · PPoPP 2009
Concurrent programming › concurrency bug detection
data race detection
0.112009
Detecting and tolerating asymmetric races · PPoPP 2009
Concurrent programming › concurrency bugs
data race tolerance
0.112009
Detecting and tolerating asymmetric races · PPoPP 2009
Storage systems
data compression
0.112009
FPC: A High-Speed Compressor for Double-Precision Floating-Point Data · IEEE Trans. Computers 2009
Storage systems › data compression
floating-point compression
0.112009
FPC: A High-Speed Compressor for Double-Precision Floating-Point Data · IEEE Trans. Computers 2009
Storage systems › data compression
lossless compression
0.112009
FPC: A High-Speed Compressor for Double-Precision Floating-Point Data · IEEE Trans. Computers 2009
Program analysis
trace compression
0.112005
The VPC Trace-Compression Algorithms · IEEE Trans. Computers 2005
Performance modeling and evaluation
trace compression
0.112005
The VPC Trace-Compression Algorithms · IEEE Trans. Computers 2005
Processor architecture and microarchitecture
value prediction
0.112005
The VPC Trace-Compression Algorithms · IEEE Trans. Computers 2005
High-performance computing › data transfer
data transfer optimization
0.012009
FPC: A High-Speed Compressor for Double-Precision Floating-Point Data · IEEE Trans. Computers 2009
Performance modeling and evaluation
trace analysis
0.012005
The VPC Trace-Compression Algorithms · IEEE Trans. Computers 2005

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

oracle analysis · 0.1critical section replication · 0.1value prediction · 0.1compression algorithm design · 0.1runtime monitoring · 0.1prediction-based compression · 0.1local replication · 0.1dynamic instrumentation · 0.1cache-aware design · 0.1
YearPublicationVenuePosition
2012 Hardware support for enforcing isolation in lock-based parallel programs
abstract
When lock-based parallel programs execute on conventional multi-core hardware, faulty software can cause hard-to-debug race conditions in critical sections that violate the contract between locks and their protected shared variables. This paper proposes new hardware support for enforcing isolation of critical section execution. It can detect and tolerate races, allowing programs to execute race-free. Our hardware scheme targets the existing large code base of locked-based parallel programs written in type unsafe languages such as C and C++. Our approach works directly on unmodified executables. An evaluation of 13 programs from the SPLASH2 and PARSEC suites shows that the cost of the additional hardware and the impact on the overall execution time is minimal for these applications. Our mechanism is complementary to hardware transactional memory in that it uses similar structures but focuses on enhancing the reliability of existing lock-based programs.
Paruj Ratanaworabhan, Martin Burtscher, Darko Kirovski, Benjamin G. Zorn
ICS1
2012 Efficient Runtime Detection and Toleration of Asymmetric Races
abstract
We introduce ToleRace, a runtime system that allows programs to detect and even tolerate asymmetric data races. Asymmetric races are race conditions where one thread correctly acquires and releases a lock for a shared variable while another thread improperly accesses the same variable. ToleRace provides approximate isolation in the critical sections of lock-based parallel programs by creating a local copy of each shared variable when entering a critical section, operating on the local copies, and propagating the appropriate copies upon leaving the critical section. We start by characterizing all possible interleavings that can cause races and precisely describe the effect of ToleRace in each case. Then, we study the theoretical aspects of an oracle that knows exactly what type of interleaving has occurred. Finally, we present software implementations of ToleRace and evaluate them on multithreaded applications from the SPLASH2 and PARSEC suites.
Paruj Ratanaworabhan, Martin Burtscher, Darko Kirovski, Benjamin G. Zorn, Rahul Nagpal, Karthik Pattabiraman
IEEE Trans. Computers1
2010 gFPC: A Self-Tuning Compression Algorithm
abstract
This paper presents and evaluates gFPC, a self-tuning implementation of the FPC compression algorithm for double-precision floating-point data. gFPC uses a genetic algorithm to repeatedly reconfigure four hash-function parameters, which enables it to adapt to changes in the data during compression. Self tuning increases the harmonic-mean compression ratio on thirteen scientific datasets from 22% to 28% with sixteen kilobyte hash tables and from 36% to 43% with one megabyte hash tables. Individual datasets compress up to 1.72 times better. The self-tuning overhead reduces the compression speed by a factor of four but makes decompression faster because of the higher compression ratio. On a 2.93 GHz Xeon processor, gFPC compresses at a throughput of almost one gigabit per second and decompresses at over seven gigabits per second.
Martin Burtscher, Paruj Ratanaworabhan
DCC2
2009 pFPC: A Parallel Compressor for Floating-Point Data
abstract
This paper describes and evaluates pFPC, a parallel implementation of the lossless FPC compression algorithm for 64-bit floating-point data. pFPC can trade off compression ratio for throughput. For example, on a 4-core 3 GHz Xeon system, it compresses our nine datasets by 18% at a throughput of 1.36 gigabytes per second and by 41% at a throughput of 570 megabytes per second. Decompression is even faster. Our experiments show that the thread count should match or be a small multiple of the data's dimensionality to maximize the compression ratio and the chunk size should be at least equal to the system's page size to maximize the throughput.
Martin Burtscher, Paruj Ratanaworabhan
DCC2
2009 Detecting and tolerating asymmetric races
abstract
Because data races represent a hard-to-manage class of errors in concurrent programs, numerous approaches to detect them have been proposed and evaluated. We specifically consider asymmetric races, a subclass of all race conditions, where a programmer’s thread correctly acquires and releases a lock for a given variable, while another thread causes a race by improperly accessing this variable. We introduce ToleRace, a runtime system that allows programs to either tolerate or detect asymmetric races based on local replication of shared state. ToleRace provides an approximation of atomicity in critical sections by creating local copies of shared variables when a critical section is entered and propagating the appropriate copy when the critical section is exited. We characterize the possible interleavings that can cause races and precisely describe the effect of ToleRace in each case. We study the theoretical aspects of an oracle that knows exactly what type of interleaving has occurred. Then, we present a software implementation of ToleRace on top of a dynamic instrumentation tool. We evaluate our implementation on multithreaded applications from the SPLASH2 and PARSEC suites and show that its overhead is acceptable, i.e., a factor of two on average.
Paruj Ratanaworabhan, Martin Burtscher, Darko Kirovski, Benjamin G. Zorn, Rahul Nagpal, Karthik Pattabiraman
PPoPP1
2009 NOZZLE: A Defense Against Heap-spraying Code Injection Attacks
Paruj Ratanaworabhan, Benjamin Livshits, Benjamin G. Zorn
USENIX Security Symposium1
2009 FPC: A High-Speed Compressor for Double-Precision Floating-Point Data
abstract
Many scientific programs exchange large quantities of double-precision data between processing nodes and with mass storage devices. Data compression can reduce the number of bytes that need to be transferred and stored. However, data compression is only likely to be employed in high-end computing environments if it does not impede the throughput. This paper describes and evaluates FPC, a fast lossless compression algorithm for linear streams of 64-bit floating-point data. FPC works well on hard-to-compress scientific data sets and meets the throughput demands of high-performance systems. A comparison with five lossless compression schemes, BZIP2, DFCM, FSD, GZIP, and PLMI, on 4 architectures and 13 data sets shows that FPC compresses and decompresses one to two orders of magnitude faster than the other algorithms at the same geometric-mean compression ratio. Moreover, FPC provides a guaranteed throughput as long as the prediction tables fit into the L1 data cache. For example, on a 1.6-GHz Itanium 2 server, the throughput is 670 Mbytes/s regardless of what data are being compressed.
Martin Burtscher, Paruj Ratanaworabhan
IEEE Trans. Computers2
2008 Program Phase Detection based on Critical Basic Block Transitions
abstract
Many programs go through phases as they execute. Knowing where these phases begin and end can be beneficial. For example, adaptive architectures can exploit such information to lower their power consumption without much loss in performance. Architectural simulations can benefit from phase information by simulating only a small interval of each program phase, which significantly reduces the simulation time while still yielding results that are representative of complete simulations. This paper presents a lightweight profile-based phase detection technique that marks each phase change boundary in the program's binary at the basic block level with a critical basic block transition (CBBT). It is independent of execution windows and does not explicitly employ the notion of threshold to make a phase change decision. We evaluate the effectiveness of CBBTs for reconfiguring the LI data cache size and for guiding architectural simulations. Our CBBT method is as effective at dynamically reducing the L1 data cache size as idealized cache reconfiguration schemes are. Using CBBTs to statically determine simulation intervals yields as low a CPI error as the well-known SimPoint method does. In addition, experimental results indicate the CBBTs' effectiveness in both the self-trained and cross-trained inputs, demonstrating the CBBTs' stability across different program inputs.
Paruj Ratanaworabhan, Martin Burtscher
ISPASS1
2007 High Throughput Compression of Double-Precision Floating-Point Data
abstract
This paper describes FPC, a lossless compression algorithm for linear streams of 64-bit floating-point data. FPC is designed to compress well while at the same time meeting the high throughput demands of scientific computing environments. On our thirteen datasets, it achieves a substantially higher average compression ratio than BZIP2, DFCM, FSD, GZIP, and PLML At comparable compression ratios, it compresses and decompresses 8 to 300 times faster than the other five algorithms
Martin Burtscher, Paruj Ratanaworabhan
DCC2
2006 Fast Lossless Compression of Scientific Floating-Point Data
abstract
In scientific computing environments, large amounts of floating-point data often need to be transferred between computers as well as to and from storage devices. Compression can reduce the number of bits that need to be transferred and stored. However, the run-time overhead due to compression may be undesirable in high-performance settings where short communication latencies and high bandwidths are essential. This paper describes and evaluates a new compression algorithm that is tailored to such environments. It typically compresses numeric floating-point values better and faster than other algorithms do. On our data sets, it achieves compression ratios between 1.2 and 4.2 as well as compression and decompression throughputs between 2.8 and 5.9 million 64-bit double-precision numbers per second on a 3 GHz Pentium 4 machine.
Paruj Ratanaworabhan, Jian Ke, Martin Burtscher
DCC1
2005 The VPC Trace-Compression Algorithms
abstract
Execution traces, such as are used to study and analyze program behavior, are often so large that they need to be stored in compressed form. This paper describes the design and implementation of four value prediction-based compression (VPC) algorithms for traces that record the PC as well as other information about executed instructions. VPC1 directly compresses traces using value predictors, VPC2 adds a second compression stage, and VPC3 utilizes value predictors to convert traces into streams that can be compressed better and more quickly than the original traces. VPC4 introduces further algorithmic enhancements and is automatically synthesized. Of the 55 SPECcpu2000 traces we evaluate, VPC4 compresses 36 better, decompresses 26 faster, and compresses 53 faster than BZIP2, MACHE, PDATS II, SBC, and SEQUITUR. It delivers the highest geometric-mean compression rate, decompression speed, and compression speed because of the predictors' simplicity and their ability to exploit local value locality. Most other compression algorithms can only exploit global value locality.
Martin Burtscher, Ilya Ganusov, Sandra J. Jackson, Jian Ke, Paruj Ratanaworabhan, Nana B. Sam
IEEE Trans. Computers5