Now showing items 147-166 of 245

    • Object-oriented Programming Languages Need Well-founded Contracts 

      Felleisen, Matthias; Findler, Robert Bruce; Latendresse, Mario (2001-01-01)
      Over the past few years, the notion of building software from components has become popular again. The goal is to produce systems by adapting and linking off-the-shelf modules from a pool of interchangeable components. To turn this idea into reality, the formal descriptions of software components need to specify more than the type signatures of their ...
    • Object-Oriented Type Inference for Telescoping Languages 

      Allen, Eric; Kennedy, Ken; McCosh, Cheryl (2004)
      The telescoping-languages approach achieves high performance from applications encoded as high-level scripts. The core idea is to pre-compile underlying libraries to generate multiple variants optimized for use indifferent possible contexts including different argument types. We have previously developed a type inference algorithm that enables ...
    • On Flexible Docking Using Expansive Search 

      Heath, Allison; Kavraki, Lydia E.; Moll, Mark; Schwarz, David (2005-02-22)
      The activity of most drugs is regulated by the binding of one molecule(the ligand) to a pocket of another, usually larger, molecule, which is commonly a protein. This report describes a new approach to creating low-energy structures of flexible proteins to which ligands can be docked. The flexibility of molecules is encoded with thousands of parameters ...
    • On-Line and Dynamic Algorithms for Shortest Path Problems 

      Djidjev, Hristo N. (2005-06-01)
      We describe algorithms for finding shortest paths and distances in aplanar digraph which exploit the particular topology of the input graph. An important feature of our algorithms is that they can work in a dynamic environment, where the cost of any edge can be changed or the edge can be deleted. For outerplanar digraphs, for instance, the data ...
    • OpenMP on Networks of Workstations 

      Lu, Honghui (2001-01-30)
      The OpenMP Application Programming Interface (API) is an emerging standard for parallel programming on shared memory architectures. Networks of workstations (NOWs) are attractive parallel programming platforms because of their good price/performance ratio, as well as their and their potential to scale. This work is the first to extend the support for ...
    • Operating system support for server applications 

      Banga, Gaurav (1999-05-25)
      General-purpose operating systems provide inadequate support for large-scale servers. Server applications lack sufficient control over scheduling and management of machine resources, which makes it difficult to enforce priority policies, and to provide robust and controlled service. For example, server applications cannot provide differentiated quality ...
    • Opportunities and Limits of Remote Timing Attacks 

      Crosby, Scott A.; Riedi, Rudolf H.; Wallach, Dan S. (2007-05-26)
      Many algorithms can take a variable amount of time to complete depending on the data being processed. These timing differences can sometimes disclose confidential information. Indeed, researchers have been able to reconstruct an RSA private key purely by querying an SSL web server and timing the results. Our work analyzes the limits of attacks based ...
    • Optimizing Energy to Minimize Errors in Approximate Ripple Carry Adders 

      Kedem, Zvi M.; Mooney, Vincent J.; Muntimadugu, Kirthi Krishna; Palem, Krishna V. (2011-07-25)
      We present a theoretical foundation and a methodology for automatically assigning supply voltages to approximate ripple carry adders in which accuracy is traded for energy consumption. The error minimization problem for a fixed energy budget is formulated as a binned geometric program. We first use geometric programming to minimize the average error ...
    • Optimizing Fortran90D/HPF for Distributed-memory Computers 

      Roth, Gerald H. (1997-05-29)
      High Performance Fortran (HPF), as well as its predecessor FortranD, has attracted considerable attention as a promising language for writing portable parallel programs for a wide variety of distributed-memory architectures. Programmers express data parallelism using Fortran90 array operations and use data layout directives to direct the partitioning ...
    • Optimizing Programs over the Constructive Reals 

      Lee, Vernon A. (1998-04-08)
      A real number x is constructive if an algorithm can be given to compute arbitrarily accurate approximations to x. An efficient implementation of constructive real arithmetic could be used for prototyping numerical programs, experimenting with numerical algorithms, to distinguish round-off errors from algorithmic errors, and to perform computations ...
    • 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 ...