Now showing items 157-176 of 245

    • Pacer: Taking the Guesswork Out of Live Migrations in Hybrid Cloud Computing 

      Zheng, Jie; Ng, T. S. Eugene; Sripanidkulchai, Kunwadee; Liu, Zhaolei (2013-10-01)
      Hybrid cloud computing, where private and public cloud resources are combined and applications can migrate freely, ushers in unprecedented flexibility for businesses. To unleash the benefits, commercial products already enable the live migration of full virtual machines (CPU, memory, disk, network) between distant cloud datacenters. Unfortunately, ...
    • Parallel Flow-Sensitive Points-to Analysis 

      Zhao, Jisheng; Burke, Michael G.; Sarkar, Vivek (2017-02-01)
      Points-to analysis is a fundamental requirement for many program analyses, optimizations, and debugging/verification tools. However, finding an effective balance between performance, scalability and precision in points-to analysis remains a major challenge. Many flow-sensitive algorithms achieve a desirable level of precision, but are impractical for ...
    • Performance Characterization of the FreeBSD Network Stack 

      Kim, Hyong-youb; Rixner, Scott (2005-06-02)
      This paper analyzes the behavior of high-performance web servers along three axes: packet rate, number of connections, and communication latency. Modern, high-performance servers spend a significant fraction of time executing the network stack of the operating system---over 80% of the time fora web server. These servers must handle increasing packet ...
    • Planarization of Graphs Embedded on Surfaces 

      Djidjev, Hristo N.; Venkatesan, Shankar M. (1995-06-02)
      A planarizing set of a graph is a set of edges or vertices whose removal leaves a planar graph. It is shown that if G is an n vertex graph of maximum degree d and orientable genus g, then there exists a planarizing set of O(sqrt(dgn)) edges. This result is tight within a constant factor. Similar results are obtained for planarizing vertex sets and ...
    • Plinko: Building Provably Resilient Forwarding Tables 

      Cox, Alan L.; Rixner, Scott; Stephens, Brent (2013-07-18)
      This paper introduces Plinko, a network architecture that uses a novel forwarding model and routing algorithm to build networks with forwarding paths that, assuming arbitrarily large forwarding tables, are provably resilient against t link failures, ∀t ∈ N. However, in practice, there are clearly limits on the size of forwarding tables. Nonetheless, ...
    • Polymorphism for Imperative Languages without Imperative Types 

      Wright, Andrew (1993-02-18)
      The simple and elegant Hindley/Milner polymorphic type discipline is the basis of the type system of Standard ML, but ML's imperative features are a blight on this otherwise clean landscape. Polymorphism and imperative features cannot freely coexist without compromising type safety, hence Standard MLassigns imperative types of limited polymorphism ...
    • Portable Techniques to Find Effective Memory Hierarchy Parameters 

      Cooper, Keith D.; Sandoval, Jeffrey (2011-12-13)
      Application performance on modern microprocessors depends heavily on performance related characteristics of the underlying architecture. To achieve the best performance, an application must be tuned to both the target-processor family and, in many cases, to the specific model, as memory-hierarchy parameters vary in important ways between models. ...
    • Power Mode Scheduling for Ad Hoc Network Routing 

      PalChaudhuri, Santashil (2002-04-27)
      An ad hoc network is a group of mobile wireless nodes that cooperatively form a network among themselves without any fixed infrastructure. Each node in the ad hoc network forwards packets for other nodes, to allow nodes not within direct wireless transmission range to communicate, using a routing protocol. Increasingly, power consumption within ad ...
    • Practical Soft Typing 

      Wright, Andrew (1994-08)
      Soft typing is an approach to type checking for dynamically typed languages. Like a static type checker, a soft type checker infers syntactic types for identifiers and expressions. But rather than reject programs containing untypable fragments, a soft type checker inserts explicit run-time checks to ensure safe execution. Soft typing was first ...
    • Practical Techniques to Augment Dependence Analysis in the Presence of Symbolic Terms 

      Goff, Gina (1997-05)
      Dependence analysis is an indispensable tool in the automatic vectorization and parallelization of sequential programs, but performing symbolic dependence analysis can be costly and may fail to resolve many unknown terms. In this thesis, we explore ways to overcome the problems symbolic terms create for dependence analysis. We investigate three ...
    • Predicting protein-ligand interactions from primary structure 

      Bandyopadhyay, Raj; Matthews, K; Subramanian, D; Tan, X-X (2002-02-15)
      One of the key challenges in the post-genomic era is to understand protein-ligand interactions on a large scale. The question is: Given the primary structures of a protein and a ligand, how well can we computationally predict whether the ligand will bind to the protein? Wet laboratory experiments using combinatorial peptide screens and phage display ...
    • Probabilistic Clock Synchronization Service in Sensor Networks 

      Johnson, David B.; PalChaudhuri, Santashil; Saha, Amit (2003-04-16)
      Recent advances in technology have made low cost, low power wireless sensors a reality. Clock synchronization is an important service in any distributed system, including sensor network systems. Applications of clock synchronization in sensor networks include data integration in sensors, sensor reading fusion, TDMA medium access scheduling, and power ...
    • Programming Languages for Reusable Software Components 

      Flatt, Matthew (1999-07-20)
      Programming languages offer a variety of constructs to support code reuse. For example, functional languages provide function constructs for encapsulating expressions to be used in multiple contexts. Similarly, object-oriented languages provide class (or class-like) constructs for encapsulating sets of definitions that are easily adapted for new ...
    • Puppeteer: Component-based Adaptation for Mobile Computing 

      Lara, Eyal de; Wallach, Dan S.; Zwaenepoel, Willy (2000-07-06)
      Puppeteer is a system for adapting component-based applications in mobile environments. Puppeteer takes advantage of the component-based nature of the applications to perform adaptation without modifying the applications. We illustrate the power of Puppeteer by demonstrating adaptations that would otherwise require significant modifications to the ...
    • RCMP: A System Enabling Efficient Re-computation Based Failure Resilience for Big Data Analytics 

      Dinu, Florin; Ng, T. S. Eugene (2013-04-30)
      Multi-job I/O-intensive big-data computations can suffer a significant performance hit due to relying on data replication as the main failure resilience strategy. Data replication is inherently an expensive operation for I/O-intensive jobs because the datasets to be replicated are very large. Moreover, since the failure resilience guarantees provided ...
    • Reasoning About Multi-Stage Programs 

      Inoue, Jun; Taha, Walid (2011-10-15)
      We settle three basic questions that naturally arise when verifying multi-stage functional programs. Firstly, does adding staging to a language compromise any equalities that hold in the base language? Unfortunately it does, and more care is needed to reason about terms with free variables. Secondly, staging annotations, as the name “annotations” ...
    • Reasoning About Staged Programs 

      Inoue, Jun; Taha, Walid (2009-07-14)
      Multi-stage programming (MSP) is a style of writing program generators---programs which generate programs---supported by special annotations that direct construction, combination, and execution of object programs. Various researchers have shown MSP to be effective in writing efficient programs without sacrificing genericity. However, correctness ...
    • Reducing the Impact of Spill Code 

      Harvey, Timothy J. (1998-07-24)
      All graph-coloring register allocators rely on heuristics to arrive at a "good" answer to the NP-complete problem of register allocation, resulting in suboptimal code due to spill code. We look at a post-pass to the allocator that removes unnecessary spill code by finding places where the availability of an unused register allows us to "promote a ...
    • Register Allocation using Bipartite Liveness Graphs 

      Barik, Rajkishore; Sarkar, Vivek; Zhao, Jisheng (2010-10-12)
      Register allocation is an essential optimization for all compilers. A number of sophisticated register allocation algorithms have been developed based on Graph Coloring (GC) over the years. However, these algorithms pose three major limitations in practice. First, construction of a full interference graph can be a major source of space and time ...
    • Register Allocation via Graph Coloring 

      Briggs, Preston (1992-04)
      Chaitin and his colleagues at IBM in Yorktown Heights built the first global register allocator based on graph coloring. This thesis describes a series of improvements and extensions to the Yorktown allocator. There are four primary results: Optimistic coloring—Chaitin's coloring heuristic pessimistically assumes any node of high degree will not be ...