Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Christina M. Patrick is active.

Publication


Featured researches published by Christina M. Patrick.


international conference on cluster computing | 2011

Improving I/O Forwarding Throughput with Data Compression

Benjamin Welton; Dries Kimpe; Jason Cope; Christina M. Patrick; Kamil Iskra; Robert B. Ross

While network bandwidth is steadily increasing, it is doing so at a much slower rate than the corresponding increase in CPU performance. This trend has widened the gap between CPU and network speed. In this paper, we investigate improvements to I/O performance by exploiting this gap. We harness idle CPU resources to compress network traffic, reducing the amount of data transferred over the network and increasing effective network bandwidth. We created a set of compression services within the I/O Forwarding Scalability Layer. These services transparently compress and decompress data as it is transferred over the network. We studied the effect of the compression services on a variety of data sets and conducted experiments on a high-performance computing cluster.


Operating Systems Review | 2008

Comparative evaluation of overlap strategies with study of I/O overlap in MPI-IO

Christina M. Patrick; Seung Woo Son; Mahmut T. Kandemir

Many scientific applications use parallel I/O to meet the low latency and high bandwidth I/O requirement. Among many available parallel I/O operations, collective I/O is one of the most popular methods when the storage layouts and access patterns of data do not match. The implementation of collective I/O typically involves disk I/O operations followed by interprocessor communications. Also, in many I/O-intensive applications, parallel I/O operations are usually followed by parallel computations. This paper presents a comparative study of different overlap strategies in parallel applications. We have experimented with four different overlap strategies 1) Overlapping I/O and communication; 2) Overlapping I/O and computation; 3) Overlapping computation and communication; and 4) Overlapping I/O, communication, and computation. All experiments have been conducted on a Linux Cluster and the performance results obtained are very encouraging. On an average, we have enhanced the performance of a generic collective read call by 38%, the MxM benchmark by 26%, and the FFT benchmark by 34%.


ieee international conference on high performance computing data and analytics | 2009

Dynamic storage cache allocation in multi-server architectures

Ramya Prabhakar; Shekhar Srikantaiah; Christina M. Patrick; Mahmut T. Kandemir

We introduce a dynamic and efficient shared cache management scheme, called Maxperf, that manages the aggregate cache space in multi-server storage architectures such that the service level objectives (SLOs) of concurrently executing applications are satisfied and any spare cache capacity is proportionately allocated according to the marginal gains of the applications to maximize performance. We use a combination of Nevilles algorithm and linear-programming-model to discover the required storage cache partition size, on each server, for every application accessing that server. Experimental results show that our algorithm enforces partitions to provide stronger isolation to applications, meets application level SLOs even in the presence of dynamically changing storage cache requirements, and improves I/O latency of individual applications as well as the overall I/O latency significantly compared to two alternate storage cache management schemes, and a state-of-the-art single server storage cache management scheme extended to multi-server architecture.


high performance distributed computing | 2010

Cashing in on hints for better prefetching and caching in PVFS and MPI-IO

Christina M. Patrick; Mahmut T. Kandemir; Mustafa Karaköy; Seung Woo Son; Alok N. Choudhary

In this work, we propose, implement and test a novel approach to the management of parallel I/O in high-performance computing. Our proposed approach is built upon three complementary ideas: (i) allowing users to place hints into the application code indicating high-level data access patterns, (ii) enabling an optimizing compiler to process these hints and develop I/O optimization strategies, and (iii) enhancing the I/O stack to accept these optimizations and process them across the different layers in the stack. We describe a general hint processing framework that accommodates this approach and demonstrate its potential by applying it to two sample problems: (i) shared storage cache management and (ii) I/O prefetching. In the former, our approach decides, at each program point of interest, the ideal set of data blocks to keep in shared storage caches in the I/O stack, and in the latter, the high-level data access pattern is propagated from application layer to the parallel file system layer for prefetching data from the storage subsystem. Our approach is designed to complement and work synergistically with the MPI-IO and PVFS frameworks and exploits the characteristics of applications written using these software. We tested our approach using both synthetic data access patterns and disk I/O intensive application programs. The results collected indicate that the proposed approach improves over existing storage caching and I/O prefetching schemes by 28% and 66%, respectively.


cluster computing and the grid | 2009

MPISec I/O: Providing Data Confidentiality in MPI-I/O

Ramya Prabhakar; Christina M. Patrick; Mahmut T. Kandemir

Applications performing scientific computations or processing streaming media benefit from parallel I/O significantly, as they operate on large data sets that require large I/O. MPI-I/O is a commonly used library interface in parallel applications to perform I/O efficiently. Optimizations like collective-I/O embedded in MPI-I/O allow multiple processes executing in parallel to perform I/O by merging requests of other processes and sharing them later. In such a scenario, preserving confidentiality of disk-resident data from unauthorized accesses by processes without significantly impacting performance of the application is a challenging task. In this paper, we evaluate the impact of ensuring data-confidentiality in MPI-I/O on the performance of parallel applications and provide an enhanced interface, called MPISec I/O, which brings an average overhead of only 5.77% over MPI-I/O in the best case, and about 7.82% in the average case.


EuroMPI'10 Proceedings of the 17th European MPI users' group meeting conference on Recent advances in the message passing interface | 2010

Automated tracing of I/O stack

Seong Jo Kim; Yuanrui Zhang; Seung Woo Son; Ramya Prabhakar; Mahmut T. Kandemir; Christina M. Patrick; Wei-keng Liao; Alok N. Choudhary

Efficient execution of parallel scientific applications requires high-performance storage systems designed to meet their I/O requirements. Most high-performance I/O intensive applications access multiple layers of the storage stack during their disk operations. A typical I/O request from these applications may include accesses to high-level libraries such as MPI I/O, executing on clustered parallel file systems like PVFS2, which are in turn supported by native file systems like Linux. In order to design and implement parallel applications that exercise this I/O stack, it is important to understand the flow of I/O calls through the entire storage system. Such understanding helps in identifying the potential performance and power bottlenecks in different layers of the storage hierarchy. To trace the execution of the I/O calls and to understand the complex interactions of multiple user-libraries and file systems, we propose an automatic code instrumentation technique, which enables us to collect detailed statistics of the I/O stack. Our proposed I/O tracing tool traces the flow of I/O calls across different layers of an I/O stack, and can be configured to work with different file systems and user-libraries. It also analyzes the collected information to generate output in terms of different user-specified metrics of interest.


international conference on cluster computing | 2009

Improving I/O performance using soft-QoS-based dynamic storage cache partitioning

Christina M. Patrick; Rajat Garg; Seung Woo Son; Mahmut T. Kandemir

Resources are often shared to improve resource utilization and reduce costs. However, not all resources exhibit good performance when shared among multiple applications. The work presented here focuses on effectively managing a shared storage cache. To provide differentiated services to applications exercising a storage cache, we propose a novel scheme that uses curve fitting to dynamically partition the storage cache. Our scheme quickly adapts to application execution, showing increasing accuracy over time. It satisfies application QoS if it is possible to do so, maximizes the individual hit rates of the applications utilizing the cache, and consequently increases the overall storage cache hit rate. Through extensive trace-driven simulation, we show that our storage cache partitioning strategy not only effectively insulates multiple applications from one another but also provides QoS guarantees to applications over a long period of execution time. Using our partitioning strategy, we were able to increase the individual storage cache hit rates of the applications by 67% and 53% over the no-partitioning and equal-partitioning schemes, respectively. Additionally, we improved the overall cache hit rates of the entire storage system by 11% and 12.9% over the no-partitioning and equal-partitioning schemes, respectively, while meeting the QoS goals all the time.


international conference on supercomputing | 2010

Adaptive multi-level cache allocation in distributed storage architectures

Ramya Prabhakar; Shekhar Srikantaiah; Mahmut T. Kandemir; Christina M. Patrick

Increasing complexity of large-scale applications and continuous increases in data set sizes of such applications combined with slow improvements in disk access latencies has resulted in I/O becoming a performance bottleneck. While there are several ways of improving I/O access latencies of dataintensive applications, one of the promising approaches has been using different layers of the I/O subsystem to cache recently and/or frequently used data so that the number of I/O requests accessing the disk is reduced. These different layers of caches across the storage hierarchy introduce the need for efficient cache management schemes to derive maximum performance benefits. Several state-of-the-art multi-level storage cache management schemes focus on optimizing aggregate hit rate or overall I/O latency, while being agnostic to Service Level Objectives (SLOs). Also, most of the existing works focus on different cache replacement algorithms for managing storage caches and discuss different exclusive caching techniques in the context of multilevel cache hierarchy. However, the orthogonal problem of storage cache space allocation to multiple, simultaneously-running applications in a multi-level hierarchy of storage caches with multiple storage servers has remained an open research problem. In this work, using a combination of per-application latency model and a linear programming model, we proportion storage caches dynamically among multiple concurrently-executing applications across the different levels of the storage hierarchy and across multiple servers to provide isolation to applications while satisfying the application level SLOs. Further, our algorithm improves the overall system performance significantly.


acm sigplan symposium on principles and practice of parallel programming | 2008

Enhancing the performance of MPI-IO applications by overlapping I/O, computation and communication

Christina M. Patrick; Seung Woo Son; Mahmut T. Kandemir

Many scientific applications process significant amounts of diskresident data. In particular, recently, applications in science, engineering, in-situ processing and others have grown by orders of magnitude in complexity, scale and the dataset sizes that they produce, manipulate, and consume. While memory capacities of parallel machines are continuously increasing, storage requirements of parallel applications that use these machines are increasing at a much faster rate. As a result, storage system performance is continuing to be one of the most important factors in determining overall application performance[3]. Many parallel I/O operations, including collective I/O, involve both disk I/O and interprocessor communication. In addition, in many I/O-intensive applications, parallel I/O operations are usually followed by parallel computations. While in a large-scale parallel application I/O, communication and computation are individually performed in parallel by multiple processors, they are not usually overlapped with each other. This paper studies several techniques that can be used for overlapping I/O, computation and communication in parallel scientific applications written using MPI and MPI-IO[4]. Our specific focus is on collective I/O operations that are followed by parallel computations. Targeting this, we present and experimentally evaluate the following overlap strategies: 1) Overlapping I/O and communication; 2) Overlapping I/O and computation; 3) Overlapping computation and communication; and 4) Overlapping I/O, communication, and computation. We tested the effectiveness of these schemes using a generic collective read operation and an out-of-core benchmark: MxM (matrix multiplication). Our experimental results show that all these techniques are effective, and bring performance improvements, ranging from 6% to 92%, using different buffer sizes and different number of processors.


Fourth International IEEE Security in Storage Workshop | 2007

Securing Disk-Resident Data through Application Level Encryption

Ramya Prabhakar; Seung Woo Son; Christina M. Patrick; Sri Hari Krishna Narayanan; Mahmut T. Kandemir

Confidentiality of disk-resident data is critical for end-to-end security of storage systems. While there are several widely used mechanisms for ensuring confidentiality of data in transit, techniques for providing confidentiality when data is stored in a disk subsystem are relatively new. As opposed to prior file system based approaches to this problem, this paper proposes an application-level solution, which allows encryption of select data blocks. We make three major contributions: 1) quantifying the tradeoffs between confidentiality and performance; 2) evaluating a reuse distance oriented approach for selective encryption of disk-resident data; and 3) proposing a profile-guided approach that approximates the behavior of the reuse distance oriented approach. The experiments with five applications that manipulate disk-resident data sets clearly show that our approach enables us to study the confidentiality/performance tradeoffs. Using our approach it is possible to reduce the performance degradation due to encryption/decryption overheads on an average by 46.5%, when DES is used as the encryption mechanism, and the same by 30.63%, when AES is used as the encryption mechanism.

Collaboration


Dive into the Christina M. Patrick's collaboration.

Top Co-Authors

Avatar

Mahmut T. Kandemir

Pennsylvania State University

View shared research outputs
Top Co-Authors

Avatar

Seung Woo Son

Argonne National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Ramya Prabhakar

Pennsylvania State University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Nicholas Voshell

Pennsylvania State University

View shared research outputs
Top Co-Authors

Avatar

Rajat Garg

Pennsylvania State University

View shared research outputs
Top Co-Authors

Avatar

Shekhar Srikantaiah

Pennsylvania State University

View shared research outputs
Top Co-Authors

Avatar

Benjamin Welton

Argonne National Laboratory

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jason Cope

Argonne National Laboratory

View shared research outputs
Researchain Logo
Decentralizing Knowledge